项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 GitHub Pull Request 提供自动化的代码评审功能。通过集成 AI 模型(如 OpenRouter),它可以分析 PR 的代码变更,并提供详细的评审反馈。

主要功能点

  • 自动化代码评审: 对 GitHub Pull Request 进行自动的代码分析和评审。
  • 详细评审反馈: 提供关于代码质量、风格、潜在问题、安全顾虑和性能建议等方面的详细反馈。
  • 集成 AI 模型: 利用外部 AI 模型(当前通过 OpenRouter 访问 Gemini 2.5 Pro)进行代码分析。
  • 日志功能: 提供详细的日志输出,方便调试和问题排查。

安装步骤

  1. 克隆仓库: 使用 Git 命令将项目仓库克隆到本地:

    git clone https://github.com/joaomj/code-reviewer-mcp.git
    cd code-reviewer-mcp
  2. 安装依赖: 进入项目目录,使用 npm 安装所有必要的依赖:

    npm install
  3. 设置环境变量: 配置运行服务器所需的两个环境变量。您需要一个 GitHub 个人访问令牌(具有读取仓库和 Pull Request 的权限)和一个 OpenRouter API 密钥。

    export GITHUB_PAT=your_github_personal_access_token
    export OPENROUTER_API_KEY=your_openrouter_api_key

    请将 'your_github_personal_access_token' 和 'your_openrouter_api_key' 替换为您的实际令牌和密钥。

  4. 构建项目: 运行构建命令,将 TypeScript 代码编译为 JavaScript:

    npm run build

服务器配置 (MCP 客户端)

MCP 服务器是设计用于与 MCP 兼容的客户端(如 Claude Desktop 等)进行交互的。您需要在 MCP 客户端的配置中添加此服务器的信息,以便客户端能够发现并连接它。配置通常是一个 JSON 格式的结构,指定服务器的名称、启动命令、参数以及环境变量。

以下是需要配置的关键信息示例:

  • 服务器名称 (name): 为您的服务器定义一个名称,例如 '"code-reviewer-mcp"'。
  • 启动命令 (command): 指定用于启动服务器的可执行文件,例如 '"node"'。
  • 参数 (args): 指定传递给启动命令的参数,通常是服务器构建后的主脚本文件路径,例如 '["/path/to/code-reviewer-mcp/build/index.js"]'。您需要将 '/path/to/code-reviewer-mcp/' 替换为您实际的项目路径。
  • 环境变量 (env): 将之前设置的 'GITHUB_PAT' 和 'OPENROUTER_API_KEY' 环境变量传递给服务器进程。

请根据您的 MCP 客户端的具体配置方式,添加包含上述信息的服务器条目。

基本使用方法

一旦服务器在您的 MCP 客户端中成功配置并启动,客户端中的 LLM 就可以通过 MCP 协议与服务器通信,发现并调用其提供的工具。

该服务器提供一个名为 'review_pull_request' 的工具。LLM 可以调用此工具来请求对特定的 GitHub Pull Request 进行代码评审。调用时,LLM 需要提供以下参数:

  • 'owner' (string): 仓库所有者的 GitHub 用户名。
  • 'repo' (string): 仓库的名称。
  • 'pull_number' (number): Pull Request 的编号。

服务器接收到工具调用请求后,会获取相应的 PR 变更内容,将其发送给配置的 AI 模型进行分析,并将 AI 生成的评审结果作为工具调用的响应返回给 LLM 客户端。

请注意,当前版本有一些限制,仅支持公共仓库和非草稿状态的 Pull Request。

信息

分类

开发者工具