🤖 AI代码审查MCP服务器
用于AI代码审查和质量管理的模型上下文协议(MCP)服务器。
主要功能
🔍 AI代码评论
- 按提交类型分析:feat、fix、refactor等类型的自定义评论
- 计算质量分数:复杂度、可维护性、安全性等多方面评估
- 安全漏洞检查:自动检测潜在的安全问题
- 性能影响分析:评估对性能的影响
📋 综合评论系统
- 按提交类型分析:针对每个提交类型进行单独分析
- 检查综合评论:一次查看所有分析结果
- 提供核对表:检查容易错过的评论点
- 标记报告:通过标记生成综合评论结果
🎯 评论指南
- 类型指南:创建符合提交类型的评论指南
- 最佳实践:针对每种类型提出建议
- 注意事项:提前通知常见问题
🚀 快速入门
1.首选参数
# 저장소 클론
git clone
cd ai-review-mcp-server
# 의존성 설치
npm install
# 환경 변수 설정
cp .env.example .env2.配置环境变量
# Claude API 설정
CLAUDE_API_KEY=sk-ant-api-03-xxx
# GitHub 설정
GITHUB_TOKEN=ghp_xxx
GITHUB_WEBHOOK_SECRET=your-webhook-secret
# 서버 설정
PORT=3001
NODE_ENV=development3.启动服务器
# 개발 모드 (자동 재시작)
npm run dev
# 프로덕션 모드
npm run build
npm start4.Web UI连接
在浏览器中 http://localhost:3001可以通过连接使用Web UI。
🖥️ Web UI使用
PR分析
- 输入存储库:
owner/repo以格式输入 - 输入PR编号:输入要分析的PR编号
- 选择提交类型:选择适当的提交类型
- 运行分析:单击“PR分析”按钮
检查综合评论
- 完成PR分析后,单击“检查综合评论”按钮
- 在MODAL中查看提交类型的分析结果
- 查看综合评论指南
- 通过核对表进行评论
🔧 API端点
HTTP API
# PR 분석
POST /analyze
{
"repo": "owner/repo",
"pr_number": 123,
"commit_type": "feat",
"enable_split": true,
"deep_analysis": false
}
# 리뷰 가이드 생성
POST /review-guide
{
"commit_type": "feat",
"file_changes": ["src/component.tsx"]
}
# 품질 점수 계산
POST /quality-score
{
"changes": [...],
"metrics": {}
}
# 헬스 체크
GET /healthMCP工具
// MCP 클라이언트에서 사용
{
"method": "tools/call",
"params": {
"name": "analyze_pr",
"arguments": {
"repo": "owner/repo",
"pr_number": 123,
"commit_type": "feat"
}
}
}🐳 使用Docker
构建和运行Docker
# Docker 이미지 빌드
npm run docker:build
# Docker 컨테이너 실행
npm run docker:runDocker Compose
# 전체 스택 실행
docker-compose up -d
# 로그 확인
docker-compose logs -f ai-reviewGitHub Webhook设置
- GitHub存储库→Settings→Webhooks
- 有效载荷URL:
https://your-domain.com/webhook - 内容类型:
application/json - 活动:
Pull requests - 秘密:
.env的GITHUB_WEBHOOK_SECRET价钱
📊 响应格式
PR分析响应
{
"success": true,
"pr_number": 123,
"repo": "owner/repo",
"analyzed_at": "2024-06-04T10:30:00Z",
"by_commit_type": {
"feat": {
"analysis": {
"summary": "새로운 기능 분석 요약",
"quality_score": 87,
"review_points": ["...", "..."],
"suggestions": ["...", "..."],
"security_concerns": ["..."],
"performance_impact": ["..."]
},
"guide": {
"title": "새로운 기능 개발 리뷰 가이드",
"checklist": ["...", "..."],
"focus_areas": ["...", "..."],
"common_issues": ["...", "..."],
"best_practices": ["...", "..."]
}
}
},
"summary_review": {
"markdown": "# 📋 PR 종합 리뷰\n\n..."
}
}🛠️ 自定义
修改评论模板
src/handlers/claude-client.ts可以在中修改提示模板:
private getCommitTypeGuidelines(commitType: string): string {
// 커밋 타입별 가이드라인 커스터마이징
}调整质量分数标准
src/handlers/pr-analyzer.ts可以在中修改质量分数计算逻辑:
async calculateQualityScore(changes: any[], metrics: any = {}) {
// 품질 점수 계산 로직 커스터마이징
}🚨 故障排除
常见问题
- CLAUDE_API_KEY错误
- 验证Claude API密钥是否正确 - 确认密钥的权限和余额
- GITHUB_TOKEN错误
- GitHub个人访问令牌확인 - 验证您是否具有repo权限
- PR分析失败
- 验证PR是否存在 - 验证存储库访问权限
检查日志
# 개발 모드에서 상세 로그 확인
DEBUG=* npm run dev
# 프로덕션 로그 확인
docker-compose logs ai-review📝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
MIT License-详细信息 许可证 请参考文件。
🙏 感谢的话
______________________________________________________________________
由以下材料制成❤️ by 김정규
