2026-09-15

在 Claude Desktop 里存一条记忆,在 Cursor 里读出来

文档可以随便宣称「记忆图谱在任何连上的 MCP 客户端之间共享」,但唯一能验证这句话的办法,是真的在一个客户端里写入一条事实,再去一个完全不同的客户端里试着读出来——所以这篇不是功能列表,是三个真实客户端的真实截图。

Spomory 接入它真正支持的三个 MCP 客户端:Claude Desktop、Cursor、Codex CLI

真正重要的那个测试:一条事实,两个客户端

在一个真实连接了 Spomory 云端的 Claude Desktop 会话里,Claude 调用了 add_memory 记住一条事实:

Claude Desktop 调用 Spomory 的 add_memory 工具,展示真实的请求和响应
add_memory 的真实请求(「我在 Acme Robotics 做后端工程师,我的经理是 Daniel Chen」)和响应,来自一次真实的 Claude Desktop 对话。

然后,在一个完全独立的 Cursor 会话里——不同的客户端,同一个 Spomory Cloud 连接——问了一个相关但措辞完全不同的问题:

Cursor 的 Agent 搜索 Spomory 并正确回答用户的经理是谁
Cursor 的 Agent 搜索 Spomory,回答「你的经理是 Daniel Chen」——正确关联上了上一张图里从 Claude Desktop 记录的那条事实。

这才是真正被测试的东西:不是「Spomory 有一个叫 search_memory 的 MCP 工具」,而是「从 Claude Desktop 写入的一条事实,能在 Cursor 里、换一种问法,通过同一个账号检索出来」。没有事先编排,第一次真实尝试就跑通了。

Claude Desktop:连接器,以及全部六个工具

接入方式是在设置里的 Connectors 下添加一个自定义连接器,指向 Spomory 的 OAuth 端点(https://api.yliuai.com/mcp):

Claude Desktop 的 Add custom connector 对话框
Claude Desktop 的「Add custom connector」对话框。

连上之后,全部六个工具都会带着真实名字和单独的审批控制显示出来——包括 forget_all_memory,是在一个真实用户(这个项目自己的维护者)撞到 forget_memory 刻意设计的边界之后加上的:想清空全部记忆得一条一条调用,不能一步到位。

Claude Desktop 里 Spomory Cloud 的 Connectors 设置,列出全部六个工具
Claude Desktop 里 Spomory Cloud 的 Connectors 设置,列出全部六个工具(Export memory、Get memory graph、Add memory、Forget all memory、Forget memory、Search memory),每个工具单独可控审批方式。

Cursor:同一个远程连接,走 mcp.json

Cursor 没有像 Claude Desktop 那样专门的「OAuth 连接器」入口——同一个远程端点是通过 mcp.json 里一段普通的 url + headers 连上的,入口在 Customize → MCPs → 「+ New MCP Server」:

Cursor 的 mcp.json,展示远程连接的 url 和 headers,API Key 已脱敏
Cursor 的 mcp.json,展示真实的连接结构:url 指向 Spomory 的 API Key 挂载点,x-api-key 请求头(key 的值在发布前替换成了占位符)。

这就是 Cursor 真正认的远程 MCP Server JSON 结构——是 url 和 headers,不是本地/stdio 版本那样的 command 和 env。

Codex CLI:config.toml,或者同样内容的图形化表单

Codex 原生格式是 TOML,不是 JSON:

[mcp_servers.Spomory]
command = "/absolute/path/to/memory-core-venv/bin/memory-core-mcp"

[mcp_servers.Spomory.env]
LLM_API_KEY = "..."
LLM_BASE_URL = "https://api.deepseek.com"
LLM_MODEL = "deepseek-v4-flash"

Codex 的桌面/IDE 版本还有一个图形化表单,在 Plugins → Manage → MCPs → 「+ Add server」,支持 Spomory 需要的两种连接类型:远程部署用 Streamable HTTP,本地版用 STDIO。

Codex 的 Connect to a custom MCP 表单,选中了 Streamable HTTP 类型
Codex 的「Connect to a custom MCP」表单,Streamable HTTP 类型——对应远程部署。
Codex 的 Connect to a custom MCP 表单,选中了 STDIO 类型
Codex 的「Connect to a custom MCP」表单,STDIO 类型——对应本地部署。

这篇没覆盖到的部分

Codex CLI 的连接路径本身是验证过的——能连上、工具能正确注册——但这篇没有像上面 Claude Desktop 和 Cursor 那样附上它的真实请求/响应记录。三个客户端完整的接入步骤、以及本地版/远程版的区别,见下面链接的 GitHub 文档。