io.github.DiaaAj/a-mem-mcp — Model Context Protocol (MCP) Server
io.github.DiaaAj/a-mem-mcp is an MCP server described as a “self-evolving memory system for AI agents.” Its published excerpt frames A-MEM as memory for coding agents and contrasts it with “simple vector store,” implying a memory approach designed to change over time. The repo is associated with the “a-mem” package on PyPI.
🛠️ Key Features
Self-evolving memory system for AI agents
Positioned for coding-agent use cases
Differentiated from a simple vector store approach
🚀 Use Cases
Supporting memory needs for coding agents
Managing agent context where memory should evolve
⚡ Developer Benefits
Provides an MCP server endpoint for integrating “A-MEM” behavior into tools/workflows
Packaged for distribution via a-mem on PyPI
⚠️ Limitations
Available source excerpt does not specify exact MCP tools, tool count, interfaces, or implementation details
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.
image
Quick Start
Install
bash
pip install a-mem
Add to Claude Code
bash
claude mcp add a-mem -s user -- a-mem-mcp \
-e LLM_BACKEND=openai \
-e LLM_MODEL=gpt-4o-mini \
-e OPENAI_API_KEY=sk-...
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.
Uninstall
bash
a-mem-uninstall-hook # Remove hooks first
pip uninstall a-mem
Add a memory → A-MEM extracts keywords, context, and tags via LLM
Find neighbors → Searches for semantically similar existing memories
Evolve → Decides whether to link, strengthen connections, or update related memories
Store → Persists to ChromaDB with full metadata and relationships
The result: a knowledge graph that grows smarter over time, not just bigger.
Features
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.
MCP Tools
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
Example Usage
python
# The agent calls these automatically, but here's what happens:# Store a memory (returns task_id immediately)
add_memory_note(content="Auth uses JWT in httpOnly cookies, validated by AuthMiddleware")
# Search later
search_memories(query="authentication flow", k=5)
# Deep search with connections
search_memories_agentic(query="security", k=5)
Advanced Configuration
JSON Config
For more control, edit ~/.claude/settings.json (global) or .claude/settings.local.json (project):