Consult LLM MCP 服务器

使用说明(Markdown格式)

  • 项目简介

    • 该仓库实现了一个 MCP 服务器,核心职责是按 MCP 标准通过 JSON-RPC 与客户端通信,向客户端提供一个 consult_llm 工具,用于向强大 AI 模型发起查询请求,并管理上下文资源、工具调用以及 Prompts 的渲染与执行。
  • 主要功能点

    • MCP 请求处理与响应:实现 ListTools 和 CallTool 的服务器端处理,符合 MCP 的 JSON-RPC 交互模式。
    • 资源管理与上下文:能够读取并内联代码文件内容作为上下文(processFiles、buildPrompt、prompt-builder),并支持在请求中添加 git diffs 作为上下文的一部分。
    • 工具注册与执行:向客户端暴露 consult_llm 工具,支持不同模型(GPT、Gemini、DeepSeek 等)以及不同执行模式(API/CLI/Web)。
    • Prompt 渲染与日志:构建并记录系统提示、用户提示和完整的上下文提示,包含成本估算能力(针对 API 模式的使用情况)。
    • 会话与配置管理:服务器启动时记录版本、读取环境配置、管理默认模型以及可用模型集合。
    • 多传输模式与易用性:当前实现提供 STDIO 传输(通过 StdioServerTransport),并具备日志与调试能力。
    • 代码与测试覆盖:包含单元测试覆盖核心模块(schema、server、llm、prompt 构建等),方便本地验证。
  • 安装步骤

    • 获取代码并安装依赖
      • 克隆仓库并进入项目目录
      • 安装依赖(如 Node.js 环境下运行 npm install)
    • 构建与运行
      • 构建项目(如 npm run build)
      • 直接执行服务器(例如 npx consult-llm-mcp 或 npm run dev 以便开发迭代)
    • 连接到 MCP 客户端
      • MCP 客户端(如 Claude Code)通过配置将该服务器作为后端服务接入
      • 客户端通常通过命令行或界面提供 server name、command 与参数以建立连接
  • 服务器配置(MCP 客户端所需的配置信息,JSON 格式,包含 server name、command、args 等;请注意以下信息仅用于描述,不在这里提供代码)

    • server name: consult_llm
    • command: consult-llm-mcp
    • args: [] // 根据实际部署可追加运行参数(如调试选项、环境变量覆盖等)
    • 说明:客户端仅需要知道服务器名称与如何启动服务器进程,具体通信通过 MCP JSON-RPC over STDIO 完成。此处列出的是客户端将要执行的最小命令信息,实际参数以部署环境为准。
  • 基本使用方法

    • 启动方式
      • 在支持 MCP 的环境中,使用服务器命令启动服务器进程(例如 npx consult-llm-mcp,或 npm run dev 用于开发阶段的直接执行)。服务器启动后即监听并通过 STDIO 与 MCP 客户端进行通信。
    • 典型工作流
      • 客户端发送 ListTools 请求,获取可用工具(如 consult_llm)。
      • 客户端调用 consult_llm 工具,传入提示、文件上下文、模型等参数,服务器解析并执行,返回模型输出和成本信息(如果在 API 模式下)。
    • 结果处理
      • 服务端返回 JSON-RPC 响应,包含模型回答、成本信息等,客户端可进一步处理或显示结果。
  • 其他注意事项

    • 环境变量与配置:服务器依赖配置(如模型开启模式、默认模型、系统提示路径等)通过配置模块读取。请确保在部署环境中正确设置所需 API Key、模式(API/CLI)、默认模型等。
    • 日志与监控:服务器提供日志能力,便于追踪工具调用、提示渲染和模型响应等信息,以便成本估算与调试。

服务器信息