A journal entry from last Tuesday and a coding rule that never changes do not belong in the same bucket: the episodic layer decays on a 30-day half-life while procedural memories are loaded at startup and rarely move. Facts are superseded rather than overwritten, so the chain from “Team uses React 17” to “Team uses React 19” is still readable when you need to know what changed and when.
A local memory store for MCP clients. Memories go into four layers — episodic for events, semantic for facts, procedural for rules, resource for reference material — each with its own access pattern and decay, and everything lives in a single SQLite database on your machine.
- Ten tools over the store: `memory_add` with layer, entity, confidence, importance and an optional TTL, plus `memory_search`, `memory_update`, `memory_delete` and `memory_inspect`
- Versioning rather than overwriting — an update can supersede instead of replacing, search returns only the current version, and deleting one re-activates its predecessor so nothing is lost
- Four search modes: full text with BM25 ranking, exact substring, vector, and hybrid fusing the first and third by Reciprocal Rank Fusion
- Stemming at both index and query time for English and Russian, so “running” matches “runs”
- Sessions to group a working stretch: `memory_session_start` returns an ID to attach memories to, `memory_session_end` takes a summary, `memory_session_list` shows what happened when
- `memory_health` — expired entries, orphaned superseding chains, stale and never-accessed memories, low-confidence entries, with optional clean-up
- `memory_export` to JSON, Markdown or a compact claude-md format, filtered by layer, scope or date range
- Four resources — `memory://stats`, `memory://recent`, `memory://layer/{layer}`, `memory://entity/{name}` — and three prompts: `recall`, `context-load`, `journal`
`npm install -g mnemon-mcp`, then point your client at the `mnemon-mcp` command over stdio. No account, no key, no cloud: the database is created on first run at `~/.mnemon-mcp/memory.db`, and `MNEMON_DB_PATH` moves it elsewhere. Vector and hybrid search are optional and bring-your-own-key — set `MNEMON_EMBEDDING_PROVIDER` to `openai` with `MNEMON_EMBEDDING_API_KEY`, or to `ollama` to keep it on your machine. With neither set, search stays on full text and needs no model and no download.
One command — npm install -g mnemon-mcp
