项目简介
Mem0 MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它集成了 Mem0.ai 的功能,为大型语言模型 (LLM) 提供持久化记忆能力。该服务器允许 AI 智能体跨会话存储和检索信息,增强 LLM 的上下文理解和长期记忆能力。
主要功能点
- 记忆存储 (add_memory): 允许 LLM 将文本内容作为记忆存储到 Mem0.ai 中,并关联用户和会话信息。
- 记忆检索 (search_memory): 允许 LLM 基于自然语言查询在 Mem0.ai 中搜索和检索相关的记忆内容。
- 用户和会话管理: 支持通过 'userId' 和 'sessionId' 参数对记忆进行用户和会话级别的隔离和管理。
安装步骤
-
安装 npm 包 (推荐快速使用): 打开终端,全局安装 '@pinkpixel/mem0-mcp' 包:
npm install -g @pinkpixel/mem0-mcp -
或从仓库克隆运行: 如果你希望从克隆的仓库运行,请先克隆仓库并安装依赖:
git clone https://github.com/pinkpixel-dev/mem0-mcp cd mem0-mcp npm install npm run build
服务器配置
在你的 MCP 客户端配置中 (例如 Claude Desktop, Cursor, Cline, Roo Code 等),添加以下服务器配置。你需要根据你的安装方式选择对应的配置:
1. 使用 'npx' 启动 (推荐):
{ "mcpServers": { "mem0-mcp": { "command": "npx", "args": [ "-y", "@pinkpixel/mem0-mcp" ], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE" // 替换为你的 OpenAI API Key }, "disabled": false, "alwaysAllow": [] } } }
2. 使用 'node' 启动 (从克隆仓库运行):
{ "mcpServers": { "mem0-mcp": { "command": "node", "args": [ "/path/to/your/cloned/mem0-mcp/build/index.js" // 替换为你的仓库 build 目录下的 index.js 文件的绝对路径 ], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE" // 替换为你的 OpenAI API Key }, "disabled": false, "alwaysAllow": [] } } }
重要:
- 请将 '"YOUR_OPENAI_API_KEY_HERE"' 替换为你实际的 OpenAI API Key。Mem0 MCP Server 内部使用 OpenAI API 进行记忆的嵌入和处理。
- 如果你选择从克隆仓库运行,请将 '"/path/to/your/cloned/mem0-mcp/build/index.js"' 替换为你克隆的 'mem0-mcp' 仓库中 'build/index.js' 文件的绝对路径。
可选配置: 默认用户 ID
为了方便测试或单用户场景,你可以设置 'DEFAULT_USER_ID' 环境变量。如果设置了该变量,并且在调用 'search_memory' 工具时省略了 'userId' 参数,服务器将使用 'DEFAULT_USER_ID' 的值作为默认用户 ID。
例如,在 'npx' 启动的配置中添加 'DEFAULT_USER_ID' 环境变量:
{ "mcpServers": { "mem0-mcp": { // ... 其他配置 ... "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", "DEFAULT_USER_ID": "user" // 设置默认用户 ID 为 "user" }, // ... 其他配置 ... } } }
基本使用方法
配置完成后,你的 MCP 客户端 (如 Claude, Cursor 等) 即可连接到 Mem0 MCP Server。LLM 可以通过调用 'add_memory' 工具存储记忆,并通过 'search_memory' 工具检索记忆。
- 存储记忆: LLM 可以调用 'add_memory' 工具,并提供 'content' (记忆内容) 和 'userId' (用户 ID) 作为参数。例如:
{ "action": "call_tool", "tool_name": "add_memory", "arguments": { "content": "我在上次的会议中讨论了项目进展。", "userId": "用户123" } }
- 检索记忆: LLM 可以调用 'search_memory' 工具,并提供 'query' (查询语句) 和 'userId' (用户 ID,可选) 作为参数。例如:
{ "action": "call_tool", "tool_name": "search_memory", "arguments": { "query": "上次会议讨论了什么?", "userId": "用户123" } }
服务器会将检索到的记忆内容以 JSON 格式返回给 LLM。
信息
分类
AI与计算