项目简介
'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 使用量、文件数量、请求处理时间以及错误信息,帮助用户了解工具的运行状态和资源消耗。
安装步骤
-
克隆仓库
git clone https://github.com/jalehman/mcp-sage.git cd mcp-sage -
安装依赖 确保已安装 Node.js (v18 或更高版本) 和 npm。
npm install -
构建项目
npm run build -
配置环境变量 设置 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' 环境变量在运行服务器的环境中设置,而不是直接写在客户端的配置文件中,以提高安全性。
基本使用方法
-
启动 MCP 服务器 根据你的 MCP 客户端配置,启动 'mcp-sage' 服务器。如果使用命令行直接运行,可以使用以下命令:
GEMINI_API_KEY=你的Gemini_API_KEY node /path/to/mcp-sage/dist/index.js -
使用 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' 字段的内容,以满足不同的代码分析和评审需求。
-
-
查看结果 服务器会将 Gemini 模型的响应通过 JSON-RPC 响应返回给 MCP 客户端。对于 'expert-review' 工具,返回的结果会包含 'SEARCH/REPLACE' 代码块,方便用户直接应用代码修改建议。同时,服务器还会通过 MCP 协议的 'notifications/message' 方法发送日志信息,客户端可以根据需要显示这些日志。
通过以上步骤,你就可以利用 'mcp-sage' MCP 服务器提供的工具,结合 Gemini 模型的强大能力,进行代码分析和专家评审,提升开发效率和代码质量。
信息
分类
开发者工具