Persistent memory MCP server for Claude Code & Codex CLI — self-improving agent with 4-tier search, 20 tools
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"claude-total-memory": {
"args": [
"-y",
"total-agent-memory"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Claude forgets everything between sessions. This fixes that.
This server supports HTTP transport. Be the first to test it — help the community know if it works.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked total-agent-memory against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in ai-ml / productivity
Persistent memory using a knowledge graph
Dynamic problem-solving through sequential thought chains
Workspace template + MCP server for Claude Code, Codex CLI, Cursor & Windsurf. Multi-agent knowledge engine (ag-refresh / ag-ask) that turns any codebase into a queryable AI assistant.
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
MCP Security Weekly
Get CVE alerts and security updates for Claude Total Memory and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
The only memory layer that learns how you work — not just what you said. Persistent, local memory for AI coding agents: Claude Code, Codex CLI, Cursor, any MCP client. Temporal knowledge graph · procedural memory · AST codebase ingest · cross-project analogy · 3D WebGL visualization.
Why this, not mem0 / Letta / Zep / Supermemory / Cognee? → docs/vs-competitors.md
Bugfix release. Four v11 W3 MCP tools — memory_recall_iterative,
memory_temporal_query, memory_entity_resolve, memory_consolidate_status —
were silently broken on main: the dispatcher forwarded an out-of-scope
args symbol, the resulting NameError was swallowed by call_tool's
exception handler, and clients saw "Error: name 'args' is not defined".
Fix passes the per-call args, with regression coverage via
tests/test_v11_dispatch_args.py.
Also aligns the Codex installer env with the .tam memory layout
(TAM_MEMORY_DIR canonical, CLAUDE_MEMORY_DIR kept as compatibility alias,
MEMORY_MODE=fast default) and isolates install tests from real
launchctl / systemctl / XDG directories. Full notes in
CHANGELOG.md.
Claude Code v2.1.139+ emits subagent IDs on every API request
(x-claude-code-agent-id / x-claude-code-parent-agent-id HTTP headers,
plus the same fields as agent_id / parent_agent_id attributes on the
claude_code.tool and claude_code.llm_request OTEL spans). v12.1 wires
these through end-to-end:
028_agent_lineage.sql) — nullable agent_id and
parent_agent_id columns on knowledge, partial indexes (WHERE … IS NOT NULL)
so lineage filters are free.memory_save and memory_save_fast accept two new
optional inputs: agent_id and parent_agent_id. Old callers see no
behaviour change.extract_transcript.py — reads agent_id / agentId /
parent_agent_id / parentAgentId from .jsonl when Claude Code writes
them, and falls back to isSidechain=true as a proxy: sessions with any
sidechain activity get agent_id = "session-<id>" plus a
has-subagent-work tag on their auto-extracted rows.spawned_by