Releases: integratedcomputersolutions/mnem-o-matic
Funes
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