使用说明

项目简介

PR-Reviewer MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端应用,它专注于GitHub Pull Request (PR) 的分析和报告生成。该服务器提供工具,允许LLM客户端(如Claude AI)请求分析指定的GitHub PR,并利用分析结果自动在Notion中创建详细的报告页面。

主要功能点

  • GitHub PR分析: 能够连接GitHub API,获取指定仓库和PR的详细信息,包括代码变更内容。
  • Notion报告生成: 可以将PR分析结果整理成结构化的内容,并自动在Notion数据库中创建页面进行展示。
  • MCP服务器: 作为一个MCP服务器,它提供标准化的接口,通过注册工具 (Tools) 的方式,让LLM客户端可以调用其功能。
  • 工具注册: 注册了 'fetch_pr' 和 'create_notion_page' 两个工具,分别用于获取PR信息和创建Notion页面。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/attikpo-akrabal-godwin/PR-Reviewer.git
    cd PR-Reviewer
  2. 创建并激活虚拟环境:

    python -m venv .venv
    source .venv/bin/activate   # Linux/macOS
    .venv\Scripts\activate  # Windows
  3. 安装依赖:

    pip install -r requirements.txt
  4. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入以下API密钥和ID:

    GITHUB_TOKEN=你的GitHub个人访问令牌
    NOTION_API_KEY=你的Notion API密钥
    NOTION_PAGE_ID=你的Notion页面ID (可选,如果需要特定父页面)
    NOTION_DATABASE_ID=你的Notion数据库ID (用于存储报告)

    请务必替换为你的真实Token和ID。

    • 获取 GitHub Token: 在 GitHub 设置 -> Developer settings -> Personal access tokens 中生成。需要 'repo' 权限。
    • 获取 Notion API Key 和 Database ID: 需要在 Notion 中创建一个集成,并分享数据库给该集成。参考 Notion 官方文档获取。

服务器配置

MCP客户端需要配置以下JSON格式信息以连接到 PR-Reviewer MCP 服务器:

{
  "server name": "PR-Reviewer-MCP-Server",
  "command": "python",
  "args": [
    "pr_anayzer.py"
  ],
  "transport": "stdio"
}

配置参数说明:

  • '"server name"': 服务器的名称,可以自定义,用于在MCP客户端中标识该服务器。 例如 "PR-Reviewer-MCP-Server"。
  • '"command"': 启动服务器的命令,这里是使用 'python' 解释器。
  • '"args"': 传递给启动命令的参数,这里指定运行 'pr_anayzer.py' 文件,即MCP服务器的入口脚本。
  • '"transport"': 指定MCP客户端与服务器通信的传输协议,这里使用 'stdio',即标准输入输出。

基本使用方法

  1. 启动MCP服务器: 在项目根目录下,运行以下命令启动 PR-Reviewer MCP 服务器:

    python pr_anayzer.py

    服务器成功启动后,会在终端输出 "MCP Server initialized" 和 "Running MCP Server for GitHub PR Analysis..." 等信息。

  2. 配置MCP客户端: 在你的MCP客户端(例如 Claude AI),根据其配置方式,添加上述 '服务器配置' JSON 信息。确保客户端能够通过 'stdio' 与本地运行的 PR-Reviewer MCP 服务器建立连接。

  3. 使用客户端调用工具: 连接成功后,在MCP客户端中,你可以调用服务器提供的工具,例如:

    • 调用 'fetch_pr' 工具,并提供 'repo_owner', 'repo_name', 'pr_number' 参数,以获取指定 GitHub PR 的信息。
    • 调用 'create_notion_page' 工具,并提供 'title' 和 'content' 参数,以在 Notion 中创建包含 PR 分析报告的页面。

    具体调用方式取决于你使用的MCP客户端的用户界面或API。可以参考仓库 'README.md' 中提供的 Claude AI 示例GIF动画。

通过以上步骤,你就可以搭建并使用 PR-Reviewer MCP 服务器,利用 LLM 客户端自动化进行 GitHub PR 分析并在 Notion 中生成报告。

信息

分类

开发者工具