MetriLLM MCP 服务器端实现
使用说明
- 项目简介
- 该仓库实现了一个 MCP 服务器端,核心职责是对接 LLM 客户端(如 Claude Code、Cursor、Windsurf 等 MCP 客户端),提供统一的资源管理、工具调用、以及提示/模板渲染能力。
- 服务器通过 JSON-RPC 与客户端通信,处理请求并返回结构化的响应,同时负责会话管理、能力声明与传输协议支持(本地使用 Standard IO 传输)。
- 主要功能点
- 资源与数据访问:管理本地模型资源、执行相关查询。
- 工具注册与执行:注册 list_models、run_benchmark、get_results、share_result 等工具,并对外暴露可调用的输入校验与返回内容。
- Prompt 与模板:定义与渲染 Prompt 模板,方便 LLM 与服务器协同工作。
- JSON-RPC 通信:采用 MCP 标准的请求/响应格式,与客户端进行跨进程/跨进程通信。
- 多传输协议支持:在实现中包含 StdIO 传输,便于 Claude Code、Cursor、Windsurf 等在本地环境中直接接入。
- 安装与运行步骤
- 安装 MCP 服务端的包(示例命令,实际请参考发布版本)
- 通过 npm/yarn/pnpm 安装 metrillm-mcp(对应仓库中的 MCP 服务实现)
- 运行服务器
- 在本地命令行执行运行脚本,确保 Node.js 版本符合要求(Node 20+),以及本地环境中已安装 MCP 客户端所需的运行时/依赖。
- 启动后,服务器将监听标准输入输出的 JSON-RPC 流,等待 MCP 客户端发起请求。
- 安装 MCP 服务端的包(示例命令,实际请参考发布版本)
- 服务器配置(MCP 客户端需要的配置信息)
请以 JSON 格式作为 MCP 客户端所需的连接配置,包含以下字段注释说明。注意:MCP 客户端本身不需要此处的实现代码,仅用作配置参考。
{
"serverName": "metrillm",
"command": "npx",
"args": ["metrillm-mcp@latest"],
"transport": "stdio",
"description": "MetriLLM MCP 服务器,提供资源、工具注册与 Prompt 支持的 MCP 服务端。"
}
说明:
- serverName:服务器对外标识名称,建议与 MCP 客户端及文档保持一致。
- command / args:启动服务器所需的命令及参数。示例中使用 npx 下载并执行 metrillm-mcp@latest。
- transport:本 MCP 服务器使用标准输入/输出(stdio)作为传输通道,实际可扩展为 SSE 或 WebSocket 等传输。
- 基本使用方法
- 第一步:确保 MCP 客户端(如 Claude Code/Cursor/Windsurf 等)正确配置该 MCP 服务器的启动命令及传输方式。
- 第二步:在 MCP 客户端的配置中,添加服务器条目,指向 metrillm 的 MCP 服务端(命令与参数与上文 JSON 配置保持一致)。
- 第三步:通过 MCP 客户端调用注册的工具,如 list_models、run_benchmark、get_results、share_result,服务器会返回 JSON-RPC 风格的响应。
- 第四步:根据需要扩展或自定义工具、资源和 Prompts,以实现对本地 LLM 的上下文服务。