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 仓库中查找相关文件,提供更丰富的代码上下文。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js 和 npm (Node 包管理器)。
  2. 克隆仓库: 将 GitHub 仓库 'https://github.com/PoliTwit1984/second-opinion-mcp-server' 克隆到本地。
    git clone https://github.com/PoliTwit1984/second-opinion-mcp-server
    cd second-opinion-mcp-server
  3. 安装依赖: 在仓库根目录下运行 'npm install' 命令安装项目依赖。
    npm install
  4. 构建服务器: 运行 '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 的智能辅助,提升代码问题解决效率。

信息

分类

开发者工具