@mnemo-mcp/cli
v2.0.0
Published
Mnemo CLI — install Mnemo into Claude Code, capture and recall memories from your terminal
Maintainers
Readme
Mnemo
Persistent memory for Claude Code. Your AI never starts from scratch again.
Mnemo gives Claude Code a brain that survives across sessions. It captures decisions, conventions, and preferences — and recalls them by meaning, on demand, with sub-100ms semantic search.
Install
# install the CLI
npm install -g @mnemo-mcp/cli
# install Mnemo into Claude Code (skill + MCP server)
mnemo init
# (optional) also wire auto-capture hooks
mnemo init --with-hooks
# verify
mnemo doctorAfter mnemo init, restart Claude Code. The /mnemo skill and the mnemo_* MCP tools are now available — Claude will use them automatically when relevant.
Use it from the terminal too
mnemo remember "our API auth uses OAuth2 with refresh tokens every 30min"
mnemo remember --global "I prefer pnpm over npm"
mnemo recall "what's our auth pattern?"
mnemo list
mnemo stats
mnemo forget <id>
mnemo export --out memories.json
mnemo import memories.jsonWhat Mnemo solves
Claude Code forgets everything when the session ends. CLAUDE.md partially helps — it's a static blob loaded on every turn — but it grows unwieldy fast and can't answer "do we have a precedent for X?"
Mnemo gives you semantic, on-demand memory:
| | CLAUDE.md | Mnemo |
|---|---|---|
| Capacity | A handful of paragraphs before token cost hurts | Tens of thousands of memories |
| Retrieval | Always loaded, every turn | On demand, by meaning |
| Updates | You edit a file by hand | Captured automatically or via /teach |
| Cross-project | Per-project only | Project + global tiers |
| Forgetting | Manually delete lines | mnemo forget <id> or /forget |
How it works
Claude Code session
├── /mnemo skill ← teaches Claude when to call the tools
├── @mnemo-mcp/server server ← exposes recall/remember/forget/list/stats
└── @mnemo-mcp/cli hooks ← session-start, pre-task, post-edit auto-wiring
│
▼
@mnemo-mcp/core
├── ONNX all-MiniLM-L6-v2 (384-dim embeddings, ~25MB, lazy)
├── HNSW vector index (sub-100ms recall at 50k memories)
└── sql.js (WASM SQLite) (~/.mnemo/memory.db)Everything is local-first. No daemon. No cloud account. No telemetry.
Auto-capture rules
By default the post-edit hook captures any change to:
CLAUDE.md,AGENTS.md,GEMINI.md*.adr.mddocs/decisions/**docs/adr/**
Anything you write to those files becomes a project memory automatically. Disable with mnemo init (no --with-hooks).
Recall scoring
score = 0.7 × cosine_similarity + 0.2 × recency + 0.1 × access_boostRecency decays with a 30-day half-life. Access boost saturates at 20 reads.
Layout
@mnemo-mcp/core — pure TS memory engine
@mnemo-mcp/server — MCP server (drop into Claude Code)
@mnemo-mcp/cli — terminal commands + hook handlers + initRoadmap
- ✅ v0.1 — core engine + CLI
- ✅ v0.2 — MCP server (5 tools)
- ✅ v0.3 — hooks (session-start, pre-task, post-edit)
- ✅ v0.4 —
/mnemoskill - ✅ v1.0 —
mnemo init, beefier doctor, CI, polish - ⏳ v1.1 — team mode (git-synced shared memory)
- ⏳ v2.0 — opt-in hosted sync, web UI
Development
npm install
npm test # fast (44 tests, hash embedder)
MNEMO_TEST_ONNX=1 MNEMO_E2E=1 npm test # full incl. real ONNX (~5s)
npm run build
npm run lintLicense
MIT — see LICENSE.
