使用说明
🤖 MCP代码审查服务器
与平台无关的AI驱动的代码审查服务器,支持webhook和MCP集成。
✨ 特性
- 🔌 平台无关:GitHub、GitLab、Bitbucket、Azure DevOps的单一webhook端点
- 🤖 AI驱动:使用Groq(Llama 3.3)、Claude或GPT-4进行智能代码审查
- 💬 多种评论样式:摘要评论、内联评论或两者兼而有之
- 🎯 重点分析:安全性、性能、错误、代码质量
- 🔧 MCP工具:通过Claude Desktop或其他MCP客户端进行手动代码审查
- 🚀 易于集成:简单的管道配置
🏗️ 建筑
Pipeline Webhook → MCP Server → Platform Detection → AI Review → Post Comments
📦 安装
1.克隆和设置
cd python
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
2.配置
复制 .env.example 到 .env 并配置:
# AI Provider (choose one)
GROQ_API_KEY=your_key
# or
ANTHROPIC_API_KEY=your_key
# or
OPENAI_API_KEY=your_key
# Platform Tokens
GITHUB_TOKEN=your_github_token
GITLAB_TOKEN=your_gitlab_token
BITBUCKET_USERNAME=your_username
BITBUCKET_APP_PASSWORD=your_password
AZURE_DEVOPS_PAT=your_azure_pat
AZURE_DEVOPS_ORG=https://dev.azure.com/your-org
编辑 config.yaml 查看首选项:
ai:
provider: "groq" # or "anthropic" or "openai"
model: "llama-3.3-70b-versatile" # Groq models
# model: "claude-3-5-sonnet-20241022" # Anthropic
# model: "gpt-4-turbo-preview" # OpenAI
review:
comment_strategy: "both" # summary, inline, both
report_levels:
- critical
- high
- medium
block_on_critical: true
3.运行服务器
python server.py
服务器在上运行 http://localhost:8000
🔧 管道集成
比特桶管道
看 examples/bitbucket-pipelines.yml
pipelines:
pull-requests:
'**':
- step:
script:
- curl -X POST $REVIEW_SERVER_URL/webhook ...
GitHub操作
看 examples/github-actions.yml
- name: Trigger AI Review
run: |
curl -X POST ${{ secrets.REVIEW_SERVER_URL }}/webhook ...
GitLab CI/CD
看 examples/gitlab-ci.yml
ai-code-review:
script:
- curl -X POST $REVIEW_SERVER_URL/webhook ...
Azure管道
看 examples/azure-pipelines.yml
- script: |
curl -X POST $(REVIEW_SERVER_URL)/webhook ...
🎯 MCP工具(手动审查)
从Claude Desktop或任何MCP客户端使用:
1.审查代码
{
"tool": "review_code",
"arguments": {
"code": "def login(username, password):\n query = f\"SELECT * FROM users WHERE username='{username}'\"",
"focus": ["security", "bugs"]
}
}
2.分析差异
{
"tool": "analyze_diff",
"arguments": {
"diff": "--- a/file.py\n+++ b/file.py\n..."
}
}
3.安全扫描
{
"tool": "security_scan",
"arguments": {
"code": "your_code_here",
"language": "python"
}
}
📊 评审输出
摘要评论示例
## 🤖 AI Code Review
**Score:** 7/10 ⚠️
### 📝 Summary
Good code structure but found some security concerns...
### 📊 Issues Found
- Total: **5**
- 🔴 Critical: **1**
- 🟠 High: **2**
- 🟡 Medium: **2**
### ⚠️ Important Issues
#### 🔴 SQL Injection Vulnerability
**Severity:** CRITICAL
**Location:** `auth.py` (Line 42)
Using string concatenation for SQL queries...
**Suggestion:**
> Use parameterized queries...
行内注释
直接在有问题的代码行上发布评论。
🔒 安全
- Webhook签名验证
- API令牌身份验证
- 基于环境的秘密
- 无敏感数据记录
🚀 部署
码头工人
docker build -t mcp-code-review .
docker run -p 8000:8000 --env-file .env mcp-code-review
生产
- 使用反向代理(nginx、traefik)
- 启用HTTPS
- 设置日志记录和监控
- 配置速率限制
🛠️ 发展
# Install dev dependencies
pip install -r requirements.txt
# Run tests
pytest
# Format code
black .
📝 API终点
GET /-健康检查POST /webhook-通用webhook端点GET /mcp/sse-MCP服务器发送事件端点
🤝 贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 提交拉取请求
📄 许可证
MIT许可证
🆘 支持
对于问题和疑问:
- 在GitHub上打开一个问题
- 检查文件
- 复习示例
由以下材料制成❤️ 为了更好的代码审查
