/ 目录 / 演练场 / MCP Memory Service
● 社区 doobidoo ⚡ 即开即用

MCP Memory Service

作者 doobidoo · doobidoo/mcp-memory-service

为任意 agent 提供即插即用的长期记忆——语义召回、知识图谱、自主整合,以及面向非 MCP 框架的 REST API。

mcp-memory-service 跨会话存储 agent 相关的事实、决策和代码片段。它在运行过程中自动构建知识图谱,运行自主整合任务以合并重复项、挖掘规律,并通过 MCP 和 REST 同时暴露同一存储——可在 Claude、LangGraph、CrewAI 和 AutoGen 流程中同时使用。

为什么要用

核心特性

实时演示

实际使用效果

mcp-memory-service.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-memory-service": {
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ]
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcp-memory-service": {
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ]
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcp-memory-service": {
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ]
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-memory-service": {
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ]
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcp-memory-service",
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "mcp-memory-service": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-memory-service"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add mcp-memory-service -- uvx mcp-memory-service

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: MCP Memory Service

在多周编码项目中让 Claude 保持同步

👤 长期项目的开发者 ⏱ ~15 min beginner

何时使用: 每次会话都要花 10 分钟提醒 Claude 项目规范、决策和待办事项。

前置条件
  • Memory service 已运行 — uvx mcp-memory-service(默认使用 ~/.mcp-memory.db)
步骤
  1. 初始化核心上下文
    Use mcp-memory-service. Store these as project-level memory: 'use bun not npm', 'all DB writes go through src/db/repo.ts', 'no class components in src/ui'.✓ 已复制
    → 3 条记忆已存储,带有项目标签
  2. 在下次会话中使用
    Recall any project-level rules before suggesting changes to src/ui/Form.tsx.✓ 已复制
    → 相关规则已召回;建议符合规则
  3. 记录新决策
    Save: 'switched from React Query to SWR on 2026-04-22 because of Suspense compat'.✓ 已复制
    → 记忆已存储并附有日期;下次话题相关时会自动浮现

结果: Claude 将项目视为持续协作,而非 100 次冷启动。

注意事项
  • 记忆无限增长;召回开始拉取过时或无关内容 — 每周运行整合;为记忆打标签,以便将召回范围限定为近期和当前项目
搭配使用: filesystem

为个人助理 agent 建立持久化的个人档案

👤 正在构建日常驱动 Claude agent 的用户 ⏱ ~10 min beginner

何时使用: 你的日常 agent 应该了解你的偏好、周期性会议和联系人,而不必每次重新询问。

步骤
  1. 录入档案
    Use mcp-memory-service. Store: my timezone (Asia/Tokyo), my partner's name, my work hours (10–7), recurring 1:1s.✓ 已复制
    → 档案已存储,type=profile
  2. 即时召回
    Schedule 'lunch w/ Alice' for next Tuesday — pick a time that respects my work hours.✓ 已复制
    → 建议时间已从记忆中读取工作时间;无需重新询问

结果: 每次任务所需的重复上下文输入更少。

注意事项
  • 敏感信息(医疗、财务)以未加密形式存储 — 使用独立 DB 路径(加密文件系统或 SQLCipher 构建版);或直接不在此层存储医疗/财务信息
搭配使用: google-workspace-mcp

在阅读论文的同时构建研究知识图谱

👤 研究人员、分析师、深度阅读者 ⏱ ~60 min intermediate

何时使用: 你在阅读 30 篇论文,想追踪实体、主张和矛盾观点。

步骤
  1. 边读边录入
    For each paper I link, extract: authors, key claims, methods, datasets — store as linked nodes.✓ 已复制
    → 节点数量不断增加;连接关系可见
  2. 发现矛盾
    Across stored papers, find claims that contradict. List with sources.✓ 已复制
    → 相互矛盾的主张对,附引用来源
  3. 生成综述
    Draft a 2-page survey with the dominant claim threads + contradictions noted.✓ 已复制
    → 有来源标注的 Markdown 综述

结果: 真正的知识综合,而非单纯的笔记堆砌。

注意事项
  • 提取质量参差不齐——部分主张是噪音 — 定期清理低置信度节点;整合任务有所帮助,但并非万能
搭配使用: filesystem

在团队成员的 agent 之间共享项目决策日志

👤 使用 AI 开发 agent 的小团队 ⏱ ~30 min advanced

何时使用: 团队三人都在用 Claude Code;没人知道其他人的 agent 已经做了哪些决策。

前置条件
  • 所有人可访问的托管实例 — 在共享开发机上以 --host 0.0.0.0 运行;或部署 Docker 镜像
步骤
  1. 将团队配置指向共享服务
    Update each teammate's MCP config to use the shared URL with separate auth tokens.✓ 已复制
    → 所有 agent 读写同一存储
  2. 约定:为决策打标签
    Convention: anything stored as type=decision is team-visible; type=personal is namespaced.✓ 已复制
    → 标签已应用;召回范围相应限定

结果: 无需 wiki 的团队级记忆。

注意事项
  • 个人笔记被意外标记为团队可见 — 默认使用 type=personal;team=decision 需显式选择
搭配使用: github

组合

与其他 MCP 搭配,撬动十倍杠杆

mcp-memory-service + filesystem

将记忆锚定到仓库文件——关联 memory_id ↔ 文件路径

When I edit src/db/repo.ts, recall any decisions referencing it before suggesting changes.✓ 已复制
mcp-memory-service + github

自动将 PR review 摘要存储为决策记忆

After every merged PR, store the design rationale + reviewer concerns as type=decision tagged with the repo.✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
store_memory content, tags?, type?, metadata? 遇到任何值得保留的新事实或决策时 0
recall query, top_k?, tags?, since? 回答前的第一步——不要重复输入上下文 0
graph_neighbors node_id, depth? 探索相关实体/决策 0
consolidate scope? 每周例行维护;合并重复项 LLM tokens for summarization
delete_memory memory_id 行使被遗忘权或纠正错误数据 0

成本与限制

运行它的成本

API 配额
无——全部本地
每次调用 Token 数
召回返回 200–2000 token,具体取决于 top_k
费用
免费;整合使用本地或自备 LLM
提示
大多数召回调用将 top_k 限制为 5;让整合任务处理去重,而不是过度填充 prompt

安全

权限、密钥、影响范围

最小权限: filesystem write to db path
凭据存储: DB 位于 ~/.mcp-memory.db;敏感数据请加密文件系统或使用 SQLCipher 构建版
数据出站: 默认无;如果整合任务连接 LLM,则会有对外请求
切勿授予: 在共享主机上设置世界可读的 DB

故障排查

常见错误与修复

召回返回空结果

检查标签过滤器;schema 变更后嵌入索引可能需要重建

验证: 查看工具返回的结果数量和传入的标签
并发 agent 下出现 DB 锁定错误

切换到 Postgres 后端,或启用 SQLite WAL 模式(近期版本默认开启)

验证: PRAGMA journal_mode;
整合任务一直运行不结束

缩小范围:consolidate(scope='last_week'),而非全量 DB

记忆中充斥着无关的聊天内容

在存储时更严格——只对事实/决策调用 store_memory,不要存储普通闲聊

验证: 审计近期存储记录;删除无用内容

替代方案

MCP Memory Service 对比其他方案

替代方案何时用它替代权衡
claude-mem-skill你想要的是跨会话上下文压缩,而非长期知识存储claude-mem 用于会话连续性;本服务是真正的持久记忆 + 图谱
Mem0你想要一个带 SDK 的托管记忆层规模扩大后需付费;数据离开你的机器
Letta (formerly MemGPT)你想要内置记忆的完整 agent 运行时,而非单独的记忆层更重量级;对 agent 架构有较强约束

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills