AI Agent 中级 20分钟
MCP GitHub 代码审查助手
基于 MCP GitHub Server 的自动化代码审查系统,支持多维度代码质量检查、自动评论、PR总结。
MCPClaude DesktopGitHub APIPythonLangChain
项目概述
代码审查是保证代码质量的核心环节,但也存在明显的痛点:审查者时间有限、容易遗漏安全漏洞、非功能性审查费时费力。
本案例基于 MCP GitHub Server,将 Claude Desktop 变成智能代码审查助手。当有新 PR 提交时,系统自动从安全性、性能、代码规范等多个维度进行全面审查,并将结果以评论形式发布到 PR 中。
关键指标
92%
安全漏洞检出率
5 个
审查覆盖维度
< 3 分钟
平均审查耗时
85%
开发采纳率
系统架构
Claude Desktop 通过 MCP GitHub Server 连接到 GitHub API,GitHub Actions 作为 PR 事件的触发器。
(diagram)
实现细节
1
MCP 连接配置
GitHub Server 注册
在 Claude Desktop 配置文件中注册 MCP GitHub Server,配置 GitHub Token。Claude 可直接操作 GitHub 资源。
工具注册
注册核心工具:get_file_contents、search_repositories、create_pull_request_review、list_pull_requests。
权限控制
GitHub Token 使用最小权限原则,只赋予读取仓库内容和创建 PR 评论的权限。
2
多维度审查
安全审查
扫描 SQL 注入、XSS、CSRF、硬编码密钥、依赖漏洞等常见安全问题。标注严重等级。
性能审查
识别性能反模式:N+1 查询、无索引的数据库操作、不必要的循环嵌套。
代码规范与架构
检查代码风格、设计模式、模块间耦合度是否合理。
3
自动审查工作流
PR 事件触发
通过 GitHub Actions 监听 PR 事件。触发后调用 Claude API 开始审查。
差异分析
MCP 获取 PR 完整 diff,分析修改文件范围和影响面。关联上下文文件。
审查评论发布
审查结果以 inline comment 形式发布。每个问题标注精确行号,底部生成审查摘要。
Claude Desktop MCP 配置
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
}
}
} 经验教训
- MCP 让 Claude 的操作边界清晰可控
- 审查质量取决于上下文广度
- PR 太大会导致审查质量下降
- 自定义规则库需要持续积累