Mem0自定义MCP服务器
 ](https://nodejs.org/)  
自定义模型上下文协议(MCP)服务器,连接到自托管的Mem0 API实例。允许Claude Code使用您自己的Mem0部署进行内存管理。
为什么存在
官方的 @mem0/mcp-server 和社区 @pinkpixel/mem0-mcp 软件包仅支持:
- Mem0的云平台(需要
MEM0_API_KEY) - Supabase后端
- 本地存储
两者都不支持连接到自定义自托管Mem0 API端点。
这个定制的MCP服务器通过为您自己托管的Mem0 API提供包装来弥补这一差距。
特性
- ✅ 在自定义端点连接到自托管的Mem0 API
- ✅ 实现用于Claude Code集成的MCP stdio协议
- ✅ 支持所有核心Mem0操作:
- add_memory -储存新的回忆 - search_memories -通过记忆进行语义搜索 - get_memories -检索用户的所有记忆 - delete_memory -删除特定记忆
- ✅ 环境变量配置
- ✅ 具有类型安全的完整TypeScript实现
- ✅ 120秒超时 用于缓慢的Mem0 API响应(处理LLM处理延迟)
安装
来自GitHub(目前推荐)
# Clone the repository
git clone https://github.com/emasoudy/mem0-custom-mcp.git
cd mem0-custom-mcp
# Install dependencies
npm install
# Build the project
npm run build来自npm(未来-发布时)
# This will be available after npm publish
npm install -g mem0-custom-mcp配置
服务器是通过环境变量配置的:
MEM0_API_URL-您的Mem0 API端点(默认值:http://localhost:8888)DEFAULT_USER_ID-内存操作的默认用户ID(默认值:default)
示例配置:
- 当地:
http://localhost:8888 - Docker:
http://host.docker.internal:8888 - 远程/VPN:
http://your-server-ip:8888
Claude代码配置
您可以在以下任一位置配置此MCP服务器 用户级别 (适用于所有项目)或 项目级 (仅限具体项目)。
选项1:使用CLI(推荐)
用户级别(随处可用):
claude mcp add mem0 \
--scope user \
--command node \
--arg "/absolute/path/to/mem0-custom-mcp/dist/index.js" \
--env MEM0_API_URL=http://localhost:8888 \
--env DEFAULT_USER_ID=default项目级别(仅特定项目):
cd /path/to/your/project
claude mcp add mem0 \
--scope project \
--command node \
--arg "/absolute/path/to/mem0-custom-mcp/dist/index.js" \
--env MEM0_API_URL=http://localhost:8888 \
--env DEFAULT_USER_ID=default选项2:手动配置
用户级别 -编辑 ~/.claude.json:
{
"mcpServers": {
"mem0": {
"type": "stdio",
"command": "node",
"args": [
"/absolute/path/to/mem0-custom-mcp/dist/index.js"
],
"env": {
"MEM0_API_URL": "http://localhost:8888",
"DEFAULT_USER_ID": "default"
}
}
}
}项目级别 -编辑 .claude.json 在项目根目录中:
{
"projects": {
"your-project-path": {
"mcpServers": {
"mem0": {
"type": "stdio",
"command": "node",
"args": [
"/absolute/path/to/mem0-custom-mcp/dist/index.js"
],
"env": {
"MEM0_API_URL": "http://localhost:8888",
"DEFAULT_USER_ID": "default"
}
}
}
}
}
}验证安装:
claude mcp list
# Should show "mem0" in the list发展
npm run build-将TypeScript编译为JavaScriptnpm run dev-构建并运行服务器npm start-运行已编译的服务器
可用工具
add_memory
在Mem0中存储新内存。
参数:
content(必填)-要存储的内容user_id(可选)-用户ID(默认为env DEFAULT_User_ID)metadata(可选)-附加元数据对象
搜索_存储
使用语义搜索搜索记忆。
参数:
query(必填)-搜索查询字符串user_id(可选)-用户ID(默认为env DEFAULT_User_ID)limit(可选)-最大结果(默认值:10)
get_memories
检索用户的所有记忆。
参数:
user_id(可选)-用户ID(默认为env DEFAULT_User_ID)limit(可选)-最大结果(默认值:100)
删除记忆
按ID删除特定内存。
参数:
memory_id(必填)-要删除的内存的ID
建筑
此MCP服务器充当Claude Code和您自己托管的Mem0 API实例之间的桥梁:
┌─────────────────────────┐
│ Claude Code │
└────────────┬────────────┘
│ MCP stdio protocol
│
┌────────────▼────────────┐
│ mem0-custom-mcp │ ← This MCP server (Node.js)
│ (MCP wrapper) │
└────────────┬────────────┘
│ HTTP REST API (localhost:8888 or custom URL)
│
┌────────────▼────────────┐
│ Self-Hosted Mem0 API │ ← Mem0 API server (Python/FastAPI)
│ (your-server:8888) │ Handles memory operations
└────────────┬────────────┘
│
┌────┴─────┐
│ │
┌────▼───┐ ┌──▼──────┐
│PGVector│ │ Neo4j │ ← Databases managed by Mem0 API
│(Vector)│ │ (Graph) │
└────────┘ └─────────┘流量:
- Claude Code调用MCP工具(add_memory、search_memories等)
- mem0自定义mcp通过mcp stdio协议接收请求
- mem0-定制mcp通过HTTP转发到mem0 API
- Mem0 API处理请求并管理PostgreSQL/Neo4j数据库
- 结果通过链返回到Claude Code
注: 此服务器不直接访问PostgreSQL或Neo4j。它只与Mem0 API端点通信,后者处理所有数据库操作。
使用的Mem0 API端点
此MCP服务器使用以下Mem0 API终结点:
POST /v1/memories-添加新内存
- 主体: {"messages": [{"role": "user", "content": "..."}], "user_id": "...", "metadata": {}}
GET /v1/memories/{user_id}-获取用户的所有记忆
- 路径参数:user_id
POST /v1/memories/search-使用语义搜索搜索记忆
- 主体: {"query": "...", "user_id": "...", "limit": 10}
DELETE /v1/memories/{memory_id}-删除特定内存
- 路径参数:memory_id
故障排除
服务器无法启动
检查调试日志 ~/.claude/debug/ 用于显示错误消息。
常见问题:
- 无法访问Mem0 API(请检查VPN连接)
- 端点URL无效
- 端口冲突
连接超时
MCP服务器有一个内置 120秒超时 用于Mem0 API请求。这为以下操作提供了所需的时间:
- 用于生成嵌入的OpenAI API调用
- LLM处理以提取实体和关系
- 数据库操作(PostgreSQL+Neo4j)
使用GPT-5-mini时,典型的内存创建需要30-60秒。
如果需要调整超时时间,请修改 src/index.ts 第59行:
const timeoutId = setTimeout(() => controller.abort(), 120000); // 2 minutes工具错误
验证您的Mem0 API是否正在运行:
# For local deployment
curl http://localhost:8888/health
# For remote/VPN deployment
curl http://your-server-ip:8888/health预期响应:
{"status":"ok","db_connected":true,"stores":{"vector":"postgresql","graph":"neo4j"}}贡献
欢迎投稿!请看 贡献.md 作为指导方针。
发展
# Clone and setup
git clone https://github.com/emasoudy/mem0-custom-mcp.git
cd mem0-custom-mcp
npm install
# Make changes to src/index.ts
# Build and test
npm run build
npm run dev # Build and run更新日志
看 更改日志.md 版本历史。
许可证
MIT许可证-请参阅 许可证 了解详情。
