G

GitLab MCP 服务

@owayo/gitlab-mcp-server
0 Stars 489 次浏览 owayo 更新于 2026-08-23

这是一个日语句子,翻译成中文如下: 这是一个提供与GitLab协作功能的Model Context Protocol (MCP) 服务器。它从GitLab的特定项目中获取流水线失败信息和合并请求中的问题点,并提供给AI助手。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

GitLab-MCP-Server

这是一个提供与GitLab集成功能的Model Context Protocol (MCP) 服务器。它从GitLab特定项目中获取管道失败信息和合并请求中的评论,并将这些信息提供给AI助手。

概述

此MCP服务器利用GitLab API向AI助手提供以下信息:

  1. GitLab管道中失败作业的控制台输出
  2. GitLab MR上的未解决评论(意见)
  3. GitLab MR的变化内容(与本地仓库当前状态之间的差异)

通过使用MCP的功能,AI助手可以直接获取GitLab的信息,从而提供更加准确的支持。

安装

# uvのインストール
$ curl -LsSf https://astral.sh/uv/install.sh | sh

$ cd /path/to/this-mcp-server
# ライブラリのインストール
$ uv sync

准备工作

需要GitLab的访问令牌。
请在GitLab设置 -> 访问令牌处生成访问令牌。
生成时,请确保勾选了read_api权限。

功能

1. 获取并修复管道失败信息 (get_pipeline_failed_jobs)

获取GitLab管道中失败作业的控制台输出。
基于获取到的信息,由AI助手执行修复操作。

输出:

  • 失败作业的控制台输出(包括作业名、状态、详细日志等)

2. 获取并处理MR评论 (get_review_comments)

获取并处理GitLab MR上的未解决评论(意见)。
已解决的评论或不关联任何文件的评论将被排除在外。

输出:

  • MR上未解决且与文件相关联的意见(包含评论者、时间、评论内容、文件位置等信息)

3. 获取并审查MR变更 (get_review_changes)

获取从GitLab MR的基础提交(base_sha)到当前本地仓库状态之间的差异。
这允许获取与远程差异不同,而是与本地最新状态(包括工作中未提交的更改)之间的差异。
基于获取到的差异进行审查。

输出:

  • 从MR基础提交到当前本地状态的所有变更(包括每个文件的变更类型及具体差异)

与AI助手的合作

AI助手(如Claude等)可以调用此MCP服务器提供的如下函数:

  • get_pipeline_failed_jobs(): 获取管道失败信息
  • get_review_comments(): 获取MR评论
  • get_review_changes(): 获取MR变更

这些函数会自动获取与当前分支相关的MR信息。

在桌面版Claude中的配置

请在claude_desktop_config.json文件中添加如下配置:

{
    "mcpServers": {
        "gitlab-mcp": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/this-mcp-server",
                "run",
                "main.py"
            ],
            "env": {
                "GITLAB_URL": "your_gitlab_url",
                "GITLAB_PROJECT_NAME": "gitlab_project_name",
                "GITLAB_API_KEY": "your_gitlab_api_key",
                "GIT_REPO_PATH": "/path/to/git/repo"
            }
        }
    }
}

在Cursor中的配置

请在项目根目录下的.cursor/mcp.json文件中添加如下配置:

{
    "mcpServers": {
        "gitlab-mcp": {
            "command": "env",
            "args": [
                "GITLAB_URL=your_gitlab_url",
                "GITLAB_PROJECT_NAME=gitlab_project_name",
                "GITLAB_API_KEY=your_gitlab_api_key",
                "GIT_REPO_PATH=/path/to/git/repo",
                "uv",
                "--directory",
                "/path/to/this-mcp-server",
                "run",
                "main.py"
            ]
        }
    }
}

注意:在上述配置示例中,请适当替换以下值:

  • your_gitlab_api_key: GitLab API的访问令牌
  • /path/to/git/repo: 本地Git仓库的绝对路径
  • /path/to/this-mcp-server: 此MCP服务器目录的绝对路径

相关 MCP 服务