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)。