mcpField
M
Mem0 MCP Server - Node.js (HTTP-Only)

Mem0 MCP Server - Node.js (HTTP-Only)

本地服务
github.com/Sonjuane记忆与知识173 周前更新

关于 Mem0 MCP Server - Node.js (HTTP-Only)

这是一款面向项目记忆的 Node.js Mem0 MCP 服务,提供 HTTP API 和本地文件存储。适用于需要保存、读取和搜索工作区记忆的开发者及 MCP 客户端。

主要功能

  1. 01保存、读取和搜索记忆
  2. 02按工作区隔离的本地文件存储
  3. 03支持令牌认证的 HTTP API
  4. 04请求速率限制
  5. 05支持 stdio 和 HTTP 传输

适用场景

  1. 01保存项目决策以供日后检索
  2. 02从 VS Code 搜索工作区记忆
  3. 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 支持:提供容器化部署选项

快速开始

  1. 安装依赖项:

    npm install
    
  2. 配置环境:

    cp .env.example .env
    # Edit .env with your configuration
    
  3. 运行服务:

    # 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
    
  4. 验证是否正常运行:

    # Check server status
    curl http://localhost:8484/
    
    # Or open in browser: http://localhost:8484
    
  5. 使用 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)——目前仅实现了 local
  • LOCAL_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 服务:

设置步骤:
  1. 在 VS Code 中从市场安装 Roo Code 扩展
  2. 生成配置:运行 npm run config(将显示准确路径)
  3. 打开 VS Code 设置(Cmd/Ctrl + ,)
  4. **搜索“roo”**以找到 Roo Code 设置
  5. 在 Roo Code 设置中找到“MCP Servers”配置
  6. 复制并粘贴第 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,这样就不需要绝对文件路径:

📖 VS Code 完整设置指南

快速设置:

  1. 启动 HTTP 服务:

    API_TOKEN=your-secure-token HTTP_SERVER_ENABLED=true npm start
    
  2. 在 VS Code 设置中配置 Roo Code:

    {
      "mem0-http": {
        "transport": "sse",
        "url": "http://localhost:3000",
        "headers": {
          "Authorization": "Bearer your-secure-token"
        }
      }
    }
    
  3. 在 VS Code 中使用:

    @mem0-http save_memory "This project uses React with TypeScript"
    @mem0-http search_memories "React"
    

📚 文档:

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 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。