模型上下文协议服务器

Omi MCP Server是一个用于与Omi API交互的模型上下文协议服务器,提供读取和创建对话及记忆的工具。

  • by leonskenidy
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 leonskenidy/omi-mcp

使用说明

Omi MCP服务器

该项目提供了一个模型上下文协议(MCP)服务器,用于与Omi API交互。服务器提供读取对话和记忆以及创建新对话和记忆的工具。

设置

  1. 克隆存储库
  2. 安装依赖项 npm install
  3. 创建一个 .env 包含以下变量的文件:
    API_KEY=your_api_key
    APP_ID=your_app_id
    

用法

通过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进行配置

克劳德配置

通过Anthropic控制台或API与Claude一起使用此MCP服务器:

  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. 示例提示克劳德:

    Please fetch the latest 5 conversations for user "user123" using the Omi API.
    
  4. Claude将使用MCP执行 read_omi_conversations 工具:

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

光标配置

要将此MCP服务器与Cursor一起使用,请执行以下操作:

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

    npm run start
    
  2. 在游标中,转到设置>扩展>MCP服务器

  3. 使用以下设置添加新的MCP服务器:

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

    @Omi API Please fetch memories for user "user123" and summarize them.
    
  5. Cursor将与MCP服务器通信,以执行必要的API调用。

可用工具

MCP服务器提供以下工具:

read_omi_conversations

使用可选筛选器从Omi检索特定用户的对话。

参数:

  • user_id (string):用于获取对话的用户ID
  • limit (number,可选):要返回的最大对话数
  • offset (number,可选):分页时要跳过的对话数
  • include_discarded (boolean,可选):是否包含丢弃的对话
  • statuses (字符串,可选):逗号分隔的状态列表,用于按以下方式过滤对话

read_omi_memories

从Omi检索特定用户的内存。

参数:

  • user_id (string):用于获取内存的用户ID
  • limit (number,可选):要返回的最大内存数
  • offset (number,可选):分页时跳过的内存数量

create_omi_conversation

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

参数:

  • text (string):对话的全文内容
  • user_id (string):用于创建对话的用户ID
  • text_source (string):文本内容的来源(选项:“audio_transcript”、“message”、“other_text”)
  • started_at (字符串,可选):对话/事件开始时(ISO 8601格式)
  • finished_at (字符串,可选):对话/事件结束时(ISO 8601格式)
  • language (字符串,可选):语言代码(默认值:“en”)
  • geolocation (对象,可选):对话的位置数据
    • latitude (数字):纬度坐标
    • longitude (数字):经度坐标
  • text_source_spec (string,可选):关于源的附加规范

创建mi_memories

在Omi中为特定用户创建新的记忆。

参数:

  • user_id (string):用于创建记忆的用户ID
  • text (string,可选):从中提取记忆的文本内容
  • memories (array,可选):直接创建的显式内存对象数组
    • content (string):内存的内容
    • tags (字符串数组,可选):内存标签
  • text_source (字符串,可选):文本内容的来源
  • text_source_spec (string,可选):关于源的附加规范

测试

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

node test-mcp-client.js

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

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

测试客户端使用默认的测试用户ID(test-user-123)对于所有操作。

日志记录

MCP服务器包括内置的日志记录功能,可以写入控制台和日志文件。这对于调试和监视服务器活动非常有用。

日志文件位置

日志被写入 logs/mcp-server.log 在您的项目目录中。日志文件包括时间戳和以下详细信息:

  • 服务器启动和关闭
  • 所有API请求和响应
  • 错误消息和堆栈跟踪
  • API对Omi的调用
  • 请求参数和响应数据

查看日志

您可以使用实时查看日志 tail 命令:

tail -f logs/mcp-server.log

这将显示服务器处理请求并与Omi API交互时的实时更新。

日志格式

每个日志条目都遵循以下格式:

[2024-03-21T12:34:56.789Z] Log message here

时间戳采用ISO 8601格式,便于关联事件和调试问题。