The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the A Mem MCP listing page.
mcp-name: io.github.DiaaAj/a-mem-mcp
A-MEM is a self-evolving memory system for coding agents. Unlike simple vector stores, A-MEM automatically organizes knowledge into a Zettelkasten-style graph with dynamic relationships. Memories don't just get stored—they evolve and connect over time.
Currently tested with Claude Code. Support for other MCP-compatible agents is planned.
That's it! A session-start hook installs automatically to remind Claude to use memory.
Note: Memory is stored per-project in
./chroma_db. For global memory across all projects, see Memory Scope.
The result: a knowledge graph that grows smarter over time, not just bigger.
Self-Evolving Memory Memories aren't static. When you add new knowledge, A-MEM automatically finds related memories and strengthens connections, updates context, and evolves tags.
Semantic + Structural Search Combines vector similarity with graph traversal. Find memories by meaning, then explore their connections.
Peek and Drill
Start with breadth-first search to capture relevant memories via lightweight metadata (id, context, keywords, tags). Then drill depth-first into specific memories with read_memory_note for full content. This minimizes token usage while maximizing recall.
A-MEM exposes 8 tools to your coding agent:
| Tool | Description |
|---|---|
add_memory_note | Store new knowledge (async, returns immediately) |
search_memories | Semantic search across all memories |
search_memories_agentic | Search + follow graph connections |
search_memories_by_time | Search within a time range |
read_memory_note | Get full details (supports bulk reads) |
update_memory_note | Modify existing memory |
delete_memory_note | Remove a memory |
check_task_status | Check async task completion |
For more control, edit ~/.claude/settings.json (global) or .claude/settings.local.json (project):
| Variable | Description | Default |
|---|---|---|
LLM_BACKEND | openai, ollama, sglang, openrouter | openai |
LLM_MODEL | Model name | gpt-4o-mini |
OPENAI_API_KEY | OpenAI API key | — |
EMBEDDING_MODEL | Sentence transformer model | all-MiniLM-L6-v2 |
CHROMA_DB_PATH | Storage directory | ./chroma_db |
EVO_THRESHOLD | Evolution trigger threshold | 100 |
./chroma_dbCHROMA_DB_PATH=~/.local/share/a-mem/chroma_dbOllama (local, free)
OpenRouter (100+ models)
The session-start hook reminds Claude to use memory tools. It installs automatically with Claude Code, but you can manage it manually:
Use A-MEM directly in Python (works with any agent or application):
A-MEM implements concepts from the paper:
A-MEM: Agentic Memory for LLM Agents Xu et al., 2025 arXiv:2502.12110