MCP.so
登录

Memory MCP Server (Knowledge Graph)

@modelcontextprotocol

基本信息

分类

记忆与知识

许可证

NOASSERTION

传输方式

stdio

作者

modelcontextprotocol

关于 Memory MCP Server

Model Context Protocol 服务器

连接前先了解

文档核对日期:2026-10-25

适合什么场景

这个参考服务用知识图谱保存实体、观察和关系,适合明确的事实与关联,而不是 Markdown 笔记本或文档搜索系统。

配置与限制

将 MEMORY_FILE_PATH 设置到明确的持久化位置。若要共享记忆,不同客户端必须使用同一个目标文件。先创建临时实体、在新会话读取再删除。它不是托管的云端记忆账户。

本说明依据所列文档核对,未代表通过账户认证的实际连接测试;建议检查项需要在你的环境执行。

Memory MCP Server 配置

使用下面的配置,将此服务器添加到你的 MCP 客户端。

{
  "mcpServers": {
    "memory": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "-v",
        "claude-memory:/app/dist",
        "--rm",
        "mcp/memory"
      ]
    }
  }
}

Memory MCP Server 工具

9

Create multiple new entities in the knowledge graph

Create multiple new relations between entities

Add new observations to existing entities

Remove entities and their relations

Remove specific observations from entities

Remove specific relations from the graph

Read the entire knowledge graph

Search for nodes based on query

Retrieve specific nodes by name

概览

什么是 Memory MCP Server (Knowledge Graph)?

Memory MCP Server (Knowledge Graph) 是 Model Context Protocol 项目提供的参考版 MCP memory 服务器:它把实体、关系和观察记录存进本地知识图谱文件,为 Claude 等客户端提供持久记忆,让信息可以跨对话保留。

它在 npm 上以 @modelcontextprotocol/server-memory 发布,Docker 镜像为 mcp/memory,源码位于官方 modelcontextprotocol/servers 仓库(MIT License)。它通过 stdio 在本地运行,不需要 API key,也不需要外部数据库。

如何使用 Memory MCP Server (Knowledge Graph)?

前置条件:Node.js(用于 npx)或 Docker。无需账号或 API key。

唯一的配置项是可选的环境变量 MEMORY_FILE_PATH,即存储图谱的 JSONL 文件路径。未设置时,服务器会在自身的服务器目录中写入 memory.jsonl。

Claude Desktop

在 claude_desktop_config.json 中添加:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"],
      "env": {
        "MEMORY_FILE_PATH": "/path/to/custom/memory.jsonl"
      }
    }
  }
}

如果改用 Docker,并把图谱保存在命名卷中:

{
  "mcpServers": {
    "memory": {
      "command": "docker",
      "args": ["run", "-i", "-v", "claude-memory:/app/dist", "--rm", "mcp/memory"]
    }
  }
}

在 Windows 上,需要通过 cmd 启动 npx:设置 "command": "cmd" 和 "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-memory"]。

Claude Code

用 Claude Code CLI 注册同一条 npx 命令:

claude mcp add memory -e MEMORY_FILE_PATH=/path/to/custom/memory.jsonl -- npx -y @modelcontextprotocol/server-memory

Cursor

Cursor 读取与 Claude Desktop 相同的 mcpServers JSON。把它放到 ~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目级)。

VS Code

README 提供了 VS Code 和 VS Code Insiders 的一键安装按钮。手动添加时,在命令面板中运行 MCP: Open User Configuration,或在工作区创建 .vscode/mcp.json。注意 VS Code 使用的是 servers 键:

