A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
3 ★ · TheGoatPsy/mneme · read from the repository page · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 3 ★ · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository TheGoatPsy/mneme;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
> Vault-native memory for Claude Code. Markdown is ground truth. Every session starts from zero. You re-explain the same architecture, the same constraints, the same decision you already settled yesterday, and the tools that promise to fix it mostly store your conversation history in opaque SQLite blobs and call an LLM every time you finish a session. The record of your own work ends up somewhere you cannot read, cannot grep, and cannot take with you. mneme records what happened in each Claude Code session as plain markdown files in a directory you own (the vault) and indexes them with SQLite FTS5. The next session opens with a preflight block — today's headings, a git status summary, and the five most recently modified session documents — and the agent queries the index on demand through mneme_search. Here is the file the Stop hook writes. The frontmatter, heading, and summary shape come from packages/mneme-cc-plugin/src/mneme_cc_plugin/hooks/stop.py and packages/mneme-core/src/mneme_core/distill/templates/summary-en.md; the contents below are illustrative. That installs the plugin and registers the lifecycle hooks; mneme doctor verifies the result, and profiles and per-client installs are under Three-Tier Install. Claude Code registers six hook events; Codex and Antigravity map four. Any other MCP client (Kimi, Qwen, Cline, Cursor) gets the ten MCP tools through the open adapter, with no lifecycle hooks and no automatic capture. - **What it stores is a file you can open.** When a session has actually changed something in the vault, the Stop hook appends a timestamped ## HH:MM session block to vault/sessions/YYYY-MM-DD.md with type: session frontmatter, written atomically under a cross-process lock; mneme index rebuild reconstructs the FTS5 index over every markdown file in the vault, so the database is derived state you can delete. - **Closing a session costs nothing and takes 2 ms.** "No LLM call on the critical path" is enforced in CI rather than promised in prose. tools/spec_verify.py parses all six lifecycle hook modules and fails the build on any import of seven network-capable roots (anthropic, openai, requests, httpx, urllib.request, urllib3, aiohttp), and packages/mneme-cc-plugin/tests/integration/test_c3_no_network.py re-checks the full transitive import closure of the three hot-path hooks at runtime, where a static scan cannot see. The Stop-hook proxy benchmark measures 2 ms at p95 over 100 sessions against a 1000 ms ceiling: benchmarks/latency/p95_guard.py enforces that ceiling inside the same path-scoped benchmark workflow described below, and packages/mneme-cc-plugin/tests/unit/test_stop_performance.py re-checks it over 100 real Stop calls on every CI run, which carries no path filter. - **Search quality cannot silently degrade.** A pull request that drops production-FTS5 nDCG@5 more than 0.02 below the locked baseline (0.8006, reported as 0.801), drops Recall@10 more than 0.05 below 1.00, or fails the out-of-vocabulary negative probe fails the build — benchmarks/retrieval/regression_guard.py, run by .github/workflows/bench.yml on every pull request and every push to main that touches packages/mneme-core, packages/mneme-mcp, benchmarks/, or the workflow file itself. Scope and limits Those numbers come from the in-repo benchmark suite, seeded with MNEME_BENCH_SEED=42. Benchmark A uses a 500-document corpus. Benchmark E uses its default 300-document, 30-query fixture. Reproduce with make bench-all. Both figures above — the 0.801 and the 2 ms — carry the note that governs every figure in this README: > **Note:** All figures below are deterministic regression anchors computed on a seeded synthetic corpus; they are not real-world quality measurements (see ADR-012). **Retrieval claims follow the reachable path.** The production mneme_search path is FTS5 BM25. The Python core contains an experimental feature-hashed lexical-vector backend and an RRF fusion protocol used by unit tests and synthetic benchmarks, but that backend is not wired into the MCP server or installer. Full-profile summarize and timeline can add gated local Graphiti and Neo4j fields. A true semantic embedding backend remains roadmap. **Privacy and network.** Inline tag redaction at staging write with SHA256 audit log. Zero outbound network calls except opted-in compression LLM and optional local Neo4j. Compression happens in the background, opt-in, with a cost cap.