Metronome MCP Server
使用说明(简要、操作友好版本,包含关键点)
-
项目简介
- 该仓库实现了一个 MCP 服务器端,核心职责是按照 MCP(Model Context Protocol)规范,向客户端提供工具执行、资源访问和提示模板等能力,并通过 JSON-RPC 协议进行请求/响应交互。支持通过标准化的传输(stdio、HTTP)与 LLM 客户端通信。
-
主要功能点
- MCP 服务器核心:实现 ListTools、CallTool、SetLevel 等 MCP 请求的处理逻辑,注册并执行工具。
- 工具集成:内置 execute 工具(codeTool)和文档检索工具(docsSearchTool),可对外暴露并被 LLM 调用。
- 传输模式:提供 stdio 传输和基于 HTTP 的流式传输(Express + StreamableHTTPTransport),以便不同环境下接入客户端。
- 会话与日志:通过初始化服务器时注入日志器,支持不同日志级别,便于调试与运维。
- 安全与鉴权:HTTP 连接路径中对 Authorization 头进行解析,确保客户端的身份与权限。
-
安装步骤
- 将代码获取到本地环境(本仓库为带有 MCP 服务端实现的工作区)。
- 安装依赖并构建项目(通常使用常见的 Node.js 构建流程,如安装依赖、编译 TypeScript 代码)。
- 启动 MCP 服务器:运行内置的入口(提供 stdio 与 HTTP 两种传输的启动入口,具体可选其一)。
- 将 MCP 客户端配置为连接该服务器(客户端配置见下方服务器配置示例,不在此给出可执行代码)。
-
服务器配置(MCP 客户端需要提供的配置信息,JSON 格式,含 server name、command、args 等,便于客户端启动并连接到此 MCP 服务器)
- server name:metronome_mcp_server
- command:npx
- args:[ "-y", "@metronome/mcp" ]
- environment 变量示例(供客户端在启动时注入,实际参数请按需替换)
- METRONOME_BEARER_TOKEN: 你的 Bearer Token(用于对 Metronome API 的鉴权)
- METRONOME_WEBHOOK_SECRET: 你的 Webhook 秘钥(如有需要,可选)
- METRONOME_BASE_URL: Metronome API 基础地址(如有自托管地址需配置)
- 注释说明
- 以上配置为 MCP 客户端需要的连接信息,服务器端代码会根据这些信息启动并对外提供 MCP 服务。实际运行时,客户端需要将该配置传给 MCP 客户端,确保能正确连接与使用服务器提供的工具与资源。
-
基本使用方法
- 启动服务器后,客户端向服务器发起 ListTools 请求,获取可用工具清单。
- 客户端通过 CallTool 请求调用指定工具(如 execute),传入所需参数。
- 客户端通过 SetLevel 调整日志等级以满足运维需求。
- LLM 通过 JSON-RPC 与服务器交互,执行工具、查询工具元数据、或读取/渲染 Prompts(若实现中有)等。
- 如需扩展,服务器提供了扩展点,可添加更多 MCP Tool 与对应的 Handler。
-
额外信息
- 服务器实现兼容性:遵循 MCP 的核心接口约定,支持将工具及其处理逻辑暴露给 LLM 客户端。
- 安全性与扩展性:服务端对鉴权、日志、以及工具执行流程有明确实现,便于后续对接多种工具、增加资源访问能力。