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 客户端。
    • 安全性与扩展性:服务端对鉴权、日志、以及工具执行流程有明确实现,便于后续对接多种工具、增加资源访问能力。

服务器信息