返回 MCP 目录
public公开dns本地运行

gitlab-mcp-server-6tb

一个与GitLab集成的MCP服务器,提供获取失败管道日志、合并请求评论和代码变更的功能,以增强AI助手的开发支持能力。

article

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 for Desktop中的设置

请在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"
            }
        }
    }
}

⚠️ 重要提示

请将上述设置示例中的以下值进行适当替换:

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

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端