AI代码审查服务器

MCP Code Review Server是一个平台无关的AI驱动的代码审查服务器,支持webhook和MCP集成,提供多种AI模型选择,适用于各种代码托管平台的自动化代码审查。

  • by mennansevim
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 mennansevim/mcp-server

使用说明

🤖 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服务器发送事件端点

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 提交拉取请求

📄 许可证

MIT许可证

🆘 支持

对于问题和疑问:

  • 在GitHub上打开一个问题
  • 检查文件
  • 复习示例

由以下材料制成❤️ 为了更好的代码审查