项目简介

该仓库提供了一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于自动化代码审查。它可以与任何支持 MCP 协议的 LLM 客户端集成,为代码变更提供详细的审查报告和建议,并能直接在 GitHub Pull Request 上添加评论。

主要功能点

  • 比较代码差异: 支持比较本地 Git 仓库中两个分支之间的代码差异,或从 GitHub Pull Request (PR) URL 获取代码差异。
  • 自动化代码审查: 根据预设或自定义的风格和代码审查指南,对代码差异进行分析,生成审查报告和改进建议。
  • GitHub 评论功能: 能够自动向 GitHub PR 添加总结性评论或针对特定代码行的评论。
  • Notion 集成: 可选支持从 Notion 中的代码块获取自定义的代码审查指南。
  • 灵活的配置: 支持通过环境变量配置 GitHub Token、Notion API 密钥和忽略文件模式。

安装步骤

  1. 确保您的系统已安装 Node.js (推荐 v18 或更高版本)Git
  2. 如果您需要对 GitHub PR 进行评论,需要提供 'GITHUB_TOKEN' 环境变量 或安装并配置 GitHub CLI ('gh')
  3. (可选)如果您想集成 Notion 获取自定义指南,需要一个 Notion API token
  4. 本项目通常由 MCP 客户端按需启动,您无需手动安装到全局。

服务器配置

本项目作为 MCP 服务器运行,需要由 MCP 客户端配置并启动。在您的 MCP 客户端中,您需要添加一个新的 MCP 服务器配置,通常包含以下信息:

  • 服务器名称 (name): 用于标识该服务器的名称,例如 'code-review-tool'。
  • 启动命令 (command): 启动服务器的命令。对于本项目,可以使用 'npx' 直接运行,命令通常是 'npx'。
  • 命令参数 (args): 启动命令的参数。对于本项目,参数通常是 '["-y", "code-review-mcp-server"]'。
  • 环境变量 (env): 传递给服务器进程的环境变量。这里可以配置 GitHub Token、Notion API 密钥和指南 URL 等,例如:
    • 'GITHUB_TOKEN': GitHub 个人访问令牌。可选,未提供时会尝试使用 GitHub CLI。
    • 'NOTION_API_KEY': Notion API 密钥,用于获取 Notion 内容。
    • 'NOTION_CODE_REVIEW_GUIDELINE_CODE_BLOCK_URL': Notion 中包含代码审查指南代码块的 URL。
    • 'NOTION_STYLE_GUIDELINE_CODE_BLOCK_URL': Notion 中包含风格指南代码块的 URL。
    • 'IGNORE_PATTERNS': 逗号分隔的 glob 模式,用于忽略特定文件。

这些配置信息需要根据您使用的 MCP 客户端的具体界面或配置文件格式进行填写。

基本使用方法

在您的 MCP 客户端中,连接配置好的代码审查 MCP 服务器后,您可以通过发送特定格式的命令来调用其功能。

  1. 本地 Git 分支代码审查: 发送类似如下指令,服务器将比较当前目录与指定基础分支的差异并进行审查。

    code review
    base branch: <您的基础分支名称>

    您可能需要确保在运行客户端的环境中,当前工作目录是您的 Git 仓库根目录,或者客户端提供了指定 'folderPath' 参数的能力。

  2. GitHub PR 代码审查: 发送包含 GitHub PR URL 的指令,服务器将获取 PR 差异并进行审查。您也可以在审查后指示服务器添加评论。

    code review
    <您的 GitHub PR URL,例如: https://github.com/owner/repo/pull/123>
    
    After generating the review report, please:
    
    1.  Add PR summary comment
    2.  If individual files require suggested changes, use line comments.

    服务器会执行审查,并将结果返回给您的 LLM 客户端。如果包含评论指令,服务器还会尝试使用配置的 GitHub Token 或 CLI 在 PR 页面添加评论。

信息

分类

开发者工具