Second Opinion MCP Server 使用说明
项目简介
Second Opinion MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为开发者提供 AI 驱动的代码问题辅助。它整合了 Google 的 Gemini AI、Stack Overflow 的问答以及 Perplexity AI 的分析能力,为 LLM 客户端提供丰富的上下文信息和智能建议,帮助开发者更高效地解决编码难题。
主要功能点
- AI 驱动的代码问题诊断: 结合 Gemini AI 的强大语言理解能力,分析代码问题并提供解决方案。
- 多源信息整合: 汇集 Stack Overflow 的海量问答和 Perplexity AI 的深入分析,提供更全面的问题背景和解决方案。
- 自动语言检测: 根据文件扩展名自动识别编程语言,为 AI 分析提供更精确的上下文。
- 代码片段提取与格式化: 从 Stack Overflow 答案中提取代码片段,并进行格式化展示,方便开发者阅读和使用。
- Markdown 报告生成: 将分析结果和解决方案生成 Markdown 格式的报告,方便开发者保存和查阅。
- Git 上下文感知: 能够根据错误信息在 Git 仓库中查找相关文件,提供更丰富的代码上下文。
安装步骤
- 安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js 和 npm (Node 包管理器)。
- 克隆仓库: 将 GitHub 仓库 'https://github.com/PoliTwit1984/second-opinion-mcp-server' 克隆到本地。
git clone https://github.com/PoliTwit1984/second-opinion-mcp-server cd second-opinion-mcp-server - 安装依赖: 在仓库根目录下运行 'npm install' 命令安装项目依赖。
npm install - 构建服务器: 运行 'npm run build' 命令构建服务器代码。
npm run build
服务器配置
MCP 客户端需要配置以下 JSON 格式信息来启动 Second Opinion MCP Server,以便与其建立连接并调用其提供的工具。
{ "mcpServers": { "second-opinion": { "command": "node", "args": ["/path/to/second-opinion-server/build/index.js"], "env": { "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", "PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY", "STACK_EXCHANGE_KEY": "YOUR_STACK_EXCHANGE_KEY" } } } }
配置参数说明:
- 'server name': 'second-opinion' (服务器名称,客户端用于识别和调用)
- 'command': 'node' (启动服务器的命令,这里使用 Node.js 运行时)
- 'args': '["/path/to/second-opinion-server/build/index.js"]' (命令参数,指向服务器构建后的入口文件 'index.js'。请将 '/path/to/second-opinion-server' 替换为实际的仓库本地路径)
- 'env': 环境变量配置,用于设置 API 密钥:
- 'GEMINI_API_KEY': Google Gemini API 密钥 (必须配置)
- 'PERPLEXITY_API_KEY': Perplexity AI API 密钥 (必须配置)
- 'STACK_EXCHANGE_KEY': Stack Exchange API 密钥 (可选,不提供则使用匿名访问)
注意: 请务必将 'YOUR_GEMINI_API_KEY'、'YOUR_PERPLEXITY_API_KEY' 和 'YOUR_STACK_EXCHANGE_KEY' 替换为你自己的 API 密钥。你需要在相应的 AI 平台 (Google Cloud, Perplexity AI, Stack Exchange) 上创建账号并获取 API 密钥。
基本使用方法
Second Opinion MCP Server 提供一个名为 'get_second_opinion' 的工具,用于获取代码问题的 AI 辅助分析和解决方案。
工具名称: 'get_second_opinion'
工具描述: "Get a second opinion on a coding problem using Google's Gemini AI, enhanced with Perplexity insights and Stack Overflow references" (使用 Google 的 Gemini AI,结合 Perplexity 的见解和 Stack Overflow 的参考,获取关于代码问题的第二意见)
输入参数 (JSON 格式):
{ "goal": "string (必填) - 你尝试完成的目标", "error": "string (可选) - 你遇到的任何错误信息", "code": "string (可选) - 相关的代码上下文", "solutionsTried": "string (可选) - 你已经尝试过的解决方案", "filePath": "string (可选) - 包含问题的文件的路径 (用于自动收集上下文)" }
使用示例:
假设你在使用 React 开发时遇到了 'useEffect' 的依赖问题,你可以向 MCP 客户端发送如下 'CallToolRequest' 请求:
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "name": "get_second_opinion", "arguments": { "goal": "Fix React useEffect cleanup error", "error": "React Hook useEffect has a missing dependency: 'socket'. Either include it in the dependency array, or remove the dependency array react-hooks/exhaustive-deps", "code": "useEffect(() => {\n socket.on('message', handleMessage);\n return () => socket.off('message');\n}, []);", "solutionsTried": "I tried adding socket to the dependency array but then it causes infinite re-renders" } }, "id": 1 }
服务器将分析你提供的信息,并返回包含 AI 建议和解决方案的 JSON-RPC 响应。分析结果也会保存为 Markdown 文件在 'responses' 目录下。
总结: 配置并运行 Second Opinion MCP Server 后,你可以在支持 MCP 协议的 LLM 客户端中调用 'get_second_opinion' 工具,输入代码问题相关信息,即可获得来自 AI 的智能辅助,提升代码问题解决效率。
信息
分类
开发者工具