How it works Install Benchmarks Compare Modules Registry GitHub Install mneme
Open source · Apache-2.0 · v3.5.0 · On the official MCP Registry

Memory you can audit,
not just trust.

Accountable, vault-native memory for Claude Code and any MCP client. 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.

pipx install mneme-cc-plugin && mneme install
Apache-2.0 PyPI npm MCP Registry
derivation ledger · from vault.md
FTS5 index
full-text search
sha256 a91f…
rebuildable
dense embeddings
local · opt-in
sha256 7c20…
never authoritative
knowledge graph
temporal claims
sha256 3df8…
rebuildable
Σ summaries
zero-LLM
sha256 e5b1…
rebuildable
mneme rebuild --all · regenerated from source Stop hook p95 2 ms
mneme, named for Mnemosyne, the Greek goddess of memory and mother of the nine Muses, holding an armillary sphere among the constellations

mneme takes its name from Mnemosyne, the Greek personification of memory and mother of the nine Muses. Memory is the ground truth from which everything else is recalled.

§ core invariants

Three things that never change

These guarantees hold regardless of configuration. A user config can never override a built-in invariant.

I

Markdown is the source of truth

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.

vault-native · rebuildable
II

No LLM on the Stop or critical path

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 2 ms locked · seed-42
III

Redaction before every derived store

Configured 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-safe
§ architecture

How it works

A deterministic pipeline from your vault to queryable, rebuildable derived stores. No model on the write path.

SOURCE
Markdown Vault
.md.md.md
source of truth
HOOK
Stop Hook
deterministic · no LLM
no network · p95 2 ms
sync capture → bg processing
GATE
Redaction
privacy gate
before every store
DERIVED ↓
DERIVED · rebuildable · never authoritative
FTS5 full-text search
Dense embeddings
KG knowledge graph
Σ summaries
$ mneme rebuild --all · every derived store regenerates from the vault
§ installation

Get started in three commands

Install whichever components fit your setup — the Claude Code plugin, the core engine, or the standalone MCP server for any MCP client.

CLAUDE CODE

Plugin

pipx install mneme-cc-plugin && mneme install

Installs the plugin and wires the Stop hook into your local Claude Code instance.

PYTHON

Core Engine

pip install mneme-core

Standalone engine: vault indexing, FTS5, dense retrieval (opt-in), redaction, and the benchmark harness.

Available on PyPI.
NPM

MCP Server

npm install -g mneme-mcp-server

Provides the mneme-mcp command. Use with any MCP-compatible client.

On npm.
§ performance

Benchmarks

Reproducible regression anchors measured on a seeded synthetic corpus. Not real-world generalizability claims.

Benchmark results — seed 42 synthetic corpus make bench-all
0.893/ 1.0
Retrieval nDCG@5
score = 0.893 · seed-42 corpus
1.000/ 1.0
Recall@10
all relevant docs found · seed-42 corpus
Stop Hook latency — p95 headroom vs CI budget 2 ms actual · 1000 ms CI budget
0 ms250 ms500 ms750 ms1000 ms
2 ms — 99.8% of the CI budget left unused
88%
Shell-output compression — reduction in stored bytes
95%
Injection deduplication — duplicate context blocks removed
claude-mem migration — assertion coverage
Vault structure preserved
Index rebuilt correctly
Redaction rules migrated
Query results consistent
4 / 4 assertions passed on seeded migration fixture. Reproduce with make bench-migration.
§ how it compares

How it compares

