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 服务器实现而非单纯示例。