GitHub PR Review MCP

项目简介

GitHub PR Review MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在帮助用户更高效地审查 GitHub Pull Request。它通过提供工具和 Prompt,使得用户可以在支持 MCP 协议的客户端(如 Claude Desktop)中直接获取 PR 的信息、进行代码审查和总结。

主要功能点

  • PR 信息获取: 获取 GitHub Pull Request 的详细信息,包括标题、描述、状态、文件变更、评论、Review 记录等。
  • 代码审查工具: 提供 'review-pr' 工具,可以获取 PR 的详细信息,用于代码审查。
  • PR 总结 Prompt: 提供 'summarize-pr' Prompt,可以生成 PR 的简洁总结。
  • 代码审查 Prompt: 提供 'code-review' Prompt,可以生成用于代码审查的详细 Prompt,并支持指定审查关注点(如安全性、性能等)。
  • MCP 协议兼容: 遵循 MCP 协议,可以与任何兼容 MCP 协议的客户端进行交互。

安装步骤

  1. 克隆仓库

    git clone https://github.com/youqingkui/mcp_github_review
    cd mcp_github_review
  2. 创建并激活虚拟环境

    uv venv
    source .venv/bin/activate
  3. 安装依赖

    uv pip install -e .
  4. 配置 GitHub Token 复制 '.env.example' 文件为 '.env',并编辑 '.env' 文件,填入你的 GitHub Personal Access Token。你需要创建一个具有 'repo' 权限的 GitHub Token。

    cp .env.example .env
    # 编辑 .env 文件,添加你的 GitHub Token

    '.env' 文件内容示例:

    GITHUB_TOKEN=your_github_personal_access_token

服务器配置

要将此 MCP 服务器连接到 MCP 客户端(例如 Claude Desktop),你需要配置客户端的 MCP 服务器设置。以下是 Claude Desktop 的配置示例,你需要将配置添加到 'claude_desktop_config.json' 文件中。

Claude Desktop 配置示例

请将以下 JSON 配置添加到 Claude Desktop 的 'claude_desktop_config.json' 文件中的 'mcpServers' 字段中。你需要将 '/ABSOLUTE/PATH/TO/github-review-mcp' 替换为你的 'mcp_github_review' 项目的绝对路径。

{
    "mcpServers": {
        "github-review": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/github-review-mcp",  // 替换为你的 github-review-mcp 项目的绝对路径
                "run",
                "github-review"
            ],
            "env": {
                "GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"  // 替换为你的 GitHub Token,或者确保 .env 文件中的 GITHUB_TOKEN 正确配置
            }
        }
    }
}

基本使用方法

成功配置 MCP 服务器后,在 Claude Desktop 中,你可以通过以下方式使用 GitHub PR Review MCP 服务器的功能:

  1. 使用工具 (Tools)

    在 Claude Desktop 中,你可以使用 'review-pr' 工具来获取 PR 的信息。例如,你可以输入类似以下内容来调用工具:

    Could you help me review this pull request: https://github.com/owner/repo/pull/123

    MCP 客户端会自动识别并调用 'review-pr' 工具,并将 PR 的信息提供给 Claude Desktop。

  2. 使用 Prompt (Prompts)

    你可以使用 Prompt 来执行特定的任务。例如,使用 '/code-review' Prompt 进行代码审查,或使用 '/summarize-pr' Prompt 获取 PR 总结。

    /code-review https://github.com/owner/repo/pull/123

    /summarize-pr https://github.com/owner/repo/pull/123

    '/code-review' Prompt 还支持可选的 'focus' 参数,用于指定审查的关注点,例如:

    /code-review https://github.com/owner/repo/pull/123 focus:security

开发和测试

你可以使用 MCP Inspector 进行开发和测试,命令如下:

npx @modelcontextprotocol/inspector uv run github-review

日志

服务器日志会输出到 'github_review.log' 文件和控制台。

信息

分类

开发者工具