Compare
total-agent-memory vs agentmemory
Both give coding agents persistent memory over MCP and run on your machine. agentmemory is a Node service on the iii engine with hooks and a viewer; total-agent-memory is a Python server with one SQLite file, local embeddings by default and a team server. Honest differences, same benchmark.
Facts about agentmemory were checked on October 9, 2026 against its public source. Facts about total-agent-memory are current for the version in the site header.
The short version
agentmemory and total-agent-memory (TAM) solve the same problem for the same tools: Claude Code, Codex CLI, Cursor, Gemini CLI, OpenCode and any MCP client start every session blank, and both projects give them a memory that survives. Both run on your machine. Both are open source.
They differ in runtime and defaults. agentmemory is a TypeScript service that runs on the iii engine, a separate pinned binary, and uses four local ports. Its keyless mode searches with BM25 only; vector search needs an embedding provider, local or hosted. TAM is a Python server with one SQLite file; the local embedding model is the default, so search by meaning works out of the box without a key, and no LLM is called on the save or search path.
Side by side
| agentmemory | total-agent-memory | |
|---|---|---|
| Runtime | Node.js 20+, iii engine binary, 4 ports | Python 3.11+, one process, SQLite file |
| Install | npx -y @agentmemory/agentmemory@latest, interactive setup | npx -y total-agent-memory connect claude-code or the Claude Code plugin |
| Search without a key | BM25 keyword only | BM25 plus local embeddings plus graph, fused |
| Capture | Hooks for Claude Code, Codex, Cursor and others | Capture hooks and a memory-protocol skill for Claude Code; connect for every client in the quick start |
| Viewer | Local viewer on its own port | Local dashboard on 127.0.0.1:37737 |
| Teams | Remote deployment with a shared secret | Team server with personal, team and shared scopes, tokens and audit |
| Windows | Native needs a manual iii.exe install; WSL2 or Docker otherwise | Native install script and Scheduled Task for services |
| Licence | Apache-2.0 | MIT |
| Community | 29,260 GitHub stars | 72 GitHub stars |
Facts about agentmemory come from its README on the date above. If something is out of date, open an issue and this page gets corrected.
The same benchmark, read carefully
Both projects report LongMemEval retrieval. agentmemory reports R@5 of 95.2% on LongMemEval-S with local all-MiniLM-L6-v2 embeddings. TAM reports R@5 of 95.1% on the 470 non-abstention questions, measured on version 13 through the real search path. The two runs use different harnesses and different question subsets, so a tenth of a point between them means nothing. What you can check is reproducibility: TAM’s per-question answers and verdicts are in the repository, and a maintainer of the LongMemEval benchmark recomputed our results from the saved files.
Neither number is answer accuracy. Both are “did the right passage come back in the top five”.
When to pick agentmemory
- You want the larger community and the wider set of agent plugins and hooks.
- You are fine running a separate engine binary and several local ports.
- Keyword search is enough until you add an embedding provider.
When to pick total-agent-memory
- You want one process and one file, with semantic search working before you configure anything.
- You need a team server you run yourself, with scopes per person and per team.
- You care that no model is called when memories are saved or searched, which the test suite enforces.
Install takes one command: see the quick start.