GitLab集成服务器

提供与GitLab集成的Model Context Protocol (MCP)服务器,用于获取管道失败信息、合并请求的评论和变更内容,并支持AI助手进行修复和审查。

  • by owayo
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 owayo/gitlab-mcp-server

使用说明

GitLab MCP服务器

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求值时使用曲面法线的原始方向。 可以获取与本地最新状态(包括工作期间未提交的更改)之间的差异,而不是远程差异。 对获取的差异进行审核。

出力:

  • 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"
            }
        }
    }
}

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服务器目录的绝对路径