memo_askLABSCO SUMMARY
The tool surface is the recurring cost, and this one is deliberately small.
Every tool schema rides along in every session, and the README's table puts the default profile at 43 tools (the reference docs name 41) against 165 on the full one — 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.
What it is
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.
What you get
- 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 small default tool surface — the README's table puts it at 43 tools and about 9.7k schema tokens, while the reference docs name 41 — 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
Requirements
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.
Setup effort
One command — curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.14.1/install.sh | bash
USE CASES
Not re-explaining the same decision every session
Save it once — "we use Postgres, not Mongo" — and later sessions recall it by meaning, not by exact wording.
Working out why past-you made a call
Query your knowledge as it stood on a date, or diff two dates to see what changed in between.
Stopping an agent reintroducing a rejected idea
Scan for contradictions and resolve them, so the stale version stops coming back.
Carrying context between agents and machines
Reopen a session from a different agent, and sync memory to a git remote you own.
41 tools
Listed in project docs. Your client may show a different list.
memo_attention_ackmemo_attention_addmemo_conflict_openmemo_conflict_resolvememo_contextmemo_deletememo_evidence_packmemo_federation_previewmemo_focus_clearmemo_focus_setmemo_getmemo_graphmemo_handoff_consumememo_handoff_creatememo_historymemo_idle_capturememo_invalidatememo_journal_verifymemo_mark_reviewedmemo_offloadmemo_operational_statememo_outcome_recordmemo_pop_notificationmemo_procedure_candidatesmemo_procedure_promotememo_profilememo_renamememo_review_duememo_savememo_save_textmemo_searchmemo_signal_listmemo_signal_remembermemo_start_sessionmemo_supersedememo_terminal_listmemo_unified_briefingmemo_updatememo_versionmemo_write_queue_statusBEFORE YOU INSTALL
What to know first
Tools you get
41 tools named in the project's documentation.
Requires
Python ≥ 3.13
INSTALLATION
Connect your client
Server setup
Claude Code, Codex, Cursor, Cline, Devin, OpenCode
curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.14.1/install.sh | bash