MemOS API MCP服务

MemOS API的模型上下文协议(MCP)实现,提供命令行工具以通过MCP标准与MemOS API交互。

  • by MemTensor
  • JavaScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 MemTensor/memos-api-mcp

使用说明

用于MemOS API的MCP服务器

一种模型上下文协议(MCP)的实现 备忘录 API服务。该软件包提供了一个命令行界面,用于使用MCP标准与MemOS API进行交互。

MCP配置

要在MCP客户端中使用此软件包,请使用以下配置: (您可能需要先安装Node.js)

{
  "mcpServers": {
    "memos-api-mcp": {
      "command": "npx",
      "args": ["-y", "@memtensor/memos-api-mcp"],
      "env": {
        "MEMOS_API_KEY": "your-api-key",
        "MEMOS_USER_ID": "your-user-id",
        "MEMOS_CHANNEL": "the-site-where-you-are-seeing-this-document"
      }
    }
  }
}

配置说明

  • command:用途 npx 运行包
  • args:传递给npx以运行包的参数
  • env:环境变量
    • MEMOS_API_KEY:用于身份验证的Memos API密钥(在仪表板中获取API密钥[https://memos-dashboard.openmem.net/cn/apikeys/])
    • MEMOS_USER_ID:每个人类标识符稳定。必须是确定性的和非PII的,并且必须在设备/会话中对同一个人保持不变。永远不要在不同的人之间重复使用。请勿使用随机值、设备ID或型号/聊天会话ID。建议:SHA-256(小写(trim(email))或您的SSO主题/员工ID。
    • MEMOS_CHANNEL:您看到此文档的网站。候选值: MODELSCOPE, MCPSO, MCPMARKETCN, MCPMARKETCOM, GLAMA, PULSEMCP, MCPSERVERS,LOBEHUB,MEMOS(指MemOS官方网站), GITHUB(指此README文件)

可用的MCP工具

此软件包提供以下MCP工具:

  1. add_message

    • 在对话中添加新消息
    • 参数:
      • conversation_id:与反馈关联的对话的唯一标识符。
      • messages:包含角色和内容信息的消息数组。
        • role:邮件发送者的角色(user 或 assistant).
        • content:消息内容。
        • chat_time:(可选)消息时间戳。
  2. search_memory

    • 在对话中寻找记忆。
    • 参数:
      • query:要在记忆中搜索的文本内容。单个查询的令牌限制为4k。
      • filter:(可选)筛选条件,用于在检索之前精确限制内存范围。
      • knowledgebase_ids:(可选)指定要搜索的知识库的数组。
        • 不要用这个 除非用户明确提到“知识库”或“KB”。
          1. 如果用户明确要求搜索所有知识库->通过 ["all"].
          1. 如果用户指定了特定的KB ID->传递这些ID。
          1. 如果用户没有提及知识库->忽略此参数(不要发送)。
      • include_preference:(可选)启用偏好记忆调用。默认值:true。
      • preference_limit_number:(可选)返回的最大偏好记忆。默认值:9,最大值25。
      • include_tool_memory:(可选)启用刀具记忆调用。默认值:false。
      • tool_memory_limit_number:(可选)返回的最大刀具记忆。默认值:6,最多25。
      • include_skill:(可选)启用技能调用。默认值:false。
      • skill_limit_number:(可选)返回的最大技能。默认值:6,最多25。
      • relativity:(可选)回忆记忆的相关性阈值(0-1)。值为0时禁用相关性筛选。
      • conversation_first_message:线程中的第一条用户消息(用于生成对话_id)。
      • memory_limit_number:可回忆的最大记忆数。默认值:9,最大值25。
  3. delete_memory

    • 按ID删除特定记忆。
    • 参数:
      • user_ids:将删除其记忆的用户ID列表。
      • memory_ids:要删除的内存ID列表。
  4. add_feedback

    • 向MemOS系统提交用户反馈。
    • 注意:反馈是异步应用的-- add_feedback 立即返回(通常带有 task_id),并且效果可能需要很短的时间才能出现。
    • 参数:
      • user_id:与反馈关联的用户标识符。
      • conversation_id:与反馈关联的对话的唯一标识符。
      • feedback_content:反馈的具体内容。
      • agent_id:(可选)与反馈关联的代理ID。
      • app_id:(可选)与反馈关联的应用程序ID。
      • feedback_time:(可选)反馈时间字符串(默认值:当前UTC时间)。
      • allow_public:(可选)是否允许公共访问(默认值:false)。
      • allow_knowledgebase_ids:(可选)允许写入的知识库ID列表。
  5. get_user_profile

    • 获取用户的完整内存配置文件(事实、偏好和工具轨迹)。
    • 参数:
      • include_preference:(可选)是否包括偏好记忆。
      • include_tool_memory:(可选)是否包括刀具轨迹记忆。
      • current:(可选)页码。
      • size:(可选)每页条目数。
  6. create_knowledge_base

    • 创建一个命名的知识库容器。
    • 参数:
      • knowledgebase_name:知识库的名称。
      • knowledgebase_description:(可选)知识库的描述。
  7. remove_knowledge_base

    • 删除知识库关联。
    • 参数:
      • knowledgebase_id:目标知识库ID。
  8. add_kb_document

    • 将文档上载到指定的知识库。
    • 参数:
      • knowledgebase_id:目标知识库ID。
      • file:文件列表。
        • content:本地绝对路径、公共URL或Base64数据URI。
        • file_name:(可选)文件名。
        • mime_type:(可选)MIME类型。需要时 content 是本地文件路径。
  9. get_kb_documents

    • 按文件ID批量获取文档元数据。
    • 参数:
      • file_ids:文档ID列表。
  10. delete_kb_documents

  • 按文件ID从知识库中删除指定的文档。
  • 参数:
    • file_ids:文档ID列表。

所有工具使用相同的配置,并要求 MEMOS_API_KEY 环境变量。

特性

  • 符合MCP的API接口
  • 命令行工具,便于交互
  • 使用TypeScript构建类型安全
  • Express.js服务器实现
  • Zod模式验证

先决条件

  • Node.js>=18
  • npm或pnpm(推荐)

安装

您可以使用npm全局安装该包:

npm install -g @memtensor/memos-api-mcp

或者使用pnpm:

pnpm add -g @memtensor/memos-api-mcp

用法

安装后,您可以使用以下命令运行CLI工具:

npx @memtensor/memos-api-mcp

或者,如果全局安装:

memos-api-mcp

发展

  1. 克隆存储库:
git clone <repository-url>
cd memos-api-mcp
  1. 安装依赖项:
pnpm install
  1. 启动开发服务器:
pnpm dev
  1. 构建项目:
pnpm build

可用脚本

  • pnpm build -构建项目
  • pnpm dev -使用tsx启动开发服务器
  • pnpm start -运行构建版本
  • pnpm inspect -使用@modelcontextprotocol/inspector检查MCP实现

项目结构

memos-mcp/
├── src/           # Source code
├── build/         # Compiled JavaScript files
├── package.json   # Project configuration
└── tsconfig.json  # TypeScript configuration

依赖项

  • @modelcontextprotocol/sdk: ^1.0.0
  • express: ^4.19.2
  • zod: ^3.23.8
  • ts-md5: ^2.0.0

版本

当前版本:1.1.0