Your Markdown vault stays the source of truth. Everything derived from it is rebuildable — never authoritative. No LLM on the critical path. Redaction before every store.
Open source, MIT. Any MCP client.
These guarantees hold regardless of configuration. A user config can never override a built-in invariant.
Your .md files live in your vault. Every derived store — full-text index, embeddings, knowledge graph, summaries — is computed from them and fully rebuildable from scratch. Nothing derived is ever authoritative.
Capture is fully deterministic. The Stop hook never calls a model or makes a network request. Work is captured synchronously and heavy processing happens in the background — off the hot path entirely.
p95 ~3 ms · seed-42 benchmarkConfigured redaction patterns run before anything is written to any index, embedding store, or knowledge graph. A user-level config can never weaken a built-in privacy mode — the gate is enforced at the system layer.
privacy-first · config-safeA deterministic pipeline from your vault to queryable, rebuildable derived stores. No model on the write path.
Install whichever components fit your setup — the Claude Code plugin, the core engine, or the standalone MCP server for any MCP client.
pipx install mneme-cc-plugin && mneme install .
pip install mneme-core
npm install -g mneme-mcp-server
mneme-mcp command. Use with any MCP-compatible client.
On npm.
Reproducible regression anchors measured on a seeded synthetic corpus. Not real-world generalizability claims.
make bench-all.
make bench-migration.
This compares architectural capabilities across the dimensions mneme commits to. The cells describe design properties that are publicly verifiable from each tool documentation. They are not a benchmarked ranking, and the table deliberately includes rows where another tool leads.
| Dimension | mneme | claude-mem | mem0 | Letta | Zep | Supermemory |
|---|---|---|---|---|---|---|
| Plain-markdown store you can git diff and grep | ✓ | — | — | ~ | — | — |
| Built-in private-tag redaction with SHA256 audit | ✓ | — | — | — | — | — |
| Deterministic Stop capture, no LLM call | ✓ | — | n/a | n/a | n/a | n/a |
| Hybrid retrieval, FTS5 plus local dense, RRF-fused | ✓ | ~ | ~ | ~ | ✓ | ✓ |
| Temporal claim lifecycle (valid-from/to, supersedes) | gated | — | ~ | ~ | ✓ | ~ |
| Project and code graph (tree-sitter, PR-impact) | gated | ~ | — | — | — | — |
| Adaptive token and context budget | ✓ | — | — | — | — | — |
| Agent security: capability firewall, taint, approval gate | ✓ | — | — | — | — | — |
| One-command lossless migration from claude-mem | ✓ | n/a | — | — | — | — |
| Local-first, no cloud account required | ✓ | ✓ | ~ | ✓ | — | — |
| Runs in Claude Code, Codex, Antigravity, any MCP client | ✓ | ~ | ~ | ~ | ~ | ~ |
| License | MIT | Apache-2.0 | Apache-2.0 | Apache-2.0 | cloud | open source |
| Cloud-hosted team memory with a web graph UI today | — | — | ~ | — | ✓ | ✓ |
| Agent autonomously rewrites its own memory | ~ | — | ~ | ✓ | — | — |
| Auto-summarization at session end, on by default | ~ | ✓ | — | — | ~ | ~ |
| Localized observation-prompt presets | — | ✓ | — | — | — | — |
For per-tool detail and an honest account of where mneme is not the right fit, see the capability matrix.
All modules are off by default. Nothing phones home. Enable only what you need.
tree-sitter parsing for Python, JavaScript, and TypeScript. Extracts symbols, call graphs, and module boundaries from your codebase into the knowledge graph.
Parses AGENTS.md conventions and captures failure-and-fix pairs across sessions. Surfaces relevant prior solutions when patterns recur.
Clinical and security-review modes that enforce stricter redaction policies and block external extraction at the config layer — not overrideable by user config.
Capability firewall, taint tracking, and human-approval gate. Ships with a poisoned-vault benchmark for regression testing security controls.
Read-only HTML audit console. Inspect your vault index, redaction log, and retrieval results entirely offline — no server, no external calls.
Local dense retrieval fused with FTS5 via Reciprocal Rank Fusion. Combines semantic similarity and keyword precision in a single ranked result set.
Extracts temporal claims from vault notes and exports them to Graphiti-compatible format for timeline reasoning and knowledge-graph queries.
Sync vault structure from Obsidian and ingest GitHub issue and PR context. Both connectors are opt-in and off by default — no data leaves your machine unless you enable them.
Discovery from a single, ownership-verified source — not a random GitHub link.
mneme is listed on the official MCP Registry — the canonical, project-maintained directory of Model Context Protocol servers. Any MCP client can discover and install mneme from a single verified source.
The io.github.TheGoatPsy namespace is bound to the GitHub account that owns the project — so the entry is ownership-verified, not self-asserted.
mneme publishes a straightforward account of where it is — and is not — the right tool for a given use case. No marketing hedging, no cherry-picked scenarios. Read the full capability matrix: github.com/TheGoatPsy/mneme/blob/main/docs/COMPETITIVE.md →
Honest answers. No aspirational claims.
Your Markdown files stay the source of truth and every derived store is fully rebuildable from scratch. Capture is deterministic — no LLM is on the critical path and no model call is needed to write a memory. Redaction runs before anything is stored in any index or embedding. The system is designed to be auditable and to give you full control over what is kept and what is not.
No. mneme is local-first. External extraction and remote connectors are opt-in and off by default. A built-in privacy mode cannot be weakened by user-level configuration — the enforcement is at the system layer, not just a preference you can toggle away.
The Stop hook p95 is approximately 3 ms on the seeded benchmark corpus against a 1000 ms CI budget. That leaves 99.7% of the budget unused. Heavy processing — indexing, embedding, graph updates — runs in the background and is never on the synchronous critical path of your Claude Code session.
mneme is MIT-licensed and published on PyPI and npm with a reproducible benchmark harness you can run locally. For an honest account of maturity, fit, and known limitations, see the capability matrix.