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 客户端需要的配置信息) 请以 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 的上下文服务。

服务器信息