用于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工具:
add_message
- 在对话中添加新消息 - 参数: - conversation_id:与反馈关联的对话的唯一标识符。 - messages:包含角色和内容信息的消息数组。 - role:邮件发送者的角色(user 或 assistant). - content:消息内容。 - chat_time:(可选)消息时间戳。
search_memory
- 在对话中寻找记忆。 - 参数: - query:要在记忆中搜索的文本内容。单个查询的令牌限制为4k。 - filter:(可选)筛选条件,用于在检索之前精确限制内存范围。 - knowledgebase_ids:(可选)指定要搜索的知识库的数组。 - 不要用这个 除非用户明确提到“知识库”或“KB”。 - 1. 如果用户明确要求搜索所有知识库->通过 ["all"]. - 2. 如果用户指定了特定的KB ID->传递这些ID。 - 3. 如果用户没有提及知识库->忽略此参数(不要发送)。 - 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。
delete_memory
- 按ID删除特定记忆。 - 参数: - user_ids:将删除其记忆的用户ID列表。 - memory_ids:要删除的内存ID列表。
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列表。
get_user_profile
- 获取用户的完整内存配置文件(事实、偏好和工具轨迹)。 - 参数: - include_preference:(可选)是否包括偏好记忆。 - include_tool_memory:(可选)是否包括刀具轨迹记忆。 - current:(可选)页码。 - size:(可选)每页条目数。
create_knowledge_base
- 创建一个命名的知识库容器。 - 参数: - knowledgebase_name:知识库的名称。 - knowledgebase_description:(可选)知识库的描述。
remove_knowledge_base
- 删除知识库关联。 - 参数: - knowledgebase_id:目标知识库ID。
add_kb_document
- 将文档上载到指定的知识库。 - 参数: - knowledgebase_id:目标知识库ID。 - file:文件列表。 - content:本地绝对路径、公共URL或Base64数据URI。 - file_name:(可选)文件名。 - mime_type:(可选)MIME类型。需要时 content 是本地文件路径。
get_kb_documents
- 按文件ID批量获取文档元数据。 - 参数: - file_ids:文档ID列表。
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发展
- 克隆存储库:
git clone
cd memos-api-mcp- 安装依赖项:
pnpm install- 启动开发服务器:
pnpm dev- 构建项目:
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.0express: ^4.19.2zod: ^3.23.8ts-md5: ^2.0.0
版本
当前版本:1.1.0
