使用说明

项目简介

GitLab MCP Server 是一款基于 Model Context Protocol (MCP) 构建的服务器应用,旨在为大型语言模型 (LLM) 客户端提供访问和操作 GitLab 平台的能力。它扩展了原有的 GitLab MCP Server,增加了群组项目列表和更全面的项目活动跟踪功能,使得 LLM 应用可以更有效地与 GitLab 进行集成,实现自动化 DevOps 流程、项目管理和信息检索等任务。

主要功能点

  • 文件操作: 创建、更新 GitLab 仓库中的文件。
  • 仓库搜索: 根据关键词搜索 GitLab 项目。
  • 仓库创建: 创建新的 GitLab 仓库。
  • 文件内容获取: 获取 GitLab 仓库中文件或目录的内容。
  • 批量推送文件: 一次性将多个文件推送到 GitLab 仓库。
  • 议题管理: 创建 GitLab 项目中的 Issue (议题)。
  • 合并请求管理: 创建 GitLab 项目中的 Merge Request (合并请求)。
  • 仓库 Fork: 将 GitLab 仓库 Fork 到用户账户或指定的命名空间。
  • 分支管理: 在 GitLab 仓库中创建新的分支。
  • 群组项目列表: 列出指定 GitLab 群组下的所有项目,并支持多种过滤条件。
  • 项目事件跟踪: 获取 GitLab 项目的活动事件,例如 Issue 创建、Merge Request 更新等。
  • 提交历史: 获取 GitLab 项目的提交历史,并支持按时间、路径等过滤。
  • 议题列表: 获取 GitLab 项目的 Issue 列表,支持多种状态、标签、创建时间等过滤条件。
  • 合并请求列表: 获取 GitLab 项目的 Merge Request 列表,支持多种状态、目标分支、创建时间等过滤条件。

安装步骤

方式一:使用 npm 安装 (推荐)

npm install -g @yoda.digital/gitlab-mcp-server

或使用 'npx' 直接运行:

npx -y @yoda.digital/gitlab-mcp-server

方式二:从源代码构建

  1. 克隆仓库:
git clone https://github.com/yoda-digital/mcp-gitlab-server.git
cd mcp-gitlab-server
  1. 安装依赖:
npm install
  1. 构建服务器:
npm run build

服务器配置

MCP 客户端需要配置 GitLab MCP Server 的启动命令和必要的环境变量才能连接和使用。以下是 MCP 客户端的服务器配置示例 (JSON 格式):

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": ["-y", "@yoda.digital/gitlab-mcp-server"],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "<your_gitlab_personal_access_token>",
        "GITLAB_API_URL": "https://<your_gitlab_instance>/api/v4"
      }
    }
  }
}

配置参数说明:

  • 'server name': 'gitlab' (服务器名称,客户端据此名称调用)
  • 'command': 'npx' (启动命令,如果全局安装,也可以直接使用 '@yoda.digital/gitlab-mcp-server')
  • 'args': '["-y", "@yoda.digital/gitlab-mcp-server"]' (命令参数,保持默认即可)
  • 'env': 环境变量配置
    • 'GITLAB_PERSONAL_ACCESS_TOKEN': 必填。您的 GitLab 个人访问令牌,需要API访问权限。请替换 '<your_gitlab_personal_access_token>' 为您的实际令牌。
    • 'GITLAB_API_URL': 可选。您的 GitLab 实例 API URL。默认为 'https://gitlab.com/api/v4'。如果您使用自托管的 GitLab,请修改为您的 GitLab 实例 API 地址,例如 'https://<your_gitlab_instance>/api/v4',并替换 '<your_gitlab_instance>' 为您的实际域名或 IP 地址。

令牌权限:

为了确保服务器功能的正常使用,您的 GitLab 个人访问令牌需要以下权限 (scopes):

  • 'api': 完整的 API 访问权限。
  • 'read_repository': 仓库的读取操作权限。
  • 'write_repository': 仓库的写入操作权限 (如果需要使用写入功能,例如创建/更新文件、创建仓库等)。

基本使用方法

  1. 启动服务器

    • 使用 npm 包: 在终端中设置环境变量并运行服务器:

      GITLAB_PERSONAL_ACCESS_TOKEN="your-token" GITLAB_API_URL="https://your-gitlab/api/v4" npx -y @yoda.digital/gitlab-mcp-server

      请替换 'your-token' 为您的 GitLab 个人访问令牌,并根据需要修改 'GITLAB_API_URL'。

    • 使用本地构建: 在项目根目录下运行:

      npm start
  2. 集成到 MCP 客户端

    将上面提供的服务器配置 JSON 添加到您的 MCP 客户端应用的配置文件中。客户端即可通过 MCP 协议与 GitLab MCP Server 进行通信,并调用其提供的工具来操作 GitLab 资源。

  3. 测试服务器 (可选)

    可以使用仓库自带的 MCP Inspector 进行简单的功能测试:

    npm run inspector

    更详细的使用方法请参考 MCP 客户端的文档,根据客户端的指引调用 GitLab MCP Server 提供的工具,例如使用 'create_issue' 工具创建 GitLab 议题,或使用 'list_group_projects' 工具列出群组项目等。工具的具体参数和使用方式请参考 'README.md' 文档中 "Tools" 章节的详细描述。

信息

分类

开发者工具