This compares architectural capabilities across the dimensions mneme commits to. The cells describe design properties that are publicly verifiable from each tool's 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 claude-obsidian
Plain-markdown store you can git diff and grep~
Built-in private-tag redaction with SHA256 audit
Deterministic Stop capture, no LLM calln/an/an/an/a
Hybrid retrieval, FTS5 plus local dense, RRF-fused~~~
Temporal claim lifecycle (valid-from/to, supersedes)~~~~
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-memn/a
Local-first, no cloud account required~
Runs in Claude Code, Codex, Antigravity, any MCP client~~~~~~
LicenseApache-2.0Apache-2.0Apache-2.0Apache-2.0cloudopen sourceMIT
Team memory with a web graph UI (mneme: self-hosted git sync + local console)~
Agent autonomously rewrites its own memory (mneme: policy-graduated, rollback, audit chain)~
Auto-summarization at session end, on by default (mneme: deterministic zero-LLM)~~
Localized observation-prompt presets (mneme: en + tr)~
Built in (shipped, no flag) gated Needs opt-in dependency or flag ~ Partial Not available n/a Not applicable

For per-tool detail and an honest account of where mneme is not the right fit, see the full capability matrix.

§ advanced modules

Opt-in, local-first extensions

All modules are off by default. Nothing phones home. Enable only what you need.

Code & Vault Knowledge Graph

tree-sitter parsing for Python, JavaScript, and TypeScript extracts symbols, call graphs, and module boundaries. A deterministic, zero-API Obsidian layer turns notes into a typed knowledge graph — wikilinks, tags, embeds, and headings as nodes and edges — with modularity clustering, a content-free query, and a rebuildable graph report.

tree-sitterObsidianzero-APIopt-in

Code Memory

Parses AGENTS.md conventions and captures failure-and-fix pairs across sessions. Surfaces relevant prior solutions when patterns recur.

AGENTS.mdlocalopt-in

Domain Privacy Modes

Clinical and security-review modes that enforce stricter redaction policies and block external extraction at the config layer — not overrideable by user config.

clinicalsec-reviewopt-in

Agent-Security Layer

Capability firewall, taint tracking, and human-approval gate. Ships with a poisoned-vault benchmark for regression testing security controls.

taint trackingbuilt-inlocal

Audit Console & Web Explorer

Read-only audit surface in two forms: a static offline HTML report, and a loopback-only web explorer (mneme-console --serve) with graph, claims, changes, and audit-chain views. GET-only, refuses non-loopback binds.

HTMLofflineopt-in

Hybrid Retrieval (RRF)

Local dense retrieval fused with FTS5 via Reciprocal Rank Fusion. Combines semantic similarity and keyword precision in a single ranked result set.

RRFlocalopt-in

Context Continuity Engine

Proactive working-set checkpoints at configurable context-fill thresholds make compaction loss recoverable. After a compaction the engine detects what the host summary dropped and re-injects only those items, salience-ranked, within a token budget. Checkpoints are plain markdown in the vault. Zero-LLM, default off.

checkpointszero-LLMopt-in

Temporal Extraction

The deterministic claim lifecycle — valid-from/to, supersedes, as-of queries, and memory blame provenance — is built in on every profile. This module adds optional LLM claim extraction and Graphiti export for knowledge-graph timelines.

Graphitilocalopt-in

Obsidian & GitHub Connectors

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.

ObsidianGitHubopt-in

Team Vault Sync

Share memory over any plain git remote — no vendor cloud. Every file is redacted before it leaves the machine and a post-copy leak rescan aborts the push fail-closed. Optional age end-to-end encryption. Pulls never overwrite local notes.

git remoteage E2Eopt-in

Policy-Graduated Autonomy

A declarative policy file allows low-risk edit classes (dedup, typo, tags) to apply autonomously. Every change is journalled for one-command rollback and chained into a tamper-evident HMAC audit log. Durable categories always keep a human in the loop.

policy.jsonrollbackopt-in
§ official registry

On the MCP Registry

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 registry identity below is retained as a compatibility handle while the canonical repository, homepage, and owner links now resolve under OnourImpram.

Visit MCP Registry →
registry.modelcontextprotocol.io
io.github.TheGoatPsy/mneme
registry identity retained

Honest about where mneme fits

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 → docs/COMPETITIVE.md

Frequently asked questions

Honest answers. No aspirational claims.