mcp-memory-service v11.15 — 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.15

MINOR release: 94 commits since the previous release. The MCP-only server stopped serving its full tool surface unauthenticated on a network bind, retention and decay got a set of long-standing correctness fixes, and the HTTP API can scope memory and search by store. 4,128 tests.

🧰

mcp-memory-server Refuses a Non-Loopback Bind

mcp-memory-server served the full MCP tool surface with no authentication on whatever address MCP_HTTP_HOST named. It now refuses to start on a non-loopback bind. Network clients should use memory server --streamable-http with MCP_SSE_HOST plus MCP_API_KEY or OAuth. Reported by @NotAFlightRisk. (GHSA-26rx-6fvr-qjqg, #1443)

🔍

Scope Memory and Search by Store

The HTTP API can scope memory, search, CRUD and analytics by store (#1106), POST /api/search/by-tag accepts a limit, and MCP_CONSOLIDATION_AUTO_SUPERSEDE lets consolidation keep contradicts edges without hiding the older memory. Milvus now implements the full storage and graph contract.

🌐

Retention and Search Correctness

A human rating no longer overwrites the machine quality score that retention reads, MCP_DECAY_ENABLED=false takes effect, type-based retention matches the real ontology, hybrid BM25 finally matches keywords, and exact-mode search no longer treats % and _ as wildcards. Harvest also gains Kiro CLI v3 sessions and a visible coverage report.

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
LongMemEval R@5
0
Cache Speedup

In the Wild

Three deployments people built and run themselves.

🤖

A Cluster That Uses Memory as a Message Bus

"After I work with one of the cluster agents on something I want my local agent to know about, the cluster agent adds a special tag to the memory entry that my local agent recognizes as a message from a cluster agent. So they end up using it as a comms bridge — and it's pretty delightful." — @jeremykoerber

A five-agent cluster uses one memory service as shared state and as an inter-agent channel, with no custom protocol: cluster agents write a sentinel tag, the local agent filters on it. The pattern →

🔐

Self-Hosted Behind a Cloudflare Tunnel

"The quality of life that session-independent memory adds to AI workflows is immense. File-based memory demands constant discipline. Semantic recall from a live database doesn't. Storing data on my own hardware while making it remotely accessible across platforms turned out to be a feature I didn't know I needed." — @PL-Peter

Two Docker containers on one SQLite backend, a Cloudflare tunnel for name-based routing and subnet access control, and an auth gateway in front. The checklist →

📵

Four Agents, One Local Database, No Cloud

"mcp-memory-service has been the shared memory layer for all my coding agents since February — Claude Code, Claude Desktop, Codex CLI and OpenCode all talk to the same sqlite-vec DB over stdio on my Mac. ~5,900 memories and counting. Every session starts by pulling a bootstrap profile from memory and ends by committing a session summary, so any agent can pick up where another left off. It's the closest thing to persistent identity my agents have." — Mingjian Shao, AI PM and consultant (September 2026)

One local sqlite-vec database as the shared brain for four agents over stdio — no server, no cloud, embeddings fully offline on MPS, daily backups and scheduled consolidation.

How It Compares

Against the commercial memory APIs and the MCP-native alternatives.

Commercial memory APIs

Mem0ZepDIY Redis+Pineconemcp-memory-service
LicenseProprietaryEnterprise—Apache 2.0
CostPer-call APIEnterpriseInfra costs$0
claude.ai browserDesktop onlyDesktop onlyNoRemote MCP
OAuth 2.0 + DCRUnknownUnknownNoYes
Streamable HTTPNoNoNoYes (SSE too)
Framework integrationSDKSDKManualREST, any HTTP client
Knowledge graphNoLimitedNoYes, typed edges
Auto consolidationNoNoNoYes, decay + compression
On-premise embeddingsNoNoManualYes, ONNX local
PrivacyCloudCloudPartial100% local
Hybrid searchNoYesManualYes, BM25 + vector
MCP protocolNoNoNoYes

MCP-native: MemPalace

MemPalacemcp-memory-service
LongMemEval R@5 (raw ChromaDB, zero LLM)96.6%186.0% session / 80.4% turn
LongMemEval R@5 (with reranking)100%2—
Storage granularitySession-levelTurn-level and session-level
Team / multi-device syncLocal onlyCloudflare sync
REST API / web dashboardNoYes
OAuth 2.1 + multi-userNoYes
Knowledge graphNoYes, typed edges
Auto consolidationNoYes, decay + compression
LicenseMITApache 2.0

Why the benchmark gap? MemPalace stores whole sessions as single units, and LongMemEval asks which session contains the answer — that granularity answers the question structurally. This service defaults to turn-level storage for finer retrieval; session-mode ingestion brings it to 86.0% R@5.
1 Measured in MemPalace "raw mode": plain text in ChromaDB with default embeddings. Per Issue #27, the Palace structural features are bypassed in that configuration, and the maintainers acknowledged most of the review's points.
2 Uses optional LLM reranking (~500 API calls) on a partially tuned test set. Clean held-out score as reported by the maintainers: 98.4% R@5.
Full numbers and the run commands: docs/BENCHMARKS.md →

SHODH ecosystem

Fully compatible with the SHODH Unified Memory API Specification: every SHODH implementation shares the same memory schema — emotional metadata, episodic memory, source tracking, quality scoring — so memories export and import across implementations with full fidelity. The reference implementation is shodh-memory (RocksDB); shodh-cloudflare runs on Workers + Vectorize; this service runs SQLite-vec or Hybrid.

In the Media

Talks and coverage from the community.

"Your project has inspired me in many ways. In my view, it's the best implementation of MCP memory I've found so far." — Michał Zubkowicz

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