GitLab-MCP-Server

GitLab-MCP-Server

site icon
2025.04.13 0
PythonGitLab 集成代码审查问题修复交流协作开发效率
GitLab-MCP-Server 是一个与 GitLab 集成的 Model Context Protocol (MCP) 服务器,旨在为 AI 助手提供 GitLab 项目中的关键信息,如失败的管道作业、未解决的合并请求评论以及变更差异。通过这些信息,AI 助手能够更有效地协助开发者进行代码修复和审查。
View on GitHub

Overview

基本能力

产品定位

GitLab-MCP-Server 是一个专门为 GitLab 项目设计的 MCP 服务器,通过集成 GitLab API,为 AI 助手提供项目开发中的关键信息,以支持代码审查和问题修复。

核心功能

  1. 获取管道失败信息 (get_pipeline_failed_jobs)
  2. 从 GitLab 管道中提取失败作业的详细控制台输出,包括作业名称、状态和详细日志。
  3. 获取合并请求评论 (get_review_comments)
  4. 提取未解决且与文件相关的合并请求评论,排除已解决或无关的评论。
  5. 获取变更差异 (get_review_changes)
  6. 比较合并请求的基础提交与本地仓库当前状态(包括未提交的更改),生成详细的变更差异。

适用场景

  • 代码审查:AI 助手利用 MCP 服务器获取的评论和变更差异,提供更精准的代码审查建议。
  • 问题修复:通过分析管道失败日志,AI 助手能够快速定位问题并提供修复建议。
  • 开发协作:团队成员可以通过 AI 助手快速了解合并请求中的未解决问题,提高协作效率。

工具列表

  • uv:用于安装和运行 MCP 服务器的工具。
  • 能力:管理项目依赖和运行脚本。

常见问题解答

  • 如何获取 GitLab API 访问令牌?
  • 在 GitLab 设置中生成访问令牌,并确保勾选 read_api 权限。
  • 如何配置 AI 助手以使用 MCP 服务器?
  • 根据提供的示例配置文件(如 claude_desktop_config.json.cursor/mcp.json)进行设置。

使用教程

使用依赖

  1. 安装 uv 工具: bash curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 进入 MCP 服务器目录并安装依赖: bash cd /path/to/this-mcp-server uv sync

安装教程

  1. 确保已安装 uv 并完成依赖安装。
  2. 配置环境变量:
  3. GITLAB_URL:GitLab 实例的 URL。
  4. GITLAB_PROJECT_NAME:GitLab 项目名称。
  5. GITLAB_API_KEY:GitLab API 访问令牌。
  6. GIT_REPO_PATH:本地 Git 仓库的绝对路径。

调试方式

  1. 运行 MCP 服务器: bash uv --directory /path/to/this-mcp-server run main.py
  2. 检查日志输出以确保服务器正常运行。
  3. 通过 AI 助手调用 MCP 功能(如 get_pipeline_failed_jobs)验证数据获取是否成功。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。