peon-ping MCP 服务端
使用说明
- 项目简介
- 该仓库实现了一个基于 Model Context Protocol(MCP)的服务端,用于向 MCP 客户端提供资源、工具以及提示模板等能力,并通过标准的 JSON-RPC 协议与客户端进行交互。核心功能包括:
- 资源管理与查询:提供声音资源、 Pack 信息等材质的查询接口。
- 工具注册与执行:实现像 play_sound 这样的工具,允许客户端通过工具调用来触发外部功能。
- 兼容传输与会话管理:以 Stdio 传输等形式对接客户端,支持会话与跨环境部署。
- 该仓库实现了一个基于 Model Context Protocol(MCP)的服务端,用于向 MCP 客户端提供资源、工具以及提示模板等能力,并通过标准的 JSON-RPC 协议与客户端进行交互。核心功能包括:
- 主要功能点
- MCP 服务端实现:基于 @modelcontextprotocol/sdk,定义资源、工具和相应的执行逻辑。
- 资源接口:实现 catalog 与 pack 资源,客户端可获取可用 Pack 列表及具体 Pack 内容。
- 工具实现:注册 play_sound 工具,允许客户端通过该工具按键触发指定声音。
- 跨环境支持:通过标准的 Stdio 传输与潜在的远端传输,便于在本地或远端运行时与客户端对接。
- 配置与打包:支持通过配置加载 packs 目录、版本及其它运行参数,兼容 Homebrew 安装路径等场景。
- 安装步骤
- 安装 Node.js 18+ 环境。
- 克隆仓库或下载源码,定位 mcp/peon-mcp.js 脚本。
- 直接运行脚本即可启动 MCP 服务器(命令示例请参考“服务器配置”中的说明)。如果通过 Homebrew 安装,该脚本可能位于 brew 前缀的 libexec/mcp/peon-mcp.js。
- 确保 packs 目录中存在可用的 openpeon.json 或 manifest.json,用于服务器初始化所需的 Pack 及其资源。
- 服务器配置(MCP 客户端需要的启动信息)
服务器端需要运行在一个进程中,MCP 客户端通过配置连接到该服务器。下列配置示例用于 MCP 客户端的客户端配置载入,描述了服务器应如何启动服务端进程。请将 path 替换为实际的脚本路径:
{
"servers": {
"peon-ping": {
"command": "node",
"args": ["/path/to/peon-ping/mcp/peon-mcp.js"]
}
// 如通过 Homebrew 安装,路径示例为:
// "args": ["$(brew --prefix peon-ping)/libexec/mcp/peon-mcp.js"]
}
}
注释说明
- server 名称:peon-ping,表示 MCP 服务端的标识。
- command/args:启动服务端的命令和参数,MCP 客户端无需关心服务端实现细节,但需要知道如何启动服务端进程以建立连接。
- 需要注意:具体路径可能因安装方式而异,使用者应将路径替换为实际安装位置。
- 基本使用方法
- 启动服务端:在具备 Node.js 环境的终端执行对应启动命令,服务端将监听并暴露 MCP 兼容的接口。
- 连接客户端:MCP 客户端配置正确后,将通过 JSON-RPC 请求向服务器发起读取资源、执行工具等调用,服务器返回相应结果。
- 调用示例:客户端可调用 catalog、pack 等资源,以获取 Pack 列表和具体内容,或调用 play_sound 工具来触发指定声音。
- 外部环境与远程传输:在 SSH/开发容器/ Codespaces 场景下,服务器实现亦具备远端调用能力,确保音效或资源能够在远端环境被正确调度。