
memo
by jagoff
memo
Your coding agent starts every session with amnesia. memo fixes that — 100% on your own machine.
Persistent, searchable memory for Claude Code, Codex, Cursor, Cline, Devin, and OpenCode. No cloud, no API keys, no Ollama, no vector DB to run. And it spends fewer tokens, not more.

Install
curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.6.2/install.sh | bash
<sub>Prefer a package manager? uv tool install mlx-memo · pipx install mlx-memo · brew tap jagoff/memo && brew install mlx-memo</sub>
Then:
memo doctor # self-check
memo save 'we use Postgres, not Mongo' # save a decision
memo search 'what database did we pick?' # search by meaning
That's it. Your agents pick it up over MCP automatically — the installer wires every client it finds.
<details> <summary>Installing on another Mac or handing setup to an agent?</summary>New Mac:
curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.6.2/install.sh | bash
memo sync bootstrap [email protected]:yourname/memo-sync.git
Agent-managed setup:
curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.6.2/install.sh | bash
memo doctor --strict-runtime
</details>
On Linux or just want to look around first?
docker run --rm ghcr.io/jagoff/memo:latest memo doctor
Why this saves you money
Most memory servers add context. memo is built to remove it.
| Profile | Tools | Schema tokens |
|---|---|---|
agent (default) | 38 | ~3.8k |
core / slim | 55 | ~5.0k |
full / default | 159 | ~18k |
The default MCP surface is 38 tools, not 159: about 79% fewer tool schemas. It exposes 38 tools / ~3.8k schema tokens versus 159 tools / ~18k tokens on the full surface — overhead paid every session, in every client.
Ambient recall injects one relevant memory before the model answers. The bundled Claude Code hook caps that injection at ~160 tokens. memo roi reads the real grounding and re-ask ledgers, then estimates accumulated savings with disclosed defaults (350 tokens per grounded recall and 900 per avoided re-ask).
memo roi # value from grounded recalls and avoided re-asks
memo tokens # usage-savings ledger
Three things nothing else does
🕰️ Time-machine — query your knowledge as it was
memo as-of ask "what was the deploy strategy?" --date 2026-02-01
memo diff --from 2026-01-01 --to 2026-03-01
Full historical reconstruction by reverse-replaying history.db. Useful when you need to know why past-you made a call, not just what past-you decided.
⚡ Contradiction radar — memory that notices when you change your mind
memo contradict scan # find conflicting facts corpus-wide
memo contradict triage # resolve: fuse / newer-wins / dismiss
Change a decision and memo flags the now-stale version, so the agent stops reintroducing what you already threw out.
🔮 Dream — i
Related servers

n8n
by n8n-io
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

@modelcontextprotocol/server-everything
OfficialMCP server that exercises all the features of the MCP protocol

@modelcontextprotocol/server-filesystem
OfficialMCP server for filesystem access
