M

MCP对话记忆管理器

@fourcolors/omi-mcp
0 Stars 591 次浏览 fourcolors 更新于 2026-08-23

一种模型上下文协议服务器,使人工智能助手能够与Omi API交互,以检索和创建用户的对话和记忆。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Omi MCP 服务器

smithery 徽章

该项目提供了一个用于与 Omi API 交互的 Model Context Protocol (MCP) 服务器。该服务器提供了读取对话和记忆的工具,以及创建新的对话和记忆的功能。

设置

  1. 克隆仓库
  2. 使用 npm install 安装依赖
  3. 创建一个 .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 一起使用:

  1. 本地启动 MCP 服务器:

    npm run start
    
  2. 在设置 Claude 对话时,配置 MCP 连接:

    {
        "mcp_config": {
            "transports": [
                {
                    "type": "stdio",
                    "executable": {
                        "path": "/path/to/your/omi-mcp-local/dist/index.js",
                        "args": []
                    }
                }
            ]
        }
    }
    
  3. 示例提示给 Claude:

    请使用 Omi API 获取用户 "user123" 的最新 5 次对话。
    
  4. Claude 将使用 MCP 执行 read_omi_conversations 工具:

    {
        "id": "req-1",
        "type": "request",
        "method": "tools.read_omi_conversations",
        "params": {
            "user_id": "user123",
            "limit": 5
        }
    }
    

Cursor 配置

要将此 MCP 服务器与 Cursor 一起使用:

  1. 在终端中启动 MCP 服务器:

    npm run start
    
  2. 在 Cursor 中,转到设置 > 扩展程序 > MCP 服务器

  3. 添加一个新的 MCP 服务器,设置如下:

    • 名称:Omi API
    • URL: stdio:/path/to/your/omi-mcp-local/dist/index.js
    • 启用服务器
  4. 现在你可以在 Cursor 中直接使用 Omi 工具。例如:

    @Omi API 请获取用户 "user123" 的记忆并进行总结。
    
  5. Cursor 将与你的 MCP 服务器通信以执行必要的 API 调用。

可用工具

MCP 服务器提供了以下工具:

read_omi_conversations

从 Omi 检索特定用户的对话,可选过滤条件。

参数:

  • user_id (字符串):要获取对话的用户 ID
  • limit (数字, 可选):返回的最大对话数量
  • offset (数字, 可选):用于分页跳过的对话数量
  • include_discarded (布尔值, 可选):是否包含已丢弃的对话
  • statuses (字符串, 可选):以逗号分隔的状态列表,用于按状态筛选对话

read_omi_memories

从 Omi 为特定用户检索记忆。

参数:

  • user_id (字符串):要获取记忆的用户 ID
  • limit (数字, 可选):返回的最大记忆数量
  • offset (数字, 可选):用于分页跳过的记忆数量

create_omi_conversation

为特定用户在 Omi 中创建新的对话。

参数:

  • text (字符串):对话的完整文本内容
  • user_id (字符串):为该用户创建对话的用户 ID
  • text_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 (字符串):为该用户创建记忆的用户 ID
  • text (字符串, 可选):将从中提取记忆的文本内容
  • memories (数组, 可选):直接创建的记忆对象数组
    • content (字符串):记忆的内容
    • tags (字符串数组, 可选):记忆的标签
  • text_source (字符串, 可选):文本内容的来源
  • text_source_spec (字符串, 可选):关于来源的额外说明

测试

要测试 MCP 服务器,您可以使用提供的测试客户端:

node test-mcp-client.js

这将启动一个交互式测试客户端,允许您:

  1. 获取对话
  2. 获取记忆
  3. 创建对话
  4. 退出

测试客户端对所有操作使用默认的测试用户 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 格式,便于关联事件和调试问题。

相关 MCP 服务