BC Telemetry Buddy MCP 服务器

使用说明(简要概览)

  • 项目简介

    • 该仓库实现了一个完整的 MCP 服务器端,负责暴露资源、工具、Prompts 的注册与管理,并通过 JSON-RPC 与 LLM 客户端进行交互。支持通过标准输入输出(stdio)和基于 Express 的 HTTP 模式进行通信,具备会话管理、能力声明以及多传输协议支持等特性。
  • 主要功能点

    • MCP 协议核心能力:注册工具、注册提示、处理工具调用、执行查询、返回 JSON-RPC 响应。
    • 资源与工具管理:定义并注册工具、提供工具清单、输入输出模式的对照。
    • Prompt 定义与渲染:注册工作流提示、渲染面向 LLM 的提示内容,方便组合对话模式。
    • 多传输模式:提供 stdio(用于 Copilot/Claude 类集成的流式场景)与 HTTP(用于 VSCode 等客户端的请求场景)。
    • 会话与配置管理:支持从环境变量、配置文件及配置文件 profiles 的加载、继承、切换与健康检查。
    • 安全与监控:包含基础日志、错误处理、可选的使用量 telemetry 脚本(对 MCP 自身的使用行为进行观测)。
  • 安装步骤

    • 进入仓库根目录,安装依赖并构建整体工作区。
    • 使用构建命令将 MCP 服务端打包或准备就绪(依项目执行方式,通常执行 npm install 与 npm run build)。
    • 根据需要选择启动模式:
      • 以 stdio 模式启动(与 LLM 客户端通过标准输入输出通信,常用于 Copilot/Claude 场景)。
      • 以 HTTP 模式启动(对外提供 REST 风格接口,兼容 VSCode 等客户端通过 HTTP 调用的场景)。
  • 服务器配置(MCP 客户端所需的启动信息) 说明:MCP 客户端需要一份描述服务器的配置信息,用于对接 MCP 服务端。以下为配置要点(非代码形式描述):

    • serverName: BC Telemetry Buddy MCP Server
    • command: 启动服务器的命令(示例场景:通过 launching 脚本启动 MCP 服务器,例如运行一个 launcher 脚本来启动 stdio 模式,或直接启动 HTTP 服务的入口)
    • args: 启动参数(若使用 stdio 模式,通常无需额外参数,若指定配置文件或切换模式,请在此列出详细参数,例如 --config <路径>、--stdio、--http、--profile <名称> 等)
    • mode: 指定传输模式(stdio 或 http,建议明确写明启动方式以确保 MCP 客户端能正确连接)
    • 备注: MCP 客户端本身不需要依赖具体实现细节,只需知道服务器名称与启动方式即可建立连接。
  • 基本使用方法

    • 启动服务:根据选择的传输模式,执行相应的启动命令,确保服务器正常监听。
    • 与客户端对接:MCP 客户端通过 JSON-RPC 向服务器发送方法调用(如 tools/list、get_event_catalog、query_telemetry、get_saved_queries 等),服务器返回标准的 JSON-RPC 响应。
    • 调试与运维:可通过健康检查端点、日志输出和可选的 telemetry 观测来监控服务运行状态。
  • 使用示例(非代码描述)

    • 启动 stdio 模式以接入 Copilot/Claude 场景;
    • 启动 HTTP 模式以供 VSCode 等客户端通过 REST 风格方式访问;
    • 客户端调用示例包括获取工具列表、执行查询、获取事件目录、保存查询等各种 MCP 操作。
  • 备注

    • 服务器实现覆盖配置文件多种模式(单配置与多 профиль支持)、工具/提示的注册、事件目录与字段探查、以及对接多种 LLM 提供商的能力。
    • 代码与测试覆盖了 MCP 服务端的核心能力与工具定义的完整性验证,属于可运行的 MCP 服务器实现而非单纯示例。

服务器信息