MCP对话记忆管理器
一种模型上下文协议服务器,使人工智能助手能够与Omi API交互,以检索和创建用户的对话和记忆。
服务介绍
Omi MCP 服务器
该项目提供了一个用于与 Omi API 交互的 Model Context Protocol (MCP) 服务器。该服务器提供了读取对话和记忆的工具,以及创建新的对话和记忆的功能。
设置
- 克隆仓库
- 使用
npm install安装依赖 - 创建一个
.env文件,并包含以下变量:API_KEY=your_api_key APP_ID=your_app_id
使用
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 Omi MCP 服务器:
npx -y @smithery/cli install @fourcolors/omi-mcp --client claude
构建服务器
npm run build
运行服务器
npm run start
开发模式
对于带有热重载的开发:
npm run dev
测试服务器
项目中包含了一个简单的测试客户端,用于与 MCP 服务器进行交互。构建项目后,运行:
npm run test
或者直接运行:
./test-mcp-client.js
这将启动 MCP 服务器并提供一个交互式菜单来测试可用的工具。测试客户端对所有操作使用默认的测试用户 ID (test-user-123)。
清理并重建
要清理构建目录并从头开始重建:
npm run rebuild
与 Claude 和 Cursor 的配置
Claude 配置
要通过 Anthropic Console 或 API 将此 MCP 服务器与 Claude 一起使用:
-
本地启动 MCP 服务器:
npm run start -
在设置 Claude 对话时,配置 MCP 连接:
{ "mcp_config": { "transports": [ { "type": "stdio", "executable": { "path": "/path/to/your/omi-mcp-local/dist/index.js", "args": [] } } ] } } -
示例提示给 Claude:
请使用 Omi API 获取用户 "user123" 的最新 5 次对话。 -
Claude 将使用 MCP 执行
read_omi_conversations工具:{ "id": "req-1", "type": "request", "method": "tools.read_omi_conversations", "params": { "user_id": "user123", "limit": 5 } }
Cursor 配置
要将此 MCP 服务器与 Cursor 一起使用:
-
在终端中启动 MCP 服务器:
npm run start -
在 Cursor 中,转到设置 > 扩展程序 > MCP 服务器
-
添加一个新的 MCP 服务器,设置如下:
- 名称:Omi API
- URL: stdio:/path/to/your/omi-mcp-local/dist/index.js
- 启用服务器
-
现在你可以在 Cursor 中直接使用 Omi 工具。例如:
@Omi API 请获取用户 "user123" 的记忆并进行总结。 -
Cursor 将与你的 MCP 服务器通信以执行必要的 API 调用。
可用工具
MCP 服务器提供了以下工具:
read_omi_conversations
从 Omi 检索特定用户的对话,可选过滤条件。
参数:
user_id(字符串):要获取对话的用户 IDlimit(数字, 可选):返回的最大对话数量offset(数字, 可选):用于分页跳过的对话数量include_discarded(布尔值, 可选):是否包含已丢弃的对话statuses(字符串, 可选):以逗号分隔的状态列表,用于按状态筛选对话
read_omi_memories
从 Omi 为特定用户检索记忆。
参数:
user_id(字符串):要获取记忆的用户 IDlimit(数字, 可选):返回的最大记忆数量offset(数字, 可选):用于分页跳过的记忆数量
create_omi_conversation
为特定用户在 Omi 中创建新的对话。
参数:
text(字符串):对话的完整文本内容user_id(字符串):为该用户创建对话的用户 IDtext_source(字符串):文本内容的来源(选项:"audio_transcript", "message", "other_text")started_at(字符串, 可选):对话/事件开始的时间(ISO 8601 格式)finished_at(字符串, 可选):对话/事件结束的时间(ISO 8601 格式)language(字符串, 可选):语言代码(默认: "en")geolocation(对象, 可选):对话的位置数据latitude(数字):纬度坐标longitude(数字):经度坐标
text_source_spec(字符串, 可选):关于来源的额外说明
create_omi_memories
为特定用户在 Omi 中创建新的记忆。
参数:
user_id(字符串):为该用户创建记忆的用户 IDtext(字符串, 可选):将从中提取记忆的文本内容memories(数组, 可选):直接创建的记忆对象数组content(字符串):记忆的内容tags(字符串数组, 可选):记忆的标签
text_source(字符串, 可选):文本内容的来源text_source_spec(字符串, 可选):关于来源的额外说明
测试
要测试 MCP 服务器,您可以使用提供的测试客户端:
node test-mcp-client.js
这将启动一个交互式测试客户端,允许您:
- 获取对话
- 获取记忆
- 创建对话
- 退出
测试客户端对所有操作使用默认的测试用户 ID (test-user-123)。
日志记录
MCP 服务器包括内置的日志记录功能,该功能会同时写入控制台和日志文件。这对于调试和监控服务器活动非常有用。
日志文件位置
日志被写入您的项目目录中的 logs/mcp-server.log 文件。日志文件包括时间戳和以下详细信息:
- 服务器启动和关闭
- 所有 API 请求和响应
- 错误消息和堆栈跟踪
- 对 Omi 的 API 调用
- 请求参数和响应数据
查看日志
您可以使用 tail 命令实时查看日志:
tail -f logs/mcp-server.log
这将显示服务器处理请求并与 Omi API 交互时的实时更新。
日志格式
每个日志条目遵循以下格式:
[2024-03-21T12:34:56.789Z] Log message here
时间戳采用 ISO 8601 格式,便于关联事件和调试问题。