项目简介

'mcp-sage' 是一个 MCP (Model Context Protocol) 服务器,旨在为大型语言模型 (LLM) 客户端提供代码分析和评审工具。它通过 Gemini 2.5 Pro 模型,结合项目文件上下文,为开发者提供代码的第二意见和专家级的代码审查建议。

主要功能点

  • 第二意见 (second-opinion) 工具: 允许用户向 Gemini 模型发送提示 (prompt) 和文件路径列表,获取关于代码的解释、功能说明等第二意见。服务器会将指定的文件内容打包成 XML 格式作为上下文,确保模型能够理解代码的语境。
  • 专家评审 (expert-review) 工具: 提供代码审查功能,用户可以提供代码修改的指令和文件路径,服务器会将文件内容作为上下文发送给 Gemini 模型,并指示模型以 'SEARCH/REPLACE' 代码块格式返回代码修改建议,方便用户快速应用评审结果。
  • 上下文处理: 能够递归地读取目录下的所有文件,并将文件内容以结构化的 XML 格式打包,作为 Gemini 模型的上下文输入,支持处理大型代码库。
  • Token 限制处理: 在调用 Gemini 模型前,服务器会检查组合后的提示和上下文是否超过 Gemini 的 Token 限制 (1M tokens),避免因超限导致请求失败。
  • 详细日志: 通过 MCP 协议的日志功能提供详细的监控信息,包括 Token 使用量、文件数量、请求处理时间以及错误信息,帮助用户了解工具的运行状态和资源消耗。

安装步骤

  1. 克隆仓库

    git clone https://github.com/jalehman/mcp-sage.git
    cd mcp-sage
  2. 安装依赖 确保已安装 Node.js (v18 或更高版本) 和 npm。

    npm install
  3. 构建项目

    npm run build
  4. 配置环境变量 设置 Google Gemini API 密钥到环境变量 'GEMINI_API_KEY'。你需要在 Google AI Studio 获取 API 密钥。

    export GEMINI_API_KEY=你的Gemini_API_KEY

服务器配置

MCP 客户端需要配置服务器的启动命令才能连接 'mcp-sage' 服务器。以下是配置示例,请根据你的实际安装路径进行调整。

{
  "servers": [
    {
      "name": "mcp-sage",  // 服务器名称,可以自定义
      "command": "node",   // 启动服务器的命令,这里使用 node
      "args": [            // 启动命令的参数
        "/path/to/mcp-sage/dist/index.js" // mcp-sage 服务器入口文件路径,请替换为实际路径
      ],
      "env": {             // 环境变量配置
        "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY" // 建议在客户端配置中留空,而在运行环境中设置
      }
    }
  ]
}

请注意: '/path/to/mcp-sage' 需要替换为 'mcp-sage' 仓库在你的文件系统中的实际路径。 强烈建议将 'GEMINI_API_KEY' 环境变量在运行服务器的环境中设置,而不是直接写在客户端的配置文件中,以提高安全性。

基本使用方法

  1. 启动 MCP 服务器 根据你的 MCP 客户端配置,启动 'mcp-sage' 服务器。如果使用命令行直接运行,可以使用以下命令:

    GEMINI_API_KEY=你的Gemini_API_KEY node /path/to/mcp-sage/dist/index.js
  2. 使用 MCP 客户端调用工具 MCP 客户端需要发送符合 MCP 协议的 JSON-RPC 请求来调用 'mcp-sage' 提供的工具。

    • 调用 'second-opinion' 工具示例

      {
        "jsonrpc": "2.0",
        "id": 1,
        "method": "tools/call",
        "params": {
          "name": "second-opinion",
          "arguments": {
            "prompt": "请解释一下这段代码的功能",
            "paths": ["path/to/your/codefile.js"]  // 请替换为实际的代码文件路径
          }
        }
      }
    • 调用 'expert-review' 工具示例

      {
        "jsonrpc": "2.0",
        "id": 2,
        "method": "tools/call",
        "params": {
          "name": "expert-review",
          "arguments": {
            "instruction": "为这个函数添加错误处理",
            "paths": ["path/to/your/codefile.js"]  // 请替换为实际的代码文件路径
          }
        }
      }

    请将 'path/to/your/codefile.js' 替换为你想要分析或评审的代码文件的实际路径。 你可以根据需要修改 'prompt' 和 'instruction' 字段的内容,以满足不同的代码分析和评审需求。

  3. 查看结果 服务器会将 Gemini 模型的响应通过 JSON-RPC 响应返回给 MCP 客户端。对于 'expert-review' 工具,返回的结果会包含 'SEARCH/REPLACE' 代码块,方便用户直接应用代码修改建议。同时,服务器还会通过 MCP 协议的 'notifications/message' 方法发送日志信息,客户端可以根据需要显示这些日志。

通过以上步骤,你就可以利用 'mcp-sage' MCP 服务器提供的工具,结合 Gemini 模型的强大能力,进行代码分析和专家评审,提升开发效率和代码质量。

信息

分类

开发者工具