编辑导读:本文介绍 OpenMemory MCP——一个让多个 AI 工具共享同一记忆库的开源本地记忆层。文章讲解了它的核心特性:所有交互内容都保存在用户自己的设备上;Claude、Cursor、Windsurf 等客户端读取同一个记忆库,无需在每个工具中重复输入上下文;记忆附带主题、时间戳等元数据,便于检索;内置的仪表盘负责浏览、删除以及按客户端设置访问权限。技术上,它将 Qdrant 向量数据库与服务器发送事件(SSE)相结合以实现实时通信。原始教程使用 git clone 和 Docker 在本地构建该服务,不过编者注提到该路径现已被一行命令的安装器取代。核心要点:一份共享的本地记忆胜过在工具之间复制粘贴上下文,前提是你明确将允许读取它的客户端加入白名单。跟随本文操作时可随手查阅的官方页面:mem0 / OpenMemory 仓库、MCP 规范、Cursor 文档。
OpenMemory MCP(Model Context Protocol,模型上下文协议)正式上线,为 AI 工具提供统一的本地记忆共享方案。这款开源工具允许用户将 AI 交互内容存储在本地,并通过 MCP 协议共享给 Claude、Cursor、Windsurf 等受支持的客户端。只需维护一份记忆内容,即可实现跨工具的上下文同步。

