/ 目錄 / 演練場 / Memory
● 官方 modelcontextprotocol ⚡ 即開即用

Memory

作者 modelcontextprotocol · modelcontextprotocol/servers

一个持久的知识图谱,Claude 跨对话读写 — 这样它就能记住你的專案、团队和偏好。

标准的 Memory MCP。将实体(人物、專案、事物)、它们的观察(事实)和类型化的关系存储为本地 JSON 知识图谱。让 Claude 能记住具体事实(『我们的生产数据库叫 api-prod-01』、『Jamie 偏好用项目符号形式的 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. 边做边添加偏好观察
    记住:当我要求你为此仓库编写提交信息时,使用祈使态而不加前缀标签。将此作为观察存储在『acme-corp/api』实体上。✓ 已複製
    → 观察已添加而无需重新创建实体
  3. 在新会话中测试回忆
    你对 api-prod-01 了解什么?✓ 已複製
    → Claude 查询图谱并展示事实,而非通用答案

結果: 一个随着每次聊天而变聪明的个人知识图谱 — 使用 Claude 越多,你需要输入的样板代码就越少。

注意事項
  • Claude 不会自动使用记忆;它会忘记检查 — 在系统/專案提示中添加『在处理此專案的每项任务开始时,始终查询记忆图谱』
  • 图谱变得混乱 — 出现名称略有不同的重复实体 — 选择一个命名规范(kebab-case),并定期要求 Claude 执行 read_graph 并去重
搭配使用: filesystem · github

构建同事偏好的轻量级 CRM

👤 与许多利益相关者合作的个人贡献者和领导 ⏱ ~10 min beginner

何時使用: 你不断忘记谁更喜欢 Slack 还是邮件、谁想要项目符号还是散文、谁在哪个專案上。

步驟
  1. 在首次交互时创建人物实体
    创建一个 Person 实体『jamie-chen』。观察:『结帐团队的产品经理』、『偏好 Loom 而非文档』、『评审在周二/周四上午 PT 时间进行』。✓ 已複製
    → 实体可通过 open_nodes 查看
  2. 用关系将人物链接到專案
    添加关系:jamie-chen --owns--> checkout-redesign-2026。以及:alex-kim --reviews--> checkout-redesign-2026。✓ 已複製
    → 关系出现在图中
  3. 在给他们写东西之前查询
    我要给 Jamie 起草关于结帐重新设计的更新。我对他们的沟通偏好和該專案了解什么?✓ 已複製
    → 返回存储的偏好,通知草稿语气

結果: 你不再问『那个产品经理又是谁?』你的异步更新第一次就能命中正确的语气。

注意事項
  • 存储关于真实同事的敏感/个人信息感觉很奇怪,可能会泄露 — 只存储工作偏好观察;永远不要存储个人详情。将檔案视为敏感 — 它将与你备份到的任何地方同步
搭配使用: linear · github

在多个会话间保持研究记录

👤 研究人员、写作者、任何花费数周调查一个主题的人 ⏱ ~20 min intermediate

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

步驟
  1. 将每个发现作为主题实体的观察捕获
    我正在研究『企业中的 MCP 采用』。将其创建为实体。现在添加此发现作为观察:『Anthropic 报告称 Claude Code 60% 的客户使用 3+ MCPs(来源:博客 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』实体的观察。✓ 已複製

让长推理会话在聊天间保持其草稿发现

运行顺序思考会话来规划我们的迁移。最后,将结论作为观察写入『db-migration-q2』实体。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
create_entities entities: [{name, entityType, observations[]}] 引入新实体(人物、專案、系统、概念) 免费
create_relations relations: [{from, to, relationType}] 用类型化边连接两个现有实体 免费
add_observations observations: [{entityName, contents[]}] 向现有实体追加事实(最常见的操作) 免费
delete_entities entityNames: str[] 删除过时的实体(也会删除其关系) 免费
delete_observations deletions: [{entityName, observations[]}] 删除被证实是错误的特定事实 免费
delete_relations relations: [...] 删除边而不删除实体 免费
read_graph none 转储完整图 — 一旦增长就要谨慎使用 免费
search_nodes query: str 通过关键字在名称/类型/观察中查找实体 免费
open_nodes names: str[] 按精确名称提取特定实体 免费

成本與限制

運行它的成本

API 配額
无限制 — 本地 JSON
每次呼叫 Token 數
小 — 图操作默认仅返回更改的节点
費用
免费
提示
一旦你有 >50 个实体,就优先使用 search_nodesopen_nodes 而不是 read_graph,否则你每轮都要付费加载整个图。

安全

權限、密鑰、影響範圍

憑證儲存: 没有凭证。图檔案是 MEMORY_FILE_PATH 指向的任何地方。
資料出站: 从服务器没有数据流出。观察在 Claude 读取时作为上下文发送给你的 LLM 提供商。

故障排查

常見錯誤與修復

记忆不会在重启间持久存在

将环境变量 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 来删除重复项。

关系失败且显示『entity not found』

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

替代方案

Memory 對比其他方案

替代方案何時用它替代權衡
Qdrant MCP你需要在数千条笔记上进行语义搜索,而不是手动策展的图需要运行 Qdrant;擅长模糊回忆,不擅长显式结构化事实
Notion MCP你的『记忆』真的是共享的团队知识库网络绑定、更慢、需要 API 密钥 — 但人类也可以读取/编辑它
Neo4j MCP你正在构建一个有复杂查询的严肃知识图谱更重 — 需要数据库;对于个人记忆来说是过度设计

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills