2026-09-15
在 Claude Desktop 里存一条记忆,在 Cursor 里读出来
文档可以随便宣称「记忆图谱在任何连上的 MCP 客户端之间共享」,但唯一能验证这句话的办法,是真的在一个客户端里写入一条事实,再去一个完全不同的客户端里试着读出来——所以这篇不是功能列表,是三个真实客户端的真实截图。
真正重要的那个测试:一条事实,两个客户端
在一个真实连接了 Spomory 云端的 Claude Desktop 会话里,Claude 调用了 add_memory 记住一条事实:
然后,在一个完全独立的 Cursor 会话里——不同的客户端,同一个 Spomory Cloud 连接——问了一个相关但措辞完全不同的问题:
这才是真正被测试的东西:不是「Spomory 有一个叫 search_memory 的 MCP 工具」,而是「从 Claude Desktop 写入的一条事实,能在 Cursor 里、换一种问法,通过同一个账号检索出来」。没有事先编排,第一次真实尝试就跑通了。
Claude Desktop:连接器,以及全部六个工具
接入方式是在设置里的 Connectors 下添加一个自定义连接器,指向 Spomory 的 OAuth 端点(https://api.yliuai.com/mcp):
连上之后,全部六个工具都会带着真实名字和单独的审批控制显示出来——包括 forget_all_memory,是在一个真实用户(这个项目自己的维护者)撞到 forget_memory 刻意设计的边界之后加上的:想清空全部记忆得一条一条调用,不能一步到位。
Cursor:同一个远程连接,走 mcp.json
Cursor 没有像 Claude Desktop 那样专门的「OAuth 连接器」入口——同一个远程端点是通过 mcp.json 里一段普通的 url + headers 连上的,入口在 Customize → MCPs → 「+ New MCP Server」:
这就是 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 CLI 的连接路径本身是验证过的——能连上、工具能正确注册——但这篇没有像上面 Claude Desktop 和 Cursor 那样附上它的真实请求/响应记录。三个客户端完整的接入步骤、以及本地版/远程版的区别,见下面链接的 GitHub 文档。