使用说明

项目简介

GitLab MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器应用,旨在作为 LLM 客户端和 GitLab 之间桥梁。它允许用户通过支持 MCP 协议的 AI 助手,以标准化的方式与 GitLab 仓库进行交互,实现代码查看、代码审查、CI/CD 管理、用户和组管理等多种操作。

主要功能点

  • 核心代码库功能:

    • 列出和查看项目详情
    • 管理分支和代码仓库
    • 处理合并请求和代码差异
    • 在合并请求中添加评论和内部备注
    • 更新合并请求属性
    • 列出和管理问题 (Issues)
    • 获取和比较仓库文件内容
  • 项目设置与集成:

    • 管理项目集成和服务
    • 配置和控制 Slack 集成
    • 设置、更新和测试 Webhooks
  • CI/CD 管理:

    • 管理 Pipeline 触发器令牌
    • 管理 CI/CD 变量
    • 触发和控制 Pipelines
  • 用户与组管理:

    • 列出和管理用户
    • 管理用户组和组成员关系
    • 管理项目成员和访问级别

安装步骤

  1. 克隆仓库:

    git clone https://github.com/rifqi96/mcp-gitlab.git
    cd mcp-gitlab
  2. 安装依赖:

    npm install
  3. 构建服务器:

    npm run build

服务器配置

要将 GitLab MCP Server 连接到 MCP 客户端(如 Cursor 或 Claude),您需要在客户端的 MCP 设置文件中添加服务器配置。以下是配置示例,您需要根据您的实际情况进行修改。

针对 Cursor/Roo Cline 的配置 ( '~/Library/Application Support/Cursor/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json' )

{
  "mcpServers": {
    "gitlab": {  // "gitlab" 是您为该服务器定义的名称,可以自定义
      "command": "node", // 运行服务器的命令,这里是 Node.js
      "args": [
        "/path/to/mcp-gitlab/build/index.js" // 服务器入口文件路径,请替换为实际路径
      ],
      "env": {
        "GITLAB_API_TOKEN": "YOUR_GITLAB_API_TOKEN", // 您的 GitLab API 令牌,用于身份验证,请替换为实际令牌
        "GITLAB_API_URL": "https://gitlab.com/api/v4" // GitLab API 的 URL,默认为 gitlab.com,如有私有部署请修改
      }
    }
  }
}

针对 Claude Desktop 的配置 ( '~/Library/Application Support/Claude/claude_desktop_config.json' )

{
  "mcpServers": {
    "gitlab": {  // "gitlab" 是您为该服务器定义的名称,可以自定义
      "command": "node", // 运行服务器的命令,这里是 Node.js
      "args": [
        "/path/to/mcp-gitlab/build/index.js" // 服务器入口文件路径,请替换为实际路径
      ],
      "env": {
        "GITLAB_API_TOKEN": "YOUR_GITLAB_API_TOKEN", // 您的 GitLab API 令牌,用于身份验证,请替换为实际令牌
        "GITLAB_API_URL": "https://gitlab.com/api/v4" // GitLab API 的 URL,默认为 gitlab.com,如有私有部署请修改
      }
    }
  }
}

配置说明:

  • '"gitlab"': 服务器名称,在客户端中用于标识和调用。您可以自定义此名称。
  • '"command": "node"': 指定运行服务器的命令为 'node',确保您的环境中已安装 Node.js。
  • '"args": [...]"': 命令参数,这里指定了服务器入口文件 'index.js' 的路径。请将 '"/path/to/mcp-gitlab/build/index.js"' 替换为您本地仓库构建后 'index.js' 文件的实际绝对路径。
  • '"env": { ... }"': 环境变量配置。
    • '"GITLAB_API_TOKEN": "YOUR_GITLAB_API_TOKEN"': 必须配置。替换 '"YOUR_GITLAB_API_TOKEN"' 为您在 GitLab 账户中生成的个人 API 令牌。API 令牌需要在 GitLab 设置 -> Access Tokens 中创建,并赋予 'api' 权限。
    • '"GITLAB_API_URL": "https://gitlab.com/api/v4"': 可选配置。默认指向 'gitlab.com' 的官方 API。如果您使用的是私有 GitLab 部署,请修改为您的 GitLab 实例 API 地址 (通常为 'https://your-gitlab-domain/api/v4')。

请务必将 '/path/to/mcp-gitlab/build/index.js' 和 'YOUR_GITLAB_API_TOKEN' 替换为您的实际值。

基本使用方法

配置完成后,您的 AI 助手应该能够通过 GitLab MCP Server 与您的 GitLab 账户进行交互。您可以使用自然语言指令,让 AI 助手执行以下操作(示例):

  • 列出您的项目:

    请列出我的 GitLab 项目。
  • 获取合并请求详情:

    请显示项目 'mygroup/myproject' 中 ID 为 123 的合并请求的详细信息。
  • 添加合并请求评论:

    请在项目 'mygroup/myproject' 中给合并请求 123 添加评论,内容是 “代码看起来不错,但请增加更多测试用例。”
  • 比较分支差异:

    比较项目 'mygroup/myproject' 中 'feature-branch' 分支和 'main' 分支的不同之处。

更多可用工具及其使用方法,请参考仓库中的 'TOOLS.md' 文件。您可以通过查阅该文件了解每个工具的具体参数和功能,从而更有效地利用 GitLab MCP Server。

信息

分类

开发者工具