REST API 默认监听 8000 端口,且需显式设置 MCP_ALLOW_ANONYMOUS_ACCESS=true 才能匿名访问;搜索摘要、bootstrap 配置等可选功能需额外开启对应环境变量并配置 LLM 提供方;OpenCode 插件以仓库文件形式分发,即使从 PyPI 安装也需克隆仓库
mcp-memory-service
doobidooApache-2.0活跃维护为 AI Agent 提供持久化长期记忆的 MCP 服务,支持 LangGraph、CrewAI、AutoGen 和 Claude,通过 REST API、知识图谱和自主整合让智能体跨会话记住上下文。
Open-source persistent memory for AI agent pipelines (LangGraph, CrewAI, AutoGen) and Claude. REST API + knowledge graph + autonomous consolidation.
pip install mcp-memory-service
MCP_ALLOW_ANONYMOUS_ACCESS=true memory server --httpREADME 未说明显存或 GPU 要求;核心记忆操作使用本地 ONNX 嵌入和 SQLite,可在本地运行,可选 LLM 功能需自行配置提供方
自托管的 AI Agent 持久记忆后端,让多个 Agent 跨会话共享决策与上下文
为 AI Agent 提供持久化长期记忆的 MCP 服务,支持 LangGraph、CrewAI、AutoGen 和 Claude,通过 REST API、知识图谱和自主整合让智能体跨会话记住上下文。
核心能力
- 提供框架无关的 REST API,LangGraph、CrewAI、AutoGen 均可直接调用
- 用带类型边的知识图谱记录因果、修复、矛盾等关系
- 用 X-Agent-ID 请求头自动打标签,按 Agent 身份限定检索范围
- 语义向量检索与 BM25 关键词检索结合,支持 ranked 排序模式
- 定时聚类压缩与受控遗忘,自动整合旧记忆
容易踩的坑
- v12.7.0最新正式版2026-11-07 · 2026-11-07 05:51 UTC
Special Thanks
Thanks to the external contributors in this release: @ShahadatTest (Credentials tab requests, #1841), @massimiliano1991 (typed-edge gates, #1888), @mbreitkreuz (conflict tags and entity linking, #1872, #1889), @tonydzi (typed edges off by default, #1887), @qwist1233-cpu (untagged deletes and dashboard translations, #1871, #1822) and @ducanhnguyen223 (Codex short replies, #1716).
Highlights
- Behavior change:
MCP_TYPED_EDGES_ENABLEDnow defaults tofalse. Consolidation stores inferred associations asrelatedinstead offixes/contradicts. Set it totrueto keep the old behavior; the stricter #1457 gates apply then. - Store scoping is enforced in the storage layer for metadata updates, the
fallback=truesearch and beliefs. conflict:unresolvedno longer outlives the conflict, and entity linking no longer overwritescontradictsedges.- New opt-in
contextualCapturesetting for Codex short replies.
Changelog
Fixed
- Consolidation's typed-edge gates are the ones its docs state (#1457). The docs said
confidence 0.75 and similarity 0.65, while the code shipped 0.50 and 0.45 and consolidation
ran at 0.6 and 0.45. On three hand-checked stores neither setting made a label right
(0 of 139), but the #541 gates write about ten times fewer of them, so those are now the
constructor defaults and the consolidator passes them explicitly. The 0.65 is on the
normalized score
(cos + 1) / 2, i.e. cosine 0.3, and the docstrings say so. These gates apply only withMCP_TYPED_EDGES_ENABLED=true, off by default since #1887.scripts/maintenance/update_graph_relationship_types.pybuilds the same engine, so it picks up the 0.75; it passes no similarity, so the similarity gate does not apply there. - Optionally capture short Codex replies with their preceding assistant context (#1664). The new
contextualCapturesetting is off by default and stores an opted-in reply/response pair with source turn metadata, without an LLM call. - Search filter tooltips and most of the Documents tab stayed English (#1817).
The five filter tooltips and the three Documents help icons already had catalog
keys, but only on
data-i18n-aria, so the tooltip a user actually hovers kept its Englishtitle;data-i18n-titlenow sits next to each aria attribute. Those icons also sat inside the element whose text is translated, andapplyTranslations()writestextContent/innerHTML, so the first render dropped them from the page -- the translatable text now lives in its own<span>and the icon stays beside it. The upload history (No uploads yet, its error line), the View/Remove buttons of both document lists, the drop zone thatapp.jsrebuilds after an upload, the chunk-overlap illustration, the processing-mode help heading, the memory-viewer chunk count and the removal confirmation go throughthis.t()or adata-i18n*attribute now, with twenty-two new strings in all eleven catalogs. The chunk-size help icon also gets its owninfo-icon-chunkclass: it shared the bare.info-iconhook thatsetupDocumentsEventListeners()queries, so once the processing-mode icon stayed in the page the wrong icon answered the click.documents.supportedalso lists DOCX and PPTX, whichsemtools_loader.pyhas accepted all along, and the static#fileInputnow accepts.docx,.pptxlike the inputapp.jsrebuilds. - Test Connection and Save in the Settings Credentials tab send their requests again (#1839). Both called
apiCall()with a fetch-style options object instead of the method and the data as separate arguments, so neither request carried the method or body it needed.tests/web/test_credentials_apicall_args.pychecks both calls. conflict:unresolvedno longer outlives the conflict (#1840, mbreitkreuz). Superseding or deleting one side of a conflict (mark_superseded_batch,resolve_conflict,delete, a versioned update) left the tag
- Behavior change:
- v12.6.02026-11-05 · 2026-11-05 07:32 UTC
查看更新说明
Special Thanks
12.6.0 carries work from a lot of contributors. Thank you to:
- orshih6, who reported GHSA-8p26-g7wp-65jw, the cross-origin and DNS-rebinding hole in unauthenticated local HTTP transports fixed in this release.
- timkjr for
memory oauth list-clientsanddelete-client(#1863) and for the SQLite OAuth store finally enforcing its foreign keys (#1862). - andrunio for rebuilding existing entity graphs (#1860).
- ZYZ666-RGB for marking beliefs and summaries stale when a source memory is deleted (#1865) and the Manage tab translations (#1851).
- samyferhat for the dashboard following the system color scheme (#1793).
- coughlmao for the Russian dashboard translation (#1854) and laozhej for the Korean site introduction (#1866).
- arifrhm for the dashboard restart fix under
python -m uvicorn(#1864). - Yoel-qin, hamid-digitalmarketer, ducanhnguyen223, ppcvote, shu-chen-dot-ca, Khushi6767 and qwist1233-cpu for the HTTP
/mcpshim parity, thememory_graphannotation fix, the dark-mode flash, the versioned-update conflict fix, and a long run of dashboard translation fixes.
Highlights
- Security: unauthenticated local
--streamable-httpand--sseservers refuse cross-origin and DNS-rebinding requests (GHSA-8p26-g7wp-65jw). Upgrade if you run either transport on loopback without an API key or OAuth. Servers with an API key or OAuth keep their current behaviour. memory_quality(action="rebuild_entities")rebuilds existing entity graphs, with a preview by default.memory oauth list-clientsandmemory oauth delete-clientreplace editingoauth.dbby hand.- Deleting a memory no longer leaves beliefs and consolidation summaries citing it.
- Harvest no longer lets an older statement replace a newer memory.
- The dashboard follows the system theme, and adds Russian. The site gains a Korean introduction.
The full entry from CHANGELOG.md follows.
[12.6.0] - 2026-11-05
Added
- Rebuild existing entity graphs with
memory_quality(action="rebuild_entities"), previewing changes by default and applying current extraction settings across all live memories on SQLite, Hybrid, and Milvus. - The dashboard follows the system color scheme by default (#1737). It used to
open in light mode whatever the OS was set to. A new
Systemtheme, the default for anyone who never picked one, tracksprefers-color-schemeand updates live when the OS switches. An explicit light or dark choice still wins, and the header toggle keeps flipping between light and dark.theme-init.jsapplies the same rule before first paint, so following a dark OS does not bring back the flash from #1705. memory oauth list-clientsandmemory oauth delete-client(#1804, timkjr). Registered OAuth clients, including ones that registered themselves through Dynamic Client Registration, could only be removed by editingoauth.dbby hand.list-clientsshows each client without its secret, with its newest refresh token still on record.delete-clientasks for confirmation (--yesskips it) and removes the client with its authorization codes and tokens in one transaction. Access tokens already issued as JWTs stay valid until they expire, and while registration is open a deleted application can register again. Both storage backends gainlist_clients()anddelete_client().- Add Russian language support to the web dashboard with a complete translation catalog, automatic language discovery, and regression tests (#1763).
- Added a Korean introduction to the project website, including setup guidance and language navigation.
Fixed
- Prevent a light-theme flash when the dashboard reloads in dark mode (#1705). A synchronous external initializer applies the saved theme before dashboard content is parsed; blocked or malformed storage keeps the default light theme.
- The SQLite OAuth store never enforced its foreign keys (#1804, timkjr).
The schema declares
ON DELETE CASCADEfrom autho
- v12.5.02026-11-03 · 2026-11-03 18:10 UTC
查看更新说明
Python 3.10 is no longer supported
v12.5.0 requires Python 3.11 or newer (#1770). Python 3.10 reached end of life on October 1, 2026 and cannot install the patched filelock releases. If you are on 3.10, upgrade the interpreter and recreate your virtual environment before installing this release.
Special Thanks
This release has a lot of outside work in it. Thank you to @filhocf, @massimiliano1991, @andrunio, @timkjr, @Parth-Jadhav-2004, @ppcvote, @Sainath-Reddy7, @10RZC22, @qwist1233-cpu, @coughlmao, @Esmail-sarhadi, @debashishthakur, @djimenezm2, @mikemikimike, @juliasadler, @shu-chen-dot-ca, @shyam1017, @Neeraj111010, @aghiles-baha, @Yoel-qin, @hamid-digitalmarketer and @calude-bot.
Highlights
- Beliefs. Belief embeddings (migration 020), opt-in semantic dedup by embedding cosine, and the consolidation wiring that backfills and then dedups. Dedup is a dry run unless
MCP_BELIEF_DEDUP_APPLY=true(#1728, #1733, #1771, @filhocf). Belief derivation now sees contradictions (#1657, @debashishthakur). - Delta-sync in the dashboard. Peer destinations, scheduling, cycle results and errors in a panel, with automatic refresh after each cycle (#1555, #1557, @Parth-Jadhav-2004). The delta-sync event log is bounded by compacting
update_metadatachains (#1721, @filhocf), and a supersede made after the first sync now propagates (#1773, @ppcvote). - Search. Per-stage timing of the
memory_searchrerank path underinclude_debug, andMCP_QUALITY_LOCAL_DEVICEreaches the reranker (#1701, @massimiliano1991). Point-in-time queries withas_ofwork (#1724, @juliasadler). Superseded versions stay hidden in no-query search, tag search andmemory_liston sqlite-vec and Milvus (#1805, #1824, @shu-chen-dot-ca). - Milvus. Deleting a memory removes its graph edges, newest matches come back for no-query search, and full reads are no longer capped at 16,384 rows (#1703, #1708, #1782, #1785, @andrunio).
- Entities.
MCP_ENTITY_TAG_INCLUDEandMCP_ENTITY_TAG_EXCLUDEchoose which tags become entities (#1704, @andrunio). - Log injection. The harvest, reasoning and auto-capture modules sanitize file names, entity names and exception text before logging (#1146, @massimiliano1991).
- Dashboard. A line chart for Memory Growth (#1740), readable error toasts, Hindi, Indonesian and Brazilian Portuguese catalogs, more complete Knowledge Graph translations in German, French, Spanish, Japanese and Korean, and the active view re-renders after a language switch.
- Website. New introductions in German, Spanish, French, Japanese, Brazilian Portuguese, Simplified Chinese and Traditional Chinese at https://mcpmemory.services.
- Removed. The standalone API overview page;
/api-overviewredirects to/api/docs(#1746).
The full list is in CHANGELOG.md.
Install:
pip install mcp-memory-service==12.5.0, ordocker pull doobidoo/mcp-memory-service:12.5.0. - Beliefs. Belief embeddings (migration 020), opt-in semantic dedup by embedding cosine, and the consolidation wiring that backfills and then dedups. Dedup is a dry run unless
- v12.4.02026-10-26 · 2026-10-26 13:11 UTC
查看更新说明
Special Thanks
- camerono for per-store OAuth scopes (#1682)
- Forest537 for the Claude Code hooks inter-agent inbox (#1675)
- Parth-Jadhav-2004 for retiring the ChromaDB-era scripts (#1640)
Highlights
- Per-store OAuth scopes (
read:<store>,write:<store>) andMCP_ANONYMOUS_SCOPE, with a per-client scope ceiling and store-confined SSE tickets. - Delta-sync peers negotiate protocol, event schema and embedding identity before exchanging events.
- Opt-in inter-agent inbox in the Claude Code hooks (plugin manifest 1.2.0).
- Optional
rerankflag onmemory_search, and an experimental resonance-search endpoint. - Re-sending deleted content is refused unless
restore_deletedis set.
Per-store scopes: where they work
Per-store scopes (
read:<store>,write:<store>,MCP_ANONYMOUS_SCOPE=read:<store>) work on sqlite_vec and hybrid only. cloudflare, milvus and remote_http refuse store-restricted credentials until #1683. Tools that are not confined to a store, includingmemory_explore,memory_detailandmemory_quality, need the global scope.Changelog
Added
- Negotiate peer compatibility before scheduled delta-sync (#1505). A read-authenticated
capabilities endpoint advertises the delta-sync protocol range, event-envelope schema,
embedding identity, and package version. Scheduled peers stop before exchanging events
when they have no common protocol, a different event schema or embedding identity, or
do not advertise capabilities;
/api/sync/statusexposes each peer's latest result./api/health/modelidentifies hash-fallback embeddings so an HTTP hybrid secondary refuses to start against a degraded hub instead of mistaking it for the configured model. - Claude Code hooks: an opt-in inter-agent inbox (#1526, Forest537).
docs/agents/README.mddocuments agents using one memory service as a message bus via a sentinel tag (msg:cluster), but the reading side was entirely manual — nothing polled, nothing remembered what had been read. The hooks now poll the configured tags on session start and on prompts (throttled byinbox.checkIntervalMinutes, and by the state file rather than an in-memory cooldown, since every hook invocation is a fresh process) and inject the new messages as their own block. The last-seen marker advances only after a successful query. Per #1599 the marker throttles but does not gate delivery: each check queries frommarker - inbox.overlapMinutesand drops rows already delivered bycontent_hash, so a message that reaches the store after a check while carrying an oldercreated_at— the normal case under delta sync, and the clock-skew case — is still delivered, exactly once. Off by default; the config keys and the output format match the OpenCode client (#1527/#1541/#1636). - Expose Delta-Sync settings in the Environment tab (#1556). The web configuration now lists the sync event log, schedule, peers, and push allow-list while masking peer API and basic-auth credentials.
- Add an opt-in
rerankflag tomemory_search: a second-stage ONNX cross-encoder reorders the topMCP_RERANK_CANDIDATESresults whenMCP_RERANK_ENABLEDis set, fails open to the unreranked order, and never touches the default path. - Apple Foundation Models work as a local LLM provider on macOS 27: point the OpenAI-compatible quality scorer or the harvest provider chain at
fm serve. The three OpenAI-compatible call sites (quality scorer, harvest rewriter, harvest classifier) now send"stream": falseexplicitly, becausefm servestreams by default and the requests used to fall through to the next provider. New guide:docs/guides/apple-foundation-models.md(#1666). - Experimental
POST /api/memories/resonance-search: ranks memories by wave interference instead of cosine similarity, after the ResonanceDB approach in arXiv:2509.09691. It converts the stored embeddings to complex waveforms at query time, so no schema change. Modesresonance,phaseandhybrid(d
- v12.3.12026-10-23 · 2026-10-23 09:16 UTC
查看更新说明
Security update
Refresh the independent TLS trust stores affected by the eMudhra CA compromise. Updating the application alone does not update pip, uv, operating-system certificates or custom CA bundles. Bootstrap package-manager upgrades through an already corrected trust store; certificate validation must stay enabled.
Fixed
- Refresh independent TLS trust stores after the eMudhra CA compromise. CI and Docker bootstrap now require pip 26.2.2 and uv 0.13.4 or newer. The lite package and hand-curated Docker dependencies require certifi 2026.10.19, matching the main package. Docker builds reject the affected root certificates before bootstrapping pip and after installing application dependencies; CI builds both standard and slim images. Existing installations must also update their package managers, operating system certificates, and any custom trust bundles.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
mcp-memory-service
Persistent Shared Memory for AI Agent Pipelines
Open-source memory backend for AI agents — REST API, MCP, OAuth, CLI, dashboard. One self-hosted service, every transport. Agents store decisions, share causal knowledge graphs, and retrieve context in 5ms — without cloud lock-in or API costs.
Works with LangGraph · CrewAI · AutoGen · any HTTP client · Claude Desktop · OpenCode
Getting started: English · Deutsch · Español · 日本語 · 简体中文 · 繁體中文 · Français · Português (Brasil) · 한국어
Why Agents Need This
Your AI assistant forgets everything when you start a new chat. You spend 10 minutes re-explaining your architecture. Again. MCP Memory Service captures project context, architecture decisions, and code patterns automatically — new sessions start with everything already known.
| Without mcp-memory-service | With mcp-memory-service |
|---|---|
| Each agent run starts from zero | Agents retrieve prior decisions in 5ms |
| Memory is local to one graph/run | Memory is shared across all agents and runs |
| You manage Redis + Pinecone + glue code | One self-hosted service, zero cloud cost |
| No causal relationships between facts | Knowledge graph with typed edges (causes, fixes, contradicts) |
| Context window limits create amnesia | Autonomous consolidation compresses old memories |
Key capabilities for agent pipelines:
- Framework-agnostic REST API — no MCP client library needed; the live endpoint list is at
/api/docs - Knowledge graph — agents share causal chains, not just facts
X-Agent-IDheader — auto-tag memories by agent identity for scoped retrievalconversation_id— bypass deduplication for incremental conversation storage- SSE events — real-time notifications when any agent stores or deletes a memory
- Embeddings run locally via ONNX — memory never leaves your infrastructure
🚀 Get Started in 60 Seconds
Not sure which setup fits? The Setup Guide walks you to the right path in under a minute.
1. Install:
pip install mcp-memory-service
2. Configure your AI client:
Add to your config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"memory": {
"command": "memory",
"args": ["server"]
}
}
}
Restart Claude Desktop. Your AI now remembers everything across sessions.
claude mcp add memory -- memory server
Restart Claude Code. Memory tools will appear automatically.
MCP_ALLOW_ANONYMOUS_ACCESS=true memory server --http
# REST API running at http://localhost:8000
Store a memory with POST /api/memories, search with POST /api/search, retrieve by tag
with POST /api/search/by-tag. Send X-Agent-ID: <id> on a store request and the server
tags the memory agent:<id>, which a tag search then scopes retrieval by.
Worked examples per framework, the tag conventions and the async patterns: docs/agents/
MCP_ALLOW_ANONYMOUS_ACCESS=true memory server --http
The plugin ships as repository files for the local plugin directory, so clone the
repository once even if you installed from PyPI. Install steps, the /memory slash
command and the endpoint override:
opencode/README.md
Start the Memory Service HTTP API, then install the hooks from this repository:
python3 codex/install_hooks.py
Restart Codex and review the hooks with /hooks. They retrieve project context,
capture new learnings, and checkpoint outcomes before compaction and at session end.
See Codex hook setup for prerequisites, authentication, and project-local installation.
Remote MCP puts persistent memory in the browser on any device, no desktop app required: OAuth 2.0 over HTTPS, self-hosted or cloud-hosted. Both claude.ai and ChatGPT (Developer Mode) connect to the same endpoint.
Cloudflare Tunnel quick start, Let's Encrypt, nginx, Caddy and Docker production setups: Remote MCP Setup · 5-minute tutorial
git clone https://github.com/doobidoo/mcp-memory-service.git
cd mcp-memory-service
python scripts/installation/install.py
Choose from SQLite (local, fast, single-user), Cloudflare (cloud, multi-device
sync), Hybrid (5ms local reads with background cloud sync — recommended for
production) or Milvus (dedicated vector DB: Lite file, self-hosted, or Zilliz Cloud).
For self-hosted team setups, the Hybrid backend can sync to another HTTP MCP Memory Service
instead of Cloudflare using MCP_HYBRID_SECONDARY_BACKEND=http.
For long-lived services, prefer Docker Milvus or Zilliz Cloud over Milvus Lite — why.
⚡ Works With Your Favorite AI Tools
- Agent frameworks (REST): LangGraph · CrewAI · AutoGen · OpenClaw/Nanobot · any HTTP client
- CLI and terminal (MCP): Claude Code · Gemini CLI · OpenCode · Codex CLI · Goose · Aider · Amp
- Desktop and IDE (MCP): Claude Desktop · VS Code · Cursor · Windsurf · Raycast · JetBrains · Zed
- Chat (MCP): ChatGPT (Developer Mode) · claude.ai (Remote MCP over HTTPS)
Full list, plus clients without OAuth such as Home Assistant: docs/integrations.md
✨ Features
Store and retrieve context
- 🧠 Persistent memory — Keep decisions, notes, and project context across sessions and agents.
- 🔍 Semantic and keyword search — Combine vector search with BM25; use
mode="ranked"to weigh recency, access frequency, and quality. An optional fallback cascade tries exact and tag matching when semantic results are sparse. - 🏷️ Scoped retrieval — Filter by tags with AND/OR matching, natural-language time
ranges, and store partitions (
default,docs, orallfor cross-store search). - 📝 Optional search summaries — Request
summarize=truefor query-aware summaries with validated source references. RequiresMCP_SEARCH_SUMMARIZE_ENABLED=trueand a configured LLM provider; unavailable summaries fall back to raw results. Search API and examples - 📄 Document ingestion — Import PDF, text, and Markdown with chunking for retrieval. Additional formats such as DOCX and PPTX require optional parsing tools. Document ingestion guide
Capture and maintain knowledge
- ⚡ Automatic session capture — Configurable Claude Code hooks retrieve context and
save session learnings; the local
memory_harvesttool extracts decisions, bugs, conventions, and lessons from transcripts. Hooks setup · Harvest configuration - 💡 Autonomous consolidation — Schedule clustering, compression, association discovery, and controlled forgetting. Insight cards surface patterns, trends, and knowledge gaps. Consolidation guide
- 💭 Beliefs and contradiction handling — Derive confidence-scored beliefs from observations. Heuristic contradiction detection can mark older memories as superseded, hiding them from default retrieval while retaining them for explicit lookup.
- 🤖 Agent bootstrap profiles —
get_bootstrap_profileassembles behavioral context for a new agent within a token budget, with optional task-aware retrieval. RequiresMCP_BOOTSTRAP_ENABLED=true; profiles are not isolated by project. - 🧬 Knowledge graph and entities — Explore typed causal relationships in the interactive graph. 🔗 Entity extraction links @mentions, #tags, URLs, and file paths to a queryable entity graph. Knowledge graph guide
- 🏠 Quality scoring — Use your own OpenAI-compatible endpoint, including Ollama, LiteLLM, or vLLM. Configuration guide
Run locally and share across devices
- 🔒 Local-first storage — Local ONNX embeddings and SQLite storage keep core memory operations on your infrastructure. Optional LLM features use the providers you configure.
- ☁️ Cloud or self-hosted sync — Use Cloudflare or another MCP Memory Service instance as a Hybrid secondary. Separately enabled delta-sync exchanges changes between hosts; it is off by default. Self-hosted sync guide
- 📦 Import, export, and migration — Move memories through JSON import/export, including conversion of mem0 exports. Import/export tools · mem0 migration guide
- 💾 Database backups — Configure scheduled backups or trigger one manually through
the HTTP API. Inspect backup status and available snapshots through the backup endpoints
in the live API reference at
/api/docs. - 📊 Web dashboard — Search, browse, visualize, and manage memories at
http://localhost:8000.
The dashboard has eight tabs — Dashboard, Search, Browse, Documents, Manage, Analytics, Quality, API Docs. Two-minute walkthrough on YouTube · Web Dashboard Guide
How it compares to Mem0, Zep and the MCP-native alternatives, benchmark results, and deployments people run in production: mcpmemory.services
🛠️ Configuration Highlights
memory launch # Start HTTP server in background (127.0.0.1:8000)
memory launch --port 8192 # Custom port
memory info # Status and health
memory logs --lines 50 # Recent logs
memory stop # Stop server
These commands are optimized for fast startup and avoid loading heavy ML dependencies unless needed.
⚠️ Security note: the server binds to
127.0.0.1(localhost only) by default.--host 0.0.0.0/MCP_HTTP_HOST=0.0.0.0exposes the API to your network — do that only in trusted environments with authentication and firewall rules, or behind TLS termination or a VPN overlay.
Backends, embedding models, quality scoring and every environment variable: Configuration Guide
📚 Documentation
- Setup Guide – Decision tree and step-by-step paths
- Agent Integration Guides – LangGraph, CrewAI, AutoGen, HTTP generic
- Remote MCP Setup – claude.ai and ChatGPT via HTTPS + OAuth
- Configuration Guide – Backend options and customization
- Architecture Overview – How it works under the hood
- Knowledge Graph Dashboard – Interactive graph visualization
- Benchmarks – LongMemEval, DevBench, LoCoMo, with run commands
- Migration Guide – Upgrading between major versions
- Troubleshooting – Common issues and solutions
- Wiki – Long-form guides and API reference
- Full documentation index – Everything else
Also listed on Glama and Spark.
📦 Releases
Every release, with upgrade notes: CHANGELOG.md · GitHub Releases · archived history
🤝 Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines and SECURITY.md for reporting a vulnerability.
Releases, good first issues and new Discussions are announced on our Discord server, which is also the place for informal chat. Claiming an issue, decisions and reviews stay on GitHub.
Who authors this project, who holds copyright, and what every change passes before
it reaches main: AUTHORSHIP.md.
Quick Development Setup:
git clone https://github.com/doobidoo/mcp-memory-service.git
cd mcp-memory-service
pip install -e . # Editable install
pytest tests/ # Run test suite
Supporting the Project
MCP Memory Service is maintained by one person. If it saves you or your company time, you can support its development via Ko-fi, Buy Me a Coffee or PayPal: SPONSORS.md.