Custom GitLab MCP Server

Custom GitLab MCP Server

🚀 GitLab 代码合并请求审查机器人

这是一款集成了 Anthropic 的 Claude 模型的 AI 动态 GitLab 合并请求代码审查工具,能够自动化开展代码审查工作,并对检查清单的合规性进行评估,为代码质量保驾护航。

🚀 快速开始

GitLab 代码合并请求审查机器人能在合并请求打开或更新时,自动进行代码审查,分析代码样式、质量、安全等问题,依据团队标准开展检查清单评估,还能提供详细反馈与最终建议。

✨ 主要特性

  • 当打开或更新合并请求时,自动开展代码审查工作。
  • 深入分析代码中的样式、质量、安全问题以及最佳实践。
  • 依据团队标准,对 MR 进行自定义检查清单评估。
  • 为每个文件提供详细反馈。
  • 给出整体评估,并提供最终建议(批准、小修后批准、需要修改)。
  • 支持通过 GitLab webhook 自动触发或手动触发。
  • 可选择将结果发送到 Slack 进行通知。

📦 安装指南

先决条件

  • Node.js(v14 或更高版本)
  • npm 或 yarn
  • 带有 API 访问权限的 GitLab 账户
  • Anthropic Claude API 密钥

安装步骤

  1. 克隆仓库:
    git clone 
    cd gitlab-mr-reviewer
    
  2. 安装依赖项:
    npm install
    
  3. 复制示例环境文件并更新为您的配置:
    cp .env.example .env
    
    编辑 .env 文件,用您的 GitLab 和 Claude 凭据替换相关值。

📚 详细文档

配置

.env 文件中更新以下变量:

# GitLab 配置
GITLAB_API_URL=https://gitlab.example.com/api/v4
GITLAB_PRIVATE_TOKEN=your_private_token_here
GITLAB_WEBHOOK_SECRET=your_webhook_secret_here

# Anthropic Claude 配置
CLAUDE_API_KEY=your_claude_api_key_here
CLAUDE_MODEL=claude-3-opus-20240229

# 应用配置
PORT=3000
NODE_ENV=development

# 日志记录配置
LOG_LEVEL=info

# Slack 通知(可选)
SLACK_WEBHOOK_URL=your_slack_webhook_url_here

合并请求检查清单

该工具根据团队标准对每个合并请求进行以下检查:

  1. 变更描述清晰且完整。
  2. 链接了 Trello 卡片。
  3. version.json 中版本号已增加。
  4. Trello 卡片有详细说明。
  5. 如果需要,proto 文件是否更新。
  6. 错误处理(try - catch)是否正确实现,并在适当位置添加 Slack 通知。
  7. 函数长度不超过 50 行(或有解释说明)。
  8. 合并请求聚焦于单一目的(逻辑变更或重构)。
  9. 是否添加了单元测试。
  10. 文档是否已更新。

这些检查通过 src/services/claude.service.js 中的 MR_CHECKLIST 常量实现,可以根据需要进行自定义。

📄 许可证

本项目采用 MIT License 开源协议。

🤝 贡献指南

欢迎贡献!请随意提交 Pull Request。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-27 17:03

相似服务问题