/ 目录 / 演练场 / Memory
● 官方 modelcontextprotocol ⚡ 即开即用

Memory

作者 modelcontextprotocol · modelcontextprotocol/servers

一个 Claude 可以跨对话持久化读写的知识图谱——这样它就能记住你的项目、团队和偏好。

官方参考的 Memory MCP。以本地 JSON 知识图谱形式存储实体(人、项目、事物)、它们的观察结果(事实)和它们之间的类型化关系。让 Claude 能够记住具体的事实(比如「我们的生产库叫 api-prod-01」、「Jamie 喜欢用 bullet 格式写 PR 描述」)而不用依赖上下文窗口。

为什么要用

核心特性

实时演示

实际使用效果

memory.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "memory",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "memory": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-memory"
        ]
      }
    }
  }
}

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

claude mcp add memory -- npx -y @modelcontextprotocol/server-memory

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

使用场景

实战用法: Memory

怎样不用每天早上重复向 Claude 解释你的项目

👤 独立开发者和每天都和 Claude 讨论同一个代码库的高级用户 ⏱ ~15 min beginner

何时使用: 你经常在每个会话开始时粘贴同样的背景段落:「我们的栈是 X,生产数据库是 Y,我们不用 Z」。

前置条件
  • Memory MCP 运行时使用持久化文件路径 — 设置 MEMORY_FILE_PATH=/Users/you/.claude/memory.json 这样图就能在重启后保留
步骤
  1. 用核心事实初始化图
    为以下内容创建实体:我的公司(Acme)、我们的主仓库(acme-corp/api)和我们的生产数据库(api-prod-01)。添加观察结果,比如「使用 Postgres 16」、「托管在 AWS RDS us-east-1」、「备份窗口是 03:00 UTC」。用关系连接它们。✓ 已复制
    → 实体和关系已创建,可通过 read_graph 查看
  2. 在使用过程中添加偏好观察
    记住:当我要求你为这个仓库写 commit 信息时,用祈使语气,不要用前缀标签。把这个作为对「acme-corp/api」实体的观察结果存储。✓ 已复制
    → 观察结果已添加,不需要重新创建实体
  3. 在新会话中测试回忆
    你对 api-prod-01 了解多少?✓ 已复制
    → Claude 查询图并显示具体的事实,而不是泛泛之谈

结果: 一个每次对话都变聪明的个人知识图谱——你用 Claude 越多,需要输入的模板代码越少。

注意事项
  • Claude 不会自动使用记忆,会忘记检查 — 在你的系统/项目提示中添加「总是在处理这个项目的每个任务开始时查询记忆图」
  • 图变得混乱——出现名字略有不同的重复实体 — 选择一个命名约定(kebab-case),定期让 Claude 执行 read_graph 并去重
搭配使用: filesystem · github

构建一个关于同事偏好的轻量级 CRM

👤 跨多个利益相关者工作的贡献者和负责人 ⏱ ~10 min beginner

何时使用: 你经常忘记谁更喜欢 Slack 还是邮件,谁想要 bullet 还是段落文字,谁在哪个项目上。

步骤
  1. 首次交互时创建一个人物实体
    创建一个 Person 实体「jamie-chen」。观察结果:「checkout 团队的 PM」、「喜欢 Loom 而不是文档」、「评审发生在 PT 时间周二/周四早上」。✓ 已复制
    → 实体可通过 open_nodes 查看
  2. 用关系把人连接到项目
    添加关系:jamie-chen --owns--> checkout-redesign-2026。还有:alex-kim --reviews--> checkout-redesign-2026。✓ 已复制
    → 关系出现在图中
  3. 在给他们写东西前查询
    我要给 Jamie 草拟一个关于 checkout 重设计的更新。我对他们的沟通偏好和这个项目了解多少?✓ 已复制
    → 返回存储的偏好,告知草稿的语气

结果: 你不再问「那个 PM 是谁来着?」,你的异步更新第一次就能用对语气。

注意事项
  • 存储关于真实同事的敏感/个人信息感觉很奇怪,而且可能泄露 — 只存储工作偏好观察;绝不要存个人细节。把文件视为敏感内容——它会和你备份它的任何地方同步
搭配使用: linear · github

跨多个会话保持研究轨迹

👤 研究者、作家、任何在数周内研究某个话题的人 ⏱ ~20 min intermediate

何时使用: 你在研究一个跨越多个会话和来源的话题(市场研究、文献综述、调查)。

步骤
  1. 把每个发现作为对话题实体的观察结果捕获
    我在研究「企业中的 MCP 采用」。把它创建为实体。现在添加这个发现作为观察结果:「Anthropic 报告 60% 的 Claude Code 用户使用 3+ 个 MCP(来源:blog 2026-03-12)」。✓ 已复制
    → 话题实体随着有引用的观察结果增长
  2. 连接相关话题
    创建实体「MCP 安全关注」。用关系「blocks-adoption-when-unaddressed」把它关联到「企业中的 MCP 采用」。✓ 已复制
    → 图显示语义连接
  3. 随时要求综合分析
    基于所有连接到「企业中的 MCP 采用」的观察结果,起草一个有引用的单页总结。✓ 已复制
    → 综合分析有每个观点的来源,没有虚构内容

结果: 一个可引用的、递进式的研究资产,不依赖于上下文窗口技巧。

注意事项
  • 没有来源的观察结果后来无法与模型幻觉区分 — 要求每个观察结果在文本中包含来源(「来源:X,日期:Y」);拒绝没有来源的
搭配使用: firecrawl · exa-search · fetch

组合

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

memory + filesystem

加载长格式研究文档,提取事实,并在记忆中存储供后来综合使用

读取 /research/ 下的每个 .md 文件。对于每个关键观点,在记忆中的相关话题实体上添加作为观察结果。包含文件名作为来源。✓ 已复制
memory + github

记住仓库特定的约定,这样未来的 PR 评审可以应用它们而不需要重新解释

从 acme/api 中最后 10 个合并的 PR 中,提取语气、长度和标题约定。作为对「acme/api」实体的观察结果存储。✓ 已复制

让长推理会话的草稿发现跨对话保持

运行 sequential-thinking 会话来规划我们的迁移。在最后,把结论作为对「db-migration-q2」实体的观察结果写下来。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
create_entities entities: [{name, entityType, observations[]}] 引入一个新实体(人、项目、系统、概念) free
create_relations relations: [{from, to, relationType}] 用类型化的边连接两个现有实体 free
add_observations observations: [{entityName, contents[]}] 向现有实体添加事实(最常见操作) free
delete_entities entityNames: str[] 删除已过时的实体(也会删除它们的关系) free
delete_observations deletions: [{entityName, observations[]}] 删除出错的特定事实 free
delete_relations relations: [...] 删除边而不删除实体 free
read_graph none 转储完整图——一旦它增长就谨慎使用 free
search_nodes query: str 按关键词在名称/类型/观察结果中查找实体 free
open_nodes names: str[] 按确切名称拉取特定实体 free

成本与限制

运行它的成本

API 配额
无限——本地 JSON
每次调用 Token 数
小——图操作默认只返回更改的节点
费用
免费
提示
一旦你有 50+ 个实体,就优先用 search_nodesopen_nodes 而不是 read_graph,否则每轮加载整个图会消耗大量 token。

安全

权限、密钥、影响范围

凭据存储: 无凭据。图文件是 MEMORY_FILE_PATH 指向的任何位置。
数据出站: 服务器端无外泄。观察结果会作为上下文发送给你的 LLM 提供商,当 Claude 读取它们时。

故障排查

常见错误与修复

记忆在重启后不保存

设置环境变量 MEMORY_FILE_PATH 为绝对路径,如 /Users/you/.claude/memory.json。没有它,服务器使用临时路径。

验证: 检查 MCP 客户端配置中的环境变量;重启后,调用 `read_graph` 并验证旧实体返回
Claude 从不自动查询记忆

服务器公开工具;模型仍然需要提示。添加一个项目级指令,如「在回答关于 <project> 的问题之前,调用 search_nodes 获取相关上下文。」

重复实体,如「Jamie」和「jamie-chen」

采用命名约定(kebab-case 或全名)。定期在 add_observations 合并事实后运行 read_graphdelete_entities 来删除重复项。

关系失败,出现「实体未找到」

两个端点实体必须先存在。在 create_relations 之前用 create_entities 创建它们。

替代方案

Memory 对比其他方案

替代方案何时用它替代权衡
Qdrant MCP你需要在数千笔笔记中进行语义搜索,而不是手工策划的图需要运行 Qdrant;对模糊回忆很好,对明确的结构化事实较差
Notion MCP你的「记忆」实际上是一个共享的团队知识库受网络限制,更慢,需要 API 密钥——但人类也可以读/编辑它
Neo4j MCP你在构建一个具有复杂查询的严肃知识图谱更重——需要数据库;对个人记忆来说过度设计

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

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