Skip to content

Releases: integratedcomputersolutions/mnem-o-matic

Funes

17 Mar 17:05
5420477

Choose a tag to compare

Funes Pre-release
Pre-release

Mnem-O-matic v1.0.0 — "Funes"

Highlights

11 MCP Tools
store_document, store_knowledge, store_note — with upsert semantics (no duplicates), full Pydantic validation, and automatic embedding on store. update_, delete_, tag, and search
round out the full CRUD surface.

Hybrid Search
Full-text (FTS5) and semantic (vector) search combined via Reciprocal Rank Fusion. Finds exact keyword matches and conceptually related content in a single query. Gracefully degrades
to fulltext-only if no embedder is available.

Local Embeddings — No API Key Required
Ships with all-MiniLM-L6-v2 (INT8 quantized, 22 MB) via ONNX Runtime. Embeddings run entirely on-device. Alternatively, point MNEMOMATIC_EMBED_URL at any Ollama-compatible endpoint
and use the lightweight image instead.

Two Docker Images

  • full (~316 MB) — batteries included, local ONNX embedder, works out of the box
  • lite (~120 MB) — distroless runtime, external embedder via MNEMOMATIC_EMBED_URL

TLS on Your LAN
Caddy reverse proxy included. Automatic HTTPS for local network deployments via mkcert — no manual certificate management or public CA required.

6 MCP Resources
Read-only browsing of namespaces, documents, knowledge, and notes via mnemomatic:// URIs.

Concurrent Clients
Per-thread SQLite connections (threading.local()), WAL mode, busy_timeout, and tuned PRAGMAs. Handles 5–10 simultaneous MCP clients without contention.

Bearer Token Auth
Optional API key protection via MNEMOMATIC_API_KEY. Uses hmac.compare_digest for timing-safe comparison.


Correctness & Quality

  • Partial update validation — update_* tools fetch, merge, and validate through the full Pydantic model before writing. Empty or invalid values can no longer bypass construction-time
    validators.
  • FTS/semantic query separation — The FTS5-escaped query is never passed to the embedding model. Operators like AND/OR no longer corrupt semantic search results.
  • Upsert deduplication — Storing an existing item (matched by namespace + title/subject) updates it in place. Response includes "created": false so callers know what happened.
  • 155 unit tests passing across 5 test files covering DB, auth, embedder errors, input validation, and the live MCP API.

Known Limitations

  • No bulk import/export (CSV/JSON)
  • No namespace management tools (create, delete, rename)
  • No stats tool (item counts, storage usage)
  • No rate limiting or request queuing
  • Single-node only — no replication