Persistent memory for AI agents — REST API, MCP, OAuth, CLI, dashboard. Semantic search, knowledge graph, automatic consolidation. One self-hosted service, every transport.
Interactive 3D knowledge graph — every memory a glowing node, every relationship a curved edge.
MINOR release: 21 merged pull requests, most of them from outside the maintainer. Memories can now record which agent wrote them, an unauthenticated endpoint stopped handing out storage statistics, and consolidation reads the timestamps it was always meant to read. 3,438 tests.
A memory can now carry the id of the agent that stored it: pass agent_id or set MCP_AGENT_ID, and it lands in metadata with no schema change. Phase 2 makes it readable — memory_search and memory_list gain an agent_id filter that matches attribution written by either transport, and the /mcp endpoint reads an X-Agent-ID header so several agents sharing one server are attributed per request. The filter is opt-in: omit it and you see every agent's memories, because a per-agent bubble is the wrong default. (#1278, #1297)
GET /mcp/health returned the full storage statistics to any caller with no credentials — memory count, database size, embedding model, backend class. An earlier advisory had already established that this data needs an identity and moved it behind authentication on the REST side, but that fix only touched one file and left the parallel MCP route open. The route stays unauthenticated so liveness probes keep working; the statistics are gone. (GHSA-7w86-2vmv-fqwm, #1305)
The decay system measured relevance with edit timestamps instead of access timestamps, so a memory read constantly but never edited slowly lost its protection; get_access_patterns now queries last_accessed, and without the LIMIT 100 that quietly truncated the statistics. It also stopped loading the access time of every memory ever accessed on every run. Separately, belief quarantine is reachable again: a value-swap phrased naturally is filed as a contradiction rather than dropped as a near-duplicate. (#1288, #1291, #1216)
Claude.ai connects to your memory server through Streamable HTTP with OAuth 2.1 authentication.
Battle-tested with comprehensive testing and optimized for performance.
Talks and coverage from the community.
Heavybit's Humans in the Loop deep dive talks to maintainer Heinrich Krupp about agent amnesia and why persistent memory is the missing infrastructure layer for agentic systems.
Maintainer Heinrich Krupp presents mcp-memory-service at the AI Tinkerers Zürich meetup — persistent memory architecture, semantic search, and multi-agent memory sharing. Watch the full video →
Install from PyPI and connect your AI agents to persistent memory.
I help teams run self-hosted memory in production — OAuth, hybrid sync, multi-client rollout. Free 30-minute intro call.
Get in touch