Every tool schema rides along in every session, so the default profile ships 43 tools rather than 165 — about 68% less schema context, paid back on every turn in every client. The project also removed its own estimated-savings figure in 4.14.0 because multiplying counts by hardcoded constants was not a claim it could stand behind; what it reports now is grounding and re-ask counts, plus the provider's own usage counters.
Persistent, searchable memory for Claude Code, Codex, Cursor, Cline and OpenCode, running entirely on your machine. Every memory is a plain Markdown file you can read and version-control; SQLite is a derived index that rebuilds from the files.
- Hybrid recall — a vector leg (MLX on Apple Silicon, sentence-transformers on CPU) and a BM25 leg over FTS5, fused with Reciprocal Rank Fusion and optionally reranked
- A default MCP surface of 43 tools costing about 9.7k schema tokens, against 165 tools and about 30.6k on the full profile
- Ambient recall that injects one relevant memory before the model answers, capped by the bundled Claude Code hook at about 160 tokens
- A time machine — ask what was known as of a date, or diff your knowledge between two dates, reconstructed from the history database
- Contradiction handling: scan the corpus for conflicting facts, then fuse them, take the newer, or dismiss
- A nightly pass that prunes stale memories, synthesises cross-cluster insights and pre-warms the top-100 query embeddings, writing an auditable receipt each run
- Cross-agent session resume, git sync between machines, and a local chat UI over your own memory
Install with the project's script, or `uv tool install mlx-memo`, `pipx install mlx-memo`, or `brew tap jagoff/memo && brew install mlx-memo`. The installer wires every MCP client it finds; `memo doctor` self-checks the result. Startup is fully offline — remote update checks are an explicit opt-in. A Docker image covers Linux.
One command — curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.14.1/install.sh | bash
