返回市场
代码审查MCP服务器

代码审查MCP服务器

作者:Orcus20216 星标更新:2025-07-26

项目介绍

代码审查MCP工具

这是一个Model Context Protocol(MCP)服务器,提供自动代码审查功能,并在支持MCP集成的应用中对GitHub PR进行评论。

Ask DeepWiki

功能

  • 比较两个git分支之间的代码差异
  • 根据GitHub拉取请求URL比较代码差异
  • 在GitHub拉取请求中添加总结评论
  • 在GitHub拉取请求中添加行特定评论
  • 提供详细的代码审查指南
  • 支持与Notion集成,从Notion代码块中检索审查指南,默认指南作为备用
  • 支持本地markdown文件以获取完整的审查说明
  • 包含预配置的样式和代码审查指南
  • 从本地目录读取PR模板
  • 创建GitHub拉取请求并自动检测仓库信息
  • 获取原始git diff输出,不包含审查说明

工具

  • CodeReview:在分支和基础分支之间运行git diff。返回diff以及审查和修复问题的说明。
  • GetLocalGitDiff:获取两个分支之间的本地git diff。返回原始diff输出,不包含审查说明。
  • CodeReviewWithGithubUrl:从GitHub PR URL获取diff。返回diff以及审查和修复问题的说明。
  • AddPRSummaryComment:向GitHub PR添加总结评论。
  • AddPRLineComment:向GitHub PR中的特定行添加多个评论。支持对PR diff中的特定更改行进行评论。
  • GetPRTemplate:从指定的文件夹路径和模板名称读取PR模板,如果未找到,则返回默认模板内容。
  • CreatePR:使用指定的标题、正文和分支创建新的GitHub拉取请求。自动检测GitHub URL和当前分支来自本地git配置。

架构

  • MCP服务器:监听来自任何MCP兼容客户端应用的代码审查请求。
  • Git集成:使用本地git或GitHub PR生成diff。
  • Notion集成:如果配置了,从Notion代码块中获取审查指南。
  • 本地文件支持:从本地markdown文件中读取完整的审查说明。
  • 自动化审查:分析代码diff并生成审查评论和建议。

先决条件

  • Node.js(推荐版本18及以上)
  • 系统上安装了Git
  • 对于GitHub PR审查,您必须提供以下之一:
    • GITHUB_TOKEN环境变量(用于访问GitHub RESTful API),或者
    • 安装并认证了GitHub CLI(gh
  • (可选)Notion API令牌用于指南集成

MCP配置

要在支持MCP的应用中使用此工具,请遵循以下步骤:

  1. 打开您的MCP支持应用的配置文件。
  2. 添加以下配置:
{
  "mcpServers": {
    "code-review-tool": {
      "command": "npx",
      "args": ["-y", "code-review-mcp-server"],
      "env": {
        "GITHUB_TOKEN": "github_token",
        "NOTION_API_KEY": "notion_api_key",
        "NOTION_CODE_REVIEW_GUIDELINE_CODE_BLOCK_URL": "notion_code_block_url_here",
        "NOTION_STYLE_GUIDELINE_CODE_BLOCK_URL": "notion_code_block_url_here",
        "LOCAL_INSTRUCTIONS_FILE_PATH": "/path/to/complete-instructions.md",
        "IGNORE_PATTERNS": "pattern1,pattern2,pattern3"
      }
    }
  }
}

环境变量描述

<table> <thead> <tr> <th>变量</th> <th>必需</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td><code>GITHUB_TOKEN</code></td> <td>可选</td> <td>用于API访问的GitHub个人访问令牌。如果没有提供,则回退到GitHub CLI。</td> </tr> <tr> <td><code>LOCAL_INSTRUCTIONS_FILE_PATH</code></td> <td>可选</td> <td>包含完整审查说明的本地markdown文件路径。当提供时,此文件完全替换组合的Notion/默认指南。优先级:本地 > Notion > 默认。</td> </tr> <tr> <td><code>IGNORE_PATTERNS</code></td> <td>可选</td> <td>要排除审查的文件的逗号分隔的glob模式。</td> </tr> <tr> <td colspan="3" align="center"><strong>Notion</strong></td> </tr> <tr> <td><code>NOTION_API_KEY</code></td> <td>可选</td> <td>从Notion获取审查指南所需。</td> </tr> <tr> <td><code>NOTION_CODE_REVIEW_GUIDELINE_CODE_BLOCK_URL</code></td> <td>可选</td> <td>包含代码审查指南的Notion URL。必须指向一个Notion <code>&lt;/&gt; Code</code>块,并需要有效的<code>NOTION_API_KEY</code>才能工作。如果没有配置,则回退到默认指南。</td> </tr> <tr> <td><code>NOTION_STYLE_GUIDELINE_CODE_BLOCK_URL</code></td> <td>可选</td> <td>包含样式指南的Notion URL。必须指向一个Notion <code>&lt;/&gt; Code</code>块,并需要有效的<code>_NOTION_API_KEY</code>才能工作。如果没有配置,则回退到默认指南。</td> </tr> </tbody> </table>

审查说明优先级

该工具支持多个来源的审查说明,具有以下优先级顺序(实现):

  1. 本地Markdown文件(最高优先级)

    • 通过LOCAL_INSTRUCTIONS_FILE_PATH环境变量设置
    • 必须是.md.markdown文件
    • 当可用时,完全替换所有其他说明来源
    • 如果无法读取文件,则回退到Notion/默认
  2. Notion集成(中等优先级)

    • 结合Notion中的样式指南和代码审查指南
    • 需要NOTION_API_KEY和相应的URL环境变量
  3. 默认指南(最低优先级)

    • 内置的样式指南和代码审查指南
    • 始终可用作为回退

Notion集成设置

1. 请求Notion API令牌

  1. 访问Notion开发者
  2. 创建一个新的集成
  3. 获得API令牌

详细说明,请参阅:Notion API授权指南

2. 配置环境变量

该工具需要以下环境变量:

NOTION_API_KEY=your_token_here
NOTION_CODE_REVIEW_GUIDELINE_CODE_BLOCK_URL=your_notion_code_block_url
NOTION_STYLE_GUIDELINE_CODE_BLOCK_URL=your_notion_style_guideline_url

这些可以在上述MCP配置的env部分中提供。

3. 将集成添加到Notion页面

  1. 单击Notion页面上的“分享”按钮
  2. 将您的集成添加到页面的共享列表中

注意:目前仅支持从Notion读取代码块

详细说明,请参阅:Notion API连接指南

使用方法

提示:为了获得更好的审查结果,建议在运行代码审查命令之前切换到正在审查的分支。

本地Git分支审查

在您的MCP兼容应用中发送以下命令:

代码审查
基准分支:branch/任意分支

这将:

  1. 比较当前分支和指定基准分支之间的差异
  2. 自动生成git diff
  3. 根据样式和代码审查指南进行审查
  4. 提供详细的审查结果和改进建议

获取原始Git diff

仅获取git diff而不包含审查说明:

获取本地git diff
基准分支:main

这将返回当前分支和指定基准分支之间的原始git diff输出,可用于进一步处理或分析。

GitHub PR审查

在您的MCP兼容应用中发送以下命令:

代码审查
https://github.com/owner/repo/pull/123

生成审查报告后,请执行以下操作:

1. 添加PR总结评论
2. 如果个别文件需要建议更改,请使用行评论。

这将获取PR的diff,提供代码审查,并直接在GitHub上留下PR评论。

创建GitHub拉取请求

创建带有自动仓库检测的PR:

基于diff创建PR
基准分支:main

该工具将:

  • 自动从git远程检测GitHub仓库URL
  • 使用当前分支作为源分支
  • 验证当前分支是否已推送到远程
  • 使用GitHub CLI或REST API创建PR
  • 支持创建草稿PR并分配里程碑

手动覆盖(如果自动检测失败):

创建PR
GitHub URL:https://github.com/user/repo
基准分支:main

读取PR模板

从您的仓库中读取PR模板:

获取PR模板

这将:

  • 在指定文件夹中搜索pull_request_template.md
  • 同时检查.github/子目录
  • 返回模板内容或未找到时的默认模板

自定义模板名称

获取PR模板
文件夹路径:/path/to/your/repo/template
模板名称:custom_template.md

CI集成自动化代码审查

您可以通过触发n8n webhook来在CI管道中自动化代码审查,该webhook将调用此项目的MCP工具进行审查并返回结果或在您的PR上留下评论。

逐步指南和推荐的工作流程图,请参阅:CI集成与n8n和MCP工具

审查指南

此工具提供了多种配置审查指南的方法:

1. 本地Markdown说明(推荐)

创建一个完整的markdown格式指令文件,并设置LOCAL_INSTRUCTIONS_FILE_PATH环境变量。这为您的审查过程提供了最大的灵活性和版本控制。

2. Notion集成

通过Notion代码块配置单独的样式和代码审查指南。

3. 默认指南

该工具包括内置指南,涵盖:

  • 样式指南:变量命名、函数命名、常量命名等代码风格标准。
  • 代码审查指南:基于SOLID原则、可读性、不可变性等的代码质量标准。