关于 Mem0 MCP Server - Node.js (HTTP-Only)
这是一款面向项目记忆的 Node.js Mem0 MCP 服务,提供 HTTP API 和本地文件存储。适用于需要保存、读取和搜索工作区记忆的开发者及 MCP 客户端。
主要功能
- 01保存、读取和搜索记忆
- 02按工作区隔离的本地文件存储
- 03支持令牌认证的 HTTP API
- 04请求速率限制
- 05支持 stdio 和 HTTP 传输
适用场景
- 01保存项目决策以供日后检索
- 02从 VS Code 搜索工作区记忆
- 03为不同项目工作区分别存储记忆
MCP 相关
向 MCP 客户端提供 save_memory、get_all_memories 和 search_memories 工具。支持 stdio 和基于 HTTP 的配置;SSE 端点仍在开发中。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Mem0 MCP 服务 - Node.js(仅 HTTP)
基于 Node.js 实现的 Mem0 MCP(模型上下文协议)服务,仅通过 HTTP 运行,以简化部署和集成。
本项目基于此仓库 coleam00/mcp-mem0.git
功能
- 仅 HTTP 运行:精简的服务,仅通过 HTTP API 运行
- 工作区集成:自动将记忆存储在当前活动项目目录中
- RESTful API:便于与 Web 应用、VSCode 扩展和 MCP 客户端集成
- 本地文件存储:将记忆存储在工作区根目录下的
.Mem0-Files目录中 - MCP 工具:提供
save_memory、get_all_memories和search_memories工具 - 身份验证:基于令牌的身份验证,确保 API 访问安全
- 速率限制:内置防护机制,防止 API 滥用
- 可配置存储:插件架构支持多种存储后端
- ESM 模块:使用 ES 模块实现的现代 Node.js 项目
- Docker 支持:提供容器化部署选项
快速开始
-
安装依赖项:
npm install -
配置环境:
cp .env.example .env # Edit .env with your configuration -
运行服务:
# Start the HTTP server (default port 8484) npm start # Start with specific workspace (recommended) npm run start:workspace /path/to/your/project # Start in development mode with auto-restart npm run dev -
验证是否正常运行:
# Check server status curl http://localhost:8484/ # Or open in browser: http://localhost:8484 -
使用 HTTP API:
# Save a memory curl -X POST http://localhost:8484/api/memory/save \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 550EA5B7-4C7B-4B17-9BF7-5A6B6D232FA2" \ -d '{"text": "Your memory here", "userId": "vscode-user"}' # Search memories curl "http://localhost:8484/api/memory/search?query=memory&userId=vscode-user" \ -H "Authorization: Bearer 550EA5B7-4C7B-4B17-9BF7-5A6B6D232FA2"
配置
服务通过环境变量进行配置。将 .env.example 复制为 .env 并进行配置:
基本配置
HOST:要绑定的主机(默认值:0.0.0.0)PORT:要监听的端口(默认值:8484)STORAGE_PROVIDER:存储后端(local或postgresql)——目前仅实现了localLOCAL_STORAGE_DIR:本地存储目录(默认值:.Mem0-Files)PROJECT_DIR:用于存储记忆的工作区目录(自动检测或显式设置)
HTTP 服务配置(始终启用)
HTTP_SERVER_ENABLED:启用 HTTP API 服务(true或false,默认值:false)HTTP_SERVER_PORT:HTTP 服务端口(默认值:3000)HTTP_SERVER_HOST:HTTP 服务主机(默认值:0.0.0.0)API_TOKEN:HTTP API 的身份验证令牌(启用 HTTP 服务时必需)CORS_ORIGINS:允许的 CORS 来源(默认值:http://localhost:*,https://localhost:*)RATE_LIMIT_WINDOW_MS:速率限制时间窗口,单位为毫秒(默认值:900000,即 15 分钟)RATE_LIMIT_MAX_REQUESTS:每个时间窗口内的最大请求数(默认值:100)
LLM 配置(用于未来的 Mem0 集成)
LLM_PROVIDER:LLM 提供商(openai、openrouter或ollama)LLM_API_KEY:LLM 提供商的 API 密钥LLM_CHOICE:要使用的模型(例如,gpt-4o-mini)EMBEDDING_MODEL_CHOICE:嵌入模型(例如,text-embedding-3-small)
MCP 客户端配置
使用 Roo Code 扩展的 VS Code
要在 VS Code 中通过 Roo Code 扩展使用此 MCP 服务:
设置步骤:
- 在 VS Code 中从市场安装 Roo Code 扩展
- 生成配置:运行
npm run config(将显示准确路径) - 打开 VS Code 设置(Cmd/Ctrl + ,)
- **搜索“roo”**以找到 Roo Code 设置
- 在 Roo Code 设置中找到“MCP Servers”配置
- 复制并粘贴第 2 步生成的配置
配置示例:
选项 1:Stdio 传输(直接进程通信) 将此配置添加到 Roo Code 的 MCP 服务设置中:
{
"mem0-nodejs": {
"command": "node",
"args": ["/absolute/path/to/mem0_mcp_server_nodejs/src/main.js"],
"env": {
"TRANSPORT": "stdio",
"STORAGE_PROVIDER": "local",
"LOCAL_STORAGE_DIR": ".Mem0-Files",
"DEFAULT_USER_ID": "vscode-user",
"DEBUG": "false"
}
}
}
选项 2:SSE 传输(基于 HTTP 的通信) 首先,使用 SSE 传输启动服务:
TRANSPORT=sse HTTP_SERVER_ENABLED=true npm start
然后将此配置添加到 Roo Code 的 MCP 服务设置中:
{
"mcpServers": {
"mem0-sse": {
"transport": "sse",
"url": "http://localhost:8484/sse",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN_HERE"
},
"description": "Mem0 MCP Server via SSE transport"
}
}
}
在 VS Code 中使用:
配置完成后,即可在 Roo Code 中使用记忆工具:
- 保存记忆:使用
save_memory工具存储项目相关信息、编码模式或决策 - 获取记忆:使用
get_all_memories查看所有已存储的信息 - 搜索记忆:使用
search_memories查找特定信息
使用示例:
@mem0-nodejs save_memory "This project uses ESM modules and stores data in .Mem0-Files directory"
@mem0-nodejs search_memories "ESM modules"
@mem0-nodejs get_all_memories
重要说明:
- 将
/absolute/path/to/mem0_mcp_server_nodejs/替换为项目的实际绝对路径 - 服务将在项目根目录下创建
.Mem0-Files目录 - 每个 VS Code 工作区都可以拥有独立的记忆存储
- 记忆按
DEFAULT_USER_ID设置隔离 - 你可以在项目目录中使用
pwd命令查找确切路径
在 VS Code 中使用 HTTP API(推荐)
若要在 VS Code 和 Roo Code 中轻松完成设置,请使用 HTTP API,这样就不需要绝对文件路径:
快速设置:
-
启动 HTTP 服务:
API_TOKEN=your-secure-token HTTP_SERVER_ENABLED=true npm start -
在 VS Code 设置中配置 Roo Code:
{ "mem0-http": { "transport": "sse", "url": "http://localhost:3000", "headers": { "Authorization": "Bearer your-secure-token" } } } -
在 VS Code 中使用:
@mem0-http save_memory "This project uses React with TypeScript" @mem0-http search_memories "React"
📚 文档:
- 完整设置指南 - 分步说明
- 快速参考 - 命令和故障排除
- HTTP API 参考 - 完整 API 文档
Claude Desktop(stdio)
将以下内容添加到 Claude Desktop 配置中:
{
"mcpServers": {
"mem0-nodejs": {
"command": "node",
"args": ["path/to/mem0_mcp_server_nodejs/src/main.js"],
"env": {
"TRANSPORT": "stdio",
"STORAGE_PROVIDER": "local",
"LOCAL_STORAGE_DIR": ".Mem0-Files"
}
}
}
}
可用工具
save_memory
将信息存储到长期记忆中。
参数:
text(必需):要存储的内容userId(可选):用户标识符(默认为已配置的用户)
get_all_memories
检索用户存储的所有记忆。
参数:
userId(可选):用户标识符limit(可选):要返回的记忆数量上限(默认值:50)
search_memories
使用基于文本的搜索来查找记忆。
参数:
query(必需):搜索查询userId(可选):用户标识符limit(可选):要返回的结果数量上限(默认值:3)
本地存储结构
本地存储提供程序会创建以下结构:
.Mem0-Files/
├── users/
│ └── [userId]/
│ ├── [memoryId1].json
│ ├── [memoryId2].json
│ └── ...
└── index/
└── [userId].json
每个记忆文件包含:
{
"id": "uuid",
"userId": "user",
"memory": "memory content",
"metadata": {
"originalText": "original input",
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
}
}
开发
在开发模式下运行
npm run dev
测试
npm test
代码检查
npm run lint
Docker
构建镜像
npm run docker:build
运行容器
npm run docker:run
项目状态
这是一个早期实现,目前状态如下:
✅ 已实现
- 基本 MCP 服务设置
- 本地文件存储提供程序
- 核心 MCP 工具(保存、获取、搜索)
- 项目结构和配置
- 基本的文本搜索
- 基于 Express.js 的 HTTP API 服务
- 基于令牌的身份验证
- 速率限制和安全机制
- 双传输支持(stdio + HTTP)
- 完整的 API 文档
- 通过 HTTP 集成 VS Code
🚧 正在进行
- 增强 Mem0 集成
- 使用嵌入向量进行语义搜索
- PostgreSQL 存储提供程序
- SSE 传输支持(HTTP 服务已就绪,SSE 端点待实现)
📋 计划中
- 完整集成大模型以处理记忆
- 高级搜索算法
- 记忆分析和管理
- 基于 Web 的记忆浏览器
开发说明
如需查看开发文档、实现细节和项目规划文件,请参阅 Dev-Notes/ 文件夹。
贡献
此项目正在积极开发中,欢迎贡献!
许可证
MIT 许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。