{
  "servers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}

告诉模型何时记忆

服务器只保存模型决定写入的内容。README 提供了一个用于聊天个性化的系统提示词示例:让模型在每次对话开始时检索它的“memory”,留意身份、行为、偏好、目标和人际关系等信息,并把它们保存为实体、关系和观察记录。把类似的提示词放进项目指令或自定义指令中,它决定了记忆创建的频率和类型。

Memory MCP Server (Knowledge Graph) 的主要功能

  • 本地知识图谱:数据保存在你机器上的普通 JSONL 文件中,没有云服务,也没有数据库。
  • 三层数据模型:实体(名称、类型和观察记录)、以主动语态存储的有向关系(例如 works_at),以及每条只记录一个事实的原子化观察记录。
  • 完整的 CRUD 工具集:九个工具用于创建、读取、搜索和删除实体、关系与观察记录。
  • 可读取的 MCP 资源:整个图谱通过 memory://knowledge-graph(application/json)公开;写入类工具会发送 notifications/resources/updated,订阅的客户端可以实时看到变化。
  • 可配置的存储路径:设置 MEMORY_FILE_PATH,把图谱放在任意位置。
  • 多客户端安全共享:每次写入都会获取独占的 <memory file>.lock,多个客户端进程共享同一个文件时不会丢失写入;残留的过期锁会被自动清理。

Memory MCP Server (Knowledge Graph) 工具

这些工具分为三组:

  • 写入:create_entities 添加新节点,并跳过已存在的名称;create_relations 在两个已存在的实体之间建立关系,并跳过重复项;add_observations 为已有实体追加事实。
  • 删除:delete_entities 删除实体并级联删除其关系;delete_observations 和 delete_relations 删除指定条目。这三个工具在目标不存在时都不会报错,而是报告找到或删除了哪些内容。
  • 读取:read_graph 返回完整图谱;search_nodes 在实体名称、类型和观察内容中匹配查询;open_nodes 按名称获取指定实体及它们之间的关系。

Memory MCP Server (Knowledge Graph) 的使用场景

  • 聊天个性化:跨会话保留用户的姓名、职位、所在地和沟通风格。“记住我喜欢简短的回答,并且在柏林工作。”
  • 偏好与习惯:记录反复出现的兴趣和工作习惯,无需每次重复。“记一下我每天早上审查 pull request。”
  • 目标追踪:保存个人或团队目标,之后再查看。“这个季度我跟你说过哪些目标?”
  • 人际关系上下文:把人和组织建模为实体和关系。“John_Smith works_at Anthropic,并向 Jane 汇报。”
  • 编码 Agent 的项目知识:在 Claude Code 或 Cursor 中,把决策和约定保存为观察记录。“记住这个仓库使用 pnpm 和 Drizzle ORM。”

Memory MCP Server (Knowledge Graph) 与替代方案对比

作为一种 MCP memory 方案,它刻意保持简单:JSONL 图谱、基于名称/类型/观察记录的文本搜索,没有嵌入向量,因此便于检查和备份。在相关服务器中,Filesystem MCP Server 让模型读写普通文件,Obsidian MCP Server 把 Obsidian 仓库当作长期笔记。如果你希望记忆以人类可读的文档而不是图谱的形式保存,可以选择它们。memory MCP server 的一些社区分支增加了按项目分文件或时间戳等功能。

Memory MCP Server (Knowledge Graph) 常见问题排查

  • Windows 上 npx 无法启动:按 README 所示,通过 cmd /c npx -y @modelcontextprotocol/server-memory 启动。
  • 记忆似乎丢失或难以找到:默认文件是服务器目录中的 memory.jsonl。把 MEMORY_FILE_PATH 设置为一个明确的绝对路径,让所有客户端使用同一个文件。
  • 模型从不保存任何内容:服务器是被动的。添加系统提示词或自定义指令,告诉模型何时检索和更新记忆。
  • 写入工具因锁而超时报错:60 秒内拿不到锁的写入会直接失败,而不会覆盖文件。请把记忆文件放在本地磁盘上可写的文件夹中,不要放在网络文件系统上。
  • 升级 Docker 镜像:旧的 mcp/memory 卷中包含一个 index.js 文件,可能会被新容器覆盖。启动新容器前,先从旧卷中删除该文件。

常见问题

1

Memory MCP 服务器是官方的吗?

是的。它是官方 `modelcontextprotocol/servers` 仓库中的参考服务器之一,在 npm 上发布为 `@modelcontextprotocol/server-memory`,在 Docker 上发布为 `mcp/memory`。

2

它免费吗?需要 API key 吗?

它免费且开源,采用 MIT License。所有内容都在本地运行,因此不需要 API key 或账号。

3

这个 MCP memory 服务器把数据存在哪里?

存在一个 JSONL 文件中:默认是服务器目录下的 `memory.jsonl`,也可以通过 `MEMORY_FILE_PATH` 设置任意路径。Docker 配置会把它保存在 `claude-memory` 卷中。

4

它支持 Claude Code、Cursor 和 VS Code 吗?

支持。它是标准的 stdio MCP 服务器,任何 MCP 客户端都可以用 npx 或 Docker 命令启动它。VS Code 使用 `servers` 键而不是 `mcpServers`。

5

它是远程服务器还是本地服务器?

本地服务器。它作为由 MCP 客户端通过 stdio 启动的进程运行,数据不会经由该服务器离开你的机器。

6

两个客户端可以共享同一个 knowledge graph memory MCP 文件吗?

可以。把两者都指向同一个 `MEMORY_FILE_PATH`。每次写入都会获取独占锁文件,因此不同进程的写入会依次进行。这依赖于本地文件系统。

7

它使用嵌入向量或向量搜索吗?

不使用。`search_nodes` 会在实体名称、实体类型和观察内容中匹配查询,不进行语义搜索。

8

有哪些安全方面的注意事项?

模型可以创建和删除图谱中的任何内容,而且数据以纯文本形式存储。不要让它记录密钥等机密信息,并像对待其他个人数据一样保护和备份 JSONL 文件。

评论

记忆与知识 分类下的更多 MCP 服务器