Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Persistent local memory for coding agents: temporal knowledge graph, procedural and episodic recall
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"total-agent-memory": {
"command": "uvx",
"args": [
"total-agent-memory"
]
}
}
}Run this in your terminal
claude mcp add total-agent-memory -- uvx total-agent-memoryPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"total-agent-memory": {
"command": "uvx",
"args": [
"total-agent-memory"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"total-agent-memory": {
"type": "stdio",
"command": "uvx",
"args": [
"total-agent-memory"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account vbcherepanov, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (14.10.0) reached the registry 8 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Persistent, local memory for AI coding agents: Claude Code, Codex CLI, Cursor and any MCP client.
Website and documentation: [totalmemory.dev](https://totalmemory.dev) · Quick start · Claude Code guide · Benchmarks · Compare with other tools
total-agent-memory (TAM) is an open-source memory server for AI coding agents. Coding agents start every session without memory of earlier ones, so decisions, fixes and project conventions have to be explained again. TAM stores decisions, solutions, facts, errors and session summaries on your machine and returns them through the Model Context Protocol (MCP), so any MCP client can use it without code changes.
Each store is one directory built around a SQLite database. Recall combines full-text BM25, dense embeddings computed locally, fuzzy matching and a knowledge graph, and fuses the ranked lists with reciprocal rank fusion. A local cross-encoder then reranks the result: by default it starts as soon as its model has loaded in the background, and MEMORY_CROSS_RERANK=off turns it off. The default profile makes no LLM call on write or search, so retrieval can be measured offline. With the cross-encoder off, reruns on fresh stores returned the same ranking for every LoCoMo question. With the default setting the first queries of a process can run before the model has loaded, so reruns are not guaranteed to match. Facts can carry validity intervals (kg_add_fact, kg_at), and a newer value of a single-valued fact can retire the older one.
TAM is for developers who use coding agents daily and for researchers who need a memory baseline they can run locally, inspect and change. The same package can also run as a team server: personal, department and company areas are separate stores behind one gateway, with roles, authorship and an audit trail (team server).
TAM needs Python 3.11 or newer. CI tests Python 3.11, 3.12 and 3.13 on Ubuntu, Windows and macOS.
From PyPI (use a virtual environment, or pipx / uvx):
pip install total-agent-memory # or: pipx install total-agent-memory
uvx total-agent-memory # run once without installing
This installs the total-agent-memory (alias tam) MCP server and the tam-team, tam-remote and lookup-memory commands. The default cross-encoder runs on ONNX through fastembed and needs no extra. A separate sentence-transformers reranker pulls in PyTorch and is an extra: pip install "total-agent-memory[rerank]". The PostgreSQL backend of the team server is the [postgres] extra.
Register it with your clients. Run tam setup at a terminal. The wizard asks "Just me" or "Company server", detects Claude Code, Claude Desktop, Codex, Cursor, Windsurf, Gemini CLI, Cline and OpenCode, and registers the server with the ones you pick (setup wizard).
Other channels:
| Channel | Command |
|---|---|
| Docker (linux/amd64, linux/arm64) | docker run -p 127.0.0.1:3737:3737 -p 127.0.0.1:37737:37737 -v ~/.tam:/data ghcr.io/vbcherepanov/total-agent-memory:14.10.0 — MCP over HTTP on :3737/mcp, dashboard on :37737; both need the token in ~/.tam/state/http-token (Authorization: Bearer, dashboard: open /login#token=..., the token stays in the URL fragment and is exchanged for an opaque session cookie) |
| npx connector | npx -y total-agent-memory connect claude-code (or codex, cursor, cline, continue, aider, windsurf, gemini-cli, opencode) |
| Claude Code plugin (server, skill and capture hooks) | /plugin marketplace add vbcherepanov/total-agent-memory /plugin install total-agent-memory@vbcherepanov | | Plugin for Claude Code and Cowork, from the plugin repository (server and skill, no hooks; needs uv) | /plugin marketplace add vbcherepanov/total-agent-memory-plugin /plugin install total-agent-memory@vbcherepanov | | The same plugin for Codex CLI | codex plugin marketplace add vbcherepanov/total-agent-memory-plugin codex plugin add total-agent-memory@vbcherepanov | | Source checkout with IDE hooks and background services | git clone https://github.com/vbcherepanov/total-agent-memory.git && cd total-agent-memory && ./install.sh --ide claude-code (Windows: install.ps1 -Ide claude-code) |
Use one of the two Claude Code plugins, not both. Per-platform details, WSL2, the IDE matrix, uninstalling and troubleshooting are in the installation guide.
tam setup, or add the server to your client by hand. For Claude Code: claude mcp add memory -- total-agent-memory
For clients that use an mcpServers file:
{ "mcpServers": { "memory": { "command": "total-agent-memory" } } }
If you installed into a virtual environment, use the full path to its total-agent-memory executable.
~/.tam/ unless TAM_MEMORY_DIR points elsewhere.memory_save. In a later session, ask "which database did we choose for billing?"; it calls memory_recall and gets the record back.To try the server without an agent, this script starts it over stdio with the MCP Python SDK (installed as a dependency), saves one record and recalls it. The SDK passes only a few variables to the server by default, so the script hands over the full environment, including TAM_MEMORY_DIR:
import asyncio
import os
from mcp import ClientSession, StdioServerParameters from mcp.client.stdio import stdio_client
async def main() -> None: server = StdioServerParameters(command="total-agent-memory", env=dict(os.environ)) async with stdio_client(server) as (read, write): async with ClientSession(read, write) as session: await session.initialize() await session.call_tool("memory_save", { "type": "decision", "content": "Chose PostgreSQL over MySQL for the billing service", "context": "WHY: row-level security per tenant", "project": "demo", }) result = await session.call_tool("memory_recall", { "query": "which database for billing", "project": "demo", "limit": 3, }) print(result.content[0].text)
asyncio.run(main())
TAM_MEMORY_DIR="$(mktemp -d)" python quickstart.py
The first run downloads the default embedding model. The output is JSON with the saved decision under results.decision. More examples: tools and interfaces.
The tests run from a source checkout. These commands mirror the CI workflows in .github/workflows:
git clone https://github.com/vbcherepanov/total-agent-memory.git
cd total-agent-memory python3 -m venv .venv .venv/bin/pip install -e . -r requirements-dev.txt
export FASTEMBED_CACHE_PATH="$PWD/.tam-models" TAM_MEMORY_DIR="$PWD/.tam-test-memory" .venv/bin/python tests/smoke/prewarm_models.py # downloads the text and code embedding models and the cross-encoder (~940 MB) once .venv/bin/python -m pytest tests -q
The tests need no API keys and no LLM; the full suite takes 15 to 20 minutes on a laptop. Do not set MEMORY_LLM_ENABLED=false for the full suite: the configuration tests check LLM auto-detection. Tests that need services you do not have are skipped:
.venv/bin/pip install -e ".[postgres]", then run .venv/bin/python -m pytest tests -m postgres --backend=postgres or --backend=both. Without TAM_TEST_PG_URL the fixtures start a pgvector container through Docker. See CONTRIBUTING.md and .github/workflows/postgres.yml.tests/browser, Playwright with Chromium, Firefox and WebKit) run in the image built from docker/Dockerfile.browser; see the browser job in .github/workflows/smoke.yml.python tests/smoke/installed_runtime.py checks an installed wheel over local and remote MCP.The retrieval benchmarks (LoCoMo, LongMemEval, BEAM) need no API key and run with scripts in benchmarks/ once the public datasets are downloaded. The table below was measured on v13.0.0, before the cross-encoder became the default in 14.5, so it describes retrieval without the cross-encoder and not a default install of the current version:
| Benchmark | Metric | Result |
|---|---|---|
| LongMemEval (470 questions) | R@5 (recall_any) | 95.1% |
| LoCoMo (1,536 questions) | R@5 | 0.607 |
| BEAM, 1M-token scale (625 probes) | R@5 | 0.448 |
Default settings score higher on LoCoMo and take much longer per query. In the JOSS review of v14.6.0 the editor measured R@5 of about 0.745 at about 495 ms median with the defaults, against 0.607 at about 18 ms with MEMORY_CROSS_RERANK=off. Our own reruns with the cross-encoder off gave R@5 0.610 on v14.6.0 and 0.609 on v14.10.0 (rows and reports). A full measurement of the default configuration is planned for the next release.
Dataset locations, commands, end-to-end (LLM-judged) accuracy, negative controls, latency and the 14.x studies are in docs/benchmarks.md.
tam setup and the team server's web wizardOnly the beginning is shown; read the rest in the repo