使用说明
项目简介
Coco MCP服务器是 wearable 设备 coco 项目的后端组件,专注于提供基于 Model Context Protocol (MCP) 的上下文服务。该服务器旨在连接 LLM 客户端和 coco 后端服务,提供包括音频数据访问、向量检索等核心功能,使得 LLM 应用能够便捷地利用 coco 设备采集和处理的数据。
主要功能点
- 资源管理: 通过 MCP 协议提供对后端数据库中音频数据资源的标准化访问接口。
- 工具注册与执行: 实现了 'execute_pgvector_query' 工具,允许 LLM 客户端通过 JSON-RPC 调用执行 PostgreSQL 数据库的向量相似性查询,从而实现基于语义的音频数据检索。
- JSON-RPC 通信: 采用 JSON-RPC 协议与 MCP 客户端进行通信,支持通过 Stdio 或 SSE 等传输协议接收请求和返回响应。
- Docker 部署: 项目基于 Docker 容器化部署,简化了安装和配置过程。
- 日志记录: 具备完善的日志记录功能,方便服务器监控和问题排查。
安装步骤
- 环境准备: 确保已安装 Docker 和 Docker Compose。参考仓库 'README.md' 中的 "Basic Setup" 和 "Middleware Setup" 部分,安装 Docker Desktop 和 Ollama 等依赖。
- 克隆仓库: 使用 'git clone https://github.com/mitralabs/coco.git' 命令克隆仓库到本地。
- 进入服务目录: 使用 'cd coco/services/mcp_server' 命令进入 MCP 服务器服务目录。
- 配置环境变量: 根据 'services/mcp_server/app/main.py' 文件中读取的环境变量,配置数据库连接信息(POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_HOST)以及 Coco SDK 相关配置 (COCO_OLLAMA_URL_BASE, COCO_OPENAI_URL_BASE, COCO_EMBEDDING_API, COCO_LLM_API, COCO_EMBEDDING_MODEL)。可以通过修改 '.env' 文件或直接设置环境变量。
- 启动服务: 使用 'docker-compose up --build mcp_server' 命令构建并启动 MCP 服务器容器。
服务器配置
MCP 客户端需要配置以下服务器连接信息以与 Coco MCP 服务器建立连接。以下是一个 JSON 格式的配置示例,请根据实际情况修改 'command' 和 'args' 字段:
{ "serverName": "coco-mcp-server", "command": "python", "args": [ "-m", "services.mcp_server.app.main" ], "transport": "stdio" }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动 MCP 服务器的命令,这里使用 'python' 命令。
- 'args': 启动命令的参数列表,指定了运行 'services/mcp_server/app/main.py' 文件来启动服务器。
- 'transport': 指定传输协议,默认为 'stdio' (标准输入输出)。仓库代码中还支持 'sse' (Server-Sent Events) 协议,如果需要使用 SSE 协议,需要将 'transport' 更改为 'sse',并配置相应的 'host' 和 'port'。
基本使用方法
- 启动 MCP 服务器: 确保 Coco MCP 服务器已成功启动并运行在指定端口。
- 配置 MCP 客户端: 在 LLM 应用或 MCP 客户端中,配置上述服务器连接信息。
- 客户端请求: 客户端可以使用 MCP 协议发送请求到 Coco MCP 服务器,例如:
- 请求 'coco_db://schema/{table_name}' 资源获取数据库表结构信息。
- 调用 'execute_pgvector_query' 工具执行向量检索查询。
- 接收响应: 服务器将通过 JSON-RPC 协议返回响应数据,客户端解析响应并进行后续处理。
注意: 请参考仓库 'services/mcp_server/app/main.py' 文件和 MCP 协议定义,了解更多关于资源和工具的详细信息,以便在 MCP 客户端中正确使用 Coco MCP 服务器提供的功能。
信息
分类
AI与计算