mcp-memory-service v11.14 — Now Available

Memory for AI Agents

Persistent memory for AI agents — REST API, MCP, OAuth, CLI, dashboard. Semantic search, knowledge graph, automatic consolidation. One self-hosted service, every transport.

Try the Live Demo GitHub PyPI Package

Interactive 3D knowledge graph — every memory a glowing node, every relationship a curved edge.

What's New in v11.14

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.

🔍

Memories Can Name the Agent That Wrote Them

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)

🧰

A Health Endpoint That Answered Too Much

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)

🌐

Consolidation Reads the Right Clock

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)

How It Works

Claude.ai connects to your memory server through Streamable HTTP with OAuth 2.1 authentication.

Browser
Claude.ai
→
Transport
Streamable HTTP
→
Auth
OAuth 2.1 + PKCE
→
Server
MCP Memory
→
Storage
Knowledge Graph
Data flow Auth boundary

Built for Production

Battle-tested with comprehensive testing and optimized for performance.

0
Tests
0
AI Apps Supported
0
Read Latency
0
Cache Speedup

In the Media

Talks and coverage from the community.

Get Started in Seconds

Install from PyPI and connect your AI agents to persistent memory.

Click to copy pip install mcp-memory-service

Deploying for a team?

I help teams run self-hosted memory in production — OAuth, hybrid sync, multi-client rollout. Free 30-minute intro call.

Get in touch