使用说明
用于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”。
-
- 如果用户明确要求搜索所有知识库->通过
["all"].
- 如果用户明确要求搜索所有知识库->通过
-
- 如果用户指定了特定的KB ID->传递这些ID。
-
- 如果用户没有提及知识库->忽略此参数(不要发送)。
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 <repository-url>
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