核心特性:本地存储、跨工具共享
OpenMemory MCP 通过本地记忆层为兼容 MCP 的客户端提供持久的、具备上下文感知能力的记忆管理。其主要特性包括:
统一的本地存储:所有 AI 交互内容(如项目需求、代码风格偏好)都存储在用户自己的设备上,确保数据隐私与掌控权。
跨工具记忆共享:支持 Claude、Cursor、Windsurf 等 MCP 客户端无缝访问同一个记忆库,免去重复输入上下文的麻烦。
元数据增强:记忆内容附带主题、情感、时间戳等元数据,便于搜索和管理。
可视化仪表盘:内置的 OpenMemory 仪表盘提供集中管理界面,支持记忆的新增、浏览、删除以及客户端访问权限控制。
OpenMemory MCP 使用 Qdrant 向量数据库和服务器发送事件(Server-Sent Events,SSE)来实现高效的记忆存储与实时通信。社交媒体上的反馈显示,开发者对该工具的本地运行和跨工具一致性给出了极高的评价,尤其适合多工具协作场景(https://github.com/mem0ai/mem0/tree/main/openmemory)。
安装与配置
前置条件
开始之前,请确保系统已安装以下软件:
- Docker 与 Docker Compose
- Python 3.9+
- Node.js
- OpenAI API 密钥
- GNU Make
详细安装步骤
- 克隆代码仓库并设置 OpenAI API 密钥
Copy# Clone the repositorygit clone https://github.com/mem0ai/mem0.gitcd openmemory# Set the OpenAI API key as an environment variableexport OPENAI_API_KEY=your_api_key_here- 配置后端
Copy# Copy the environment file and update OPENAI_API_KEY and other keysmake env# Build all Docker imagesmake build# Start the Postgres, Qdrant, and FastAPI/MCP serversmake up环境文件 .env.local 将包含以下内容:
OPENAI_API_KEY=your_api_key- 配置前端
Copy# Install dependencies using pnpm and run the Next.js development servermake ui安装完成后,你可以访问 https://localhost:3000 查看 OpenMemory 仪表盘,它会引导你在 MCP 客户端中安装 MCP 服务器。
实际使用场景
案例一:跨工具项目开发流程
场景:你正在开发一个涉及多个工具和环境的复杂软件项目。
实施步骤:
- 连接多个 MCP 客户端
首先,我们需要在每个工具中安装 OpenMemory MCP。从仪表盘获取安装命令:
Copy# Install in Cursornpx @openmemory/install# Install in Claude Desktopnpx @openmemory/install- 在 Claude 中定义项目需求
打开 Claude Desktop,与 AI 讨论并定义你的项目需求:
I'm developing a data synchronization tool called "DataSync" that needs to implement the following functions:1. Support real-time data synchronization from MySQL and PostgreSQL databases2. Provide a REST API interface for monitoring the synchronization status3. Data changes need to be recorded in the event log4. Provide a simple web interface to view the synchronization statusClaude 会给出系统架构方面的建议。此时,它会使用 add_memories() 函数将这段对话记忆存入 OpenMemory MCP。
- 在 Cursor 中开发
现在切换到 Cursor 编辑器。你可以直接引用之前的需求和架构设计:
Please write a connector module for the MySQL data source based on the DataSync project architecture we discussed before.Cursor 会通过 search_memory() 函数检索之前在 Claude 中定义的项目架构,然后生成符合此前讨论的连接器代码。
- 在 Windsurf 中调试
遇到问题时,切换到 Windsurf 进行调试:
The MySQL connector of the DataSync project has performance issues when processing a large number of transactions. Do you have any optimization suggestions?Windsurf 可以通过 OpenMemory MCP 获取之前的上下文,包括项目需求和在 Cursor 中编写的代码,从而给出更准确的调试建议。
- 通过仪表盘查看项目记忆
在 OpenMemory 仪表盘中,你可以看到所有已存储的记忆,包括:
- 项目需求记忆(来自 Claude)
- 代码实现记忆(来自 Cursor)
- 调试问题记忆(来自 Windsurf)
你可以按类别、创建日期或应用来筛选这些记忆。
案例二:个性化编程助手
场景:你想创建一个能记住你的编程风格、常见问题及其解决方案的助手。
实施步骤:
- 存储编程偏好
在 Cursor 中,告诉 AI 你的编程偏好:
My Python coding style preferences:1. Use type hints2. Each function needs to have a clear docstring3. Use the Black formatting tool4. Use snake_case for variable naming- 创建基础项目配置
在新项目中,让 AI 帮你生成配置:
Please generate the following files for a Python project based on my coding preferences:1. .flake8 configuration2. pyproject.toml (including Black and mypy configuration)3. Example directory structure- 遇到报错时获取帮助
写代码遇到问题时:
I encountered the following error when implementing a SQLAlchemy query:AI 会解决这个问题,并使用 add_memories() 函数将错误和解决方案存储下来。下次遇到类似问题时,它可以直接检索到这段记忆。
- 追踪学习进度
在仪表盘中查看“记忆”部分,你可以看到:
- 所有已存储的编程问题及解决方案
- 按技术栈自动分类的记忆(如“Python”、“SQLAlchemy”、“API 设计”等)
- 访问频率最高的记忆,帮助你发现反复出现的问题
进阶功能与使用技巧
1. 记忆管理
OpenMemory MCP 提供了多种管理记忆的方式:
- 暂停/启用记忆:你可以在仪表盘中暂停特定记忆的访问权限,在需要临时停用某些信息时非常有用
- 归档记忆:归档那些暂时不需要、但将来可能用到的记忆
- 删除记忆:永久移除不再需要的记忆
- 批量操作:选择多条记忆进行批量暂停、归档或删除
2. 手动创建记忆
除了让 AI 自动存储记忆外,你还可以手动创建记忆:
- 在仪表盘中点击“创建记忆”按钮
- 输入记忆内容并选择类别
- 设置访问权限(哪些应用可以读取这条记忆)
这对于存储重要的项目信息、团队规范或常用代码片段尤其有用。
3. 访问控制
通过细粒度的访问控制,你可以:
- 控制哪些应用可以访问特定记忆
- 暂停某个应用的整体写入权限
- 为不同类型的记忆设置不同的访问级别
例如,你可能希望个人偏好只对 Cursor 可见,而项目架构则对所有工具可见。
常见问题与解决方法
Q1:OpenMemory MCP 服务器无法启动或连接失败。
解决方法:
- 确认 Docker Desktop 正在运行
- 检查 8765 和 3000 端口是否被其他应用占用
- 查看日志:make logs
- 重新构建并启动:make down && make build && make up
Q2:记忆未被正确检索。
解决方法:
- 确认记忆状态为“Active”(活跃),而不是“Paused”(已暂停)或“Archived”(已归档)
- 检查应用访问权限是否设置正确
- 尝试调整查询关键词,使其更接近原始记忆内容
- 在仪表盘中手动搜索该记忆,确认其存在
Q3:如何跨多台设备共享记忆?
解决方法:目前 OpenMemory MCP 完全在本地运行,尚不支持原生的跨设备同步。不过你可以:
- 备份并迁移数据库文件
- 等待即将推出的 OpenMemory Cloud 版本,它将提供云同步功能
最佳实践
- 有效组织记忆:让 AI 以清晰的结构存储记忆,例如“项目:DataSync/需求”、“代码:SQLAlchemy/错误”
- 定期检查与清理:定期查看仪表盘,归档或删除不再需要的记忆,保持记忆库的质量
- 自动记忆与手动记忆并用:让 AI 自动存储对话记忆,同时为关键信息手动创建记忆
- 善用分类功能:使用仪表盘的分类筛选功能,更高效地管理和检索记忆
结语
OpenMemory MCP 解决了现代 AI 助手最关键的局限之一:上下文丢失与记忆中断。它通过为 AI 提供持久记忆层,实现了真正个性化的 AI 交互体验,提升了多工具工作流的效率,同时保持数据完全本地存储和用户自主掌控。
无论你是在开发复杂项目、开展研究,还是打造个性化助手,OpenMemory MCP 都能显著提升你的 AI 工作流。现在就开始尝试这款强大的工具,让你的 AI 真正理解并“记住”你的工作方式。