GitLab合并请求审查工具

一个基于MCP协议的服务器,支持AI助手如Claude智能审查GitLab合并请求,提供代码分析和自动评论功能。

  • by Trojan0523
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Trojan0523/gitlab-code-review-mcp

使用说明

GitLab游标评测

强大的MCP(模型上下文协议)服务器,使Claude等AI助手能够通过智能代码分析和自动评论功能审查GitLab Merge Requests。

特性

  • 获取MR详细信息:自动检索合并请求信息、描述和差异
  • 本地结账:可选择在本地查看MR分支以进行深度代码分析
  • 发表评论:向MR讨论时间表提交审查意见
  • 行内注释:在特定行添加有针对性的代码审查注释
  • 自助托管支持:适用于GitLab.com和自托管GitLab实例
  • 智能过滤:自动过滤掉噪声文件(锁定文件、贴图等)

快速开始

安装

npm install -g gitlab-cursor-review

配置

  1. 从以下地址获取您的GitLab个人访问令牌:

    • GitLab.com:https://gitlab.com/-/profile/personal_access_tokens
    • 自托管: https://your-gitlab.com/-/profile/personal_access_tokens
  2. 配置您的MCP客户端(Claude Code、Claude Desktop等):

{
  "mcpServers": {
    "gitlab-review": {
      "command": "node",
      "args": ["/usr/local/bin/gitlab-cursor-review"],
      "env": {
        "GITLAB_TOKEN": "glpat-YOUR_TOKEN_HERE",
        "GITLAB_HOST": "https://gitlab.com"
      }
    }
  }
}
  1. 重新启动MCP客户端并开始查看!

文档

可用工具

1.审查_目标_请求

获取MR详细信息和差异,可选择在本地结账。

{
  "url": "https://gitlab.com/group/project/-/merge_requests/123",
  "shouldCheckout": true,
  "localRepoPath": "/path/to/repo"
}

2.post_mr_comment

对MR讨论发表一般性评论。

{
  "url": "https://gitlab.com/group/project/-/merge_requests/123",
  "commentBody": "## Review Summary\n\nLooks good to merge!"
}

3.在线留言

在特定代码行上发表评论。

{
  "url": "https://gitlab.com/group/project/-/merge_requests/123",
  "filePath": "src/utils.ts",
  "lineNumber": 42,
  "commentBody": "Consider using async/await here."
}

示例工作流程

User: Review this MR: https://gitlab.com/group/project/-/merge_requests/123

AI: [Uses review_merge_request tool]
    I've analyzed the MR. Here are my findings:

    1. Great test coverage
    2. Found a potential bug in src/api.ts:25

    Should I post these comments to GitLab?

User: Yes, post inline comments.

AI: [Uses post_inline_comment tool]
    Done! Comments posted successfully.

发展

安装依赖项

npm install

构建项目

npm run build

运行测试

npm run test

开发模式(带手表)

npm run dev

需求

  • Node.js v18或更高版本
  • GitLab个人访问令牌 api 和 read_repository 范围
  • MCP兼容客户端(克劳德代码、克劳德桌面等)

安全

  • 永远不要将GitLab令牌提交给版本控制
  • 使用环境变量或安全配置文件
  • 为令牌授予最低限度的必要权限
  • 定期旋转令牌

故障排除

请参阅 集成指南 常见问题和解决方案。

贡献

欢迎投稿!请随时提交拉取请求。

许可证

麻省理工学院-参见 许可证 文件以获取详细信息。

资源

支持

如果您遇到任何问题或有疑问:

  • 在GitHub上打开一个问题
  • 检查现有问题的解决方案
  • 查阅文档指南