项目简介
该仓库提供了一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于自动化代码审查。它可以与任何支持 MCP 协议的 LLM 客户端集成,为代码变更提供详细的审查报告和建议,并能直接在 GitHub Pull Request 上添加评论。
主要功能点
- 比较代码差异: 支持比较本地 Git 仓库中两个分支之间的代码差异,或从 GitHub Pull Request (PR) URL 获取代码差异。
- 自动化代码审查: 根据预设或自定义的风格和代码审查指南,对代码差异进行分析,生成审查报告和改进建议。
- GitHub 评论功能: 能够自动向 GitHub PR 添加总结性评论或针对特定代码行的评论。
- Notion 集成: 可选支持从 Notion 中的代码块获取自定义的代码审查指南。
- 灵活的配置: 支持通过环境变量配置 GitHub Token、Notion API 密钥和忽略文件模式。
安装步骤
- 确保您的系统已安装 Node.js (推荐 v18 或更高版本) 和 Git。
- 如果您需要对 GitHub PR 进行评论,需要提供 'GITHUB_TOKEN' 环境变量 或安装并配置 GitHub CLI ('gh')。
- (可选)如果您想集成 Notion 获取自定义指南,需要一个 Notion API token。
- 本项目通常由 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 服务器后,您可以通过发送特定格式的命令来调用其功能。
-
本地 Git 分支代码审查: 发送类似如下指令,服务器将比较当前目录与指定基础分支的差异并进行审查。
code review base branch: <您的基础分支名称>您可能需要确保在运行客户端的环境中,当前工作目录是您的 Git 仓库根目录,或者客户端提供了指定 'folderPath' 参数的能力。
-
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 页面添加评论。
信息
分类
开发者工具