consult-llm-mcp

使用说明(Markdown格式)

  • 项目简介
    • 该仓库实现了一个 MCP 服务器端,承担向客户端暴露资源、工具与提示模板的能力,并把客户端的请求路由到底层的 LLM 模型后端。服务器通过 JSON-RPC 协议与客户端通信,支持会话管理、能力声明,以及跨多种传输方式的通讯。
  • 主要功能点
    • MCP 核心能力:支持读取/管理资源、注册并执行工具、定义和渲染 Prompt 模板等,面向 LLM 客户端提供可扩展的上下文与功能。
    • 会话与多轮支持:通过 thread_id 参数实现多轮对话的上下文传递,便于跨请求保持对话历史。
    • 多后端模型支持:内置模型集合及后端路由,可以通过环境变量配置使用 OpenAI、Gemini、DeepSeek 等多种模型及其 CLI/API 后端。
    • 传输协议与 JSON-RPC:实现 MCP 服务器端,提供便捷的 JSON-RPC 入口,支持多种传输(如 STDIO、SSE、WebSocket 等组合)。
    • 监控与日志:内置监控、日志记录、历史记录,以及对话过程的日志输出,便于诊断和成本统计。
  • 安装步骤
    • 安装 Rust 开发环境(若未安装则先安装 rustup)。
    • 克隆仓库并在项目根目录执行构建:
      • cargo build --release 编译产出将位于 target/release/
    • 运行服务器(示例,实际路径以构建输出为准):
      • 直接运行编译后的二进制,例如 target/release/consult-llm-mcp
    • 集成到 Claude/其他 MCP 客户端(可选):
      • Claude Code 等可将 MCP 服务器作为后端工具添加,参考 README 的 Quick Start 步骤进行配置。
  • 服务器配置(MCP 客户端配置示例说明)
    • MCP 客户端需要提供一个 JSON 配置,用于启动并连接到 MCP 服务器。配置包含以下字段(描述性注释,实际客户端读取时为 JSON 化字段):
    • server_name: 服务器标识名称,例如 "consult-llm-mcp"
    • command: 启动 MCP 服务器的可执行文件路径或命令,例如 "consult-llm-mcp"
    • args: 启动参数数组,视实际部署需要添加,例如 ["--log", "info"]
    • transport: 服务器与客户端之间的通信传输方式,常见值为 "stdio"(标准输入/输出)或 "websocket" 等 说明:上述字段来源于仓库实现逻辑,服务器端在启动时通过 rmcp 框架暴露 JSON-RPC 服务,客户端只需按字段指定启动命令与参数即可建立连接。
  • 基本使用方法
    • 启动服务器后,MCP 客户端通过配置的启动命令与参数调用 MCP 服务,发送请求如读取资源、执行工具、获取 Prompt 等。
    • 通过客户端调用 consult_llm 工具(在 MCP Tool Schema 中定义),向服务器传递 prompt、files、model、task_mode、web_mode、thread_id、git_diff 等字段,服务器解析后转发到相应的后端模型执行,返回 JSON-RPC 响应。
    • 如需多轮对话,继续在 follow-up 请求中传入 thread_id,以维持上下文。
    • 监控与日志:服务器运行时会输出日志,必要时可查看历史记录与监控界面(若集成监控 UI)。

服务器信息