Skip to main content
Glama

Сервер GitLab MCP

Сервер MCP для API GitLab, обеспечивающий управление проектами, файловые операции и многое другое.

Функции

  • Автоматическое создание веток : при создании/обновлении файлов или отправке изменений автоматически создаются ветки, если они не существуют.

  • Комплексная обработка ошибок : понятные сообщения об ошибках для распространенных проблем

  • Сохранение истории Git : операции поддерживают правильную историю Git без принудительной отправки

  • Пакетные операции : поддержка как однофайловых, так и многофайловых операций.

Инструменты

  1. create_or_update_file

    • Создать или обновить отдельный файл в проекте

    • Входные данные:

      • project_id (строка): идентификатор проекта или путь в кодировке URL

      • file_path (string): Путь, по которому необходимо создать/обновить файл.

      • content (строка): Содержимое файла

      • commit_message (строка): сообщение о фиксации

      • branch (строка): ветвь для создания/обновления файла

      • previous_path (необязательная строка): Путь к файлу для перемещения/переименования

    • Возвращает: содержимое файла и сведения о фиксации

  2. push_files

    • Отправка нескольких файлов в один коммит

    • Входные данные:

      • project_id (строка): идентификатор проекта или путь в кодировке URL

      • branch (строка): ветвь, в которую нужно отправить

      • files (массив): файлы для отправки, каждый с file_path и content

      • commit_message (строка): сообщение о фиксации

    • Возврат: обновленная ссылка на ветку

  3. search_repositories

    • Поиск проектов GitLab

    • Входные данные:

      • search (строка): Поисковый запрос

      • page (необязательное число): Номер страницы для нумерации страниц

      • per_page (необязательное число): Результаты на страницу (по умолчанию 20)

    • Возвращает: Результаты поиска проектов

  4. create_repository

    • Создайте новый проект GitLab

    • Входные данные:

      • name (строка): Название проекта

      • description (необязательная строка): Описание проекта

      • visibility (необязательная строка): «частная», «внутренняя» или «публичная»

      • initialize_with_readme (необязательное логическое значение): Инициализировать с помощью README

    • Возвращает: Созданные детали проекта

  5. get_file_contents

    • Получить содержимое файла или каталога

    • Входные данные:

      • project_id (строка): идентификатор проекта или путь в кодировке URL

      • file_path (строка): Путь к файлу/каталогу

      • ref (необязательная строка): Ветвь/тег/коммит для получения содержимого

    • Возвращает: содержимое файла/каталога

  6. create_issue

    • Создать новый выпуск

    • Входные данные:

      • project_id (строка): идентификатор проекта или путь в кодировке URL

      • title (строка): Название выпуска

      • description (необязательная строка): Описание проблемы

      • assignee_ids (необязательное число[]): идентификаторы пользователей для назначения

      • labels (необязательно string[]): Метки для добавления

      • milestone_id (необязательное число): идентификатор этапа

    • Возвраты: Созданные детали проблемы

  7. create_merge_request

    • Создать новый запрос на слияние

    • Входные данные:

      • project_id (строка): идентификатор проекта или путь в кодировке URL

      • title (строка): заголовок MR

      • description (необязательная строка): описание MR

      • source_branch (string): Ветка, содержащая изменения

      • target_branch (string): Ветка для слияния

      • draft (необязательно логическое значение): создать как черновик MR

      • allow_collaboration (необязательное логическое значение): Разрешить коммиты от вышестоящих участников

    • Возвращает: Созданные детали запроса на слияние

  8. fork_repository

    • Форк проекта

    • Входные данные:

      • project_id (строка): идентификатор проекта или путь в кодировке URL

      • namespace (необязательная строка): пространство имен для разветвления

    • Возвращает: Подробности разветвленного проекта

  9. create_branch

    • Создать новую ветку

    • Входные данные:

      • project_id (строка): идентификатор проекта или путь в кодировке URL

      • branch (строка): Имя новой ветви

      • ref (необязательная строка): Исходная ветвь/коммит для новой ветви

    • Возвращает: Созданная ссылка на ветку

Related MCP server: GitHub MCP Server Plus

Настраивать

Персональный токен доступа

Создайте токен личного доступа GitLab с соответствующими разрешениями:

  • Перейдите в Настройки пользователя > Токены доступа в GitLab.

  • Выберите необходимые области:

    • api для полного доступа к API

    • read_api для доступа только для чтения

    • read_repository и write_repository для операций с репозиторием

  • Создайте токен и сохраните его в надежном месте

Использование с Claude Desktop

Добавьте следующее в ваш claude_desktop_config.json :

Докер

{
  "mcpServers": { 
    "gitlab": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "GITLAB_PERSONAL_ACCESS_TOKEN",
        "-e",
        "GITLAB_API_URL",
        "mcp/gitlab"
      ],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>",
        "GITLAB_API_URL": "https://gitlab.com/api/v4" // Optional, for self-hosted instances
      }
    }
  }
}

НПХ

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-gitlab"
      ],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>",
        "GITLAB_API_URL": "https://gitlab.com/api/v4" // Optional, for self-hosted instances
      }
    }
  }
}

Использование с VS Code

Для быстрой установки воспользуйтесь одной из кнопок установки в один клик ниже...

Установить с помощью NPX в VS Code Установка с NPX в VS Code Insiders

Установка с помощью Docker в VS Code Установка с помощью Docker в VS Code Insiders

Для ручной установки добавьте следующий блок JSON в файл настроек пользователя (JSON) в VS Code. Это можно сделать, нажав Ctrl + Shift + P и введя Preferences: Open User Settings (JSON) .

При желании вы можете добавить его в файл .vscode/mcp.json в вашем рабочем пространстве. Это позволит вам поделиться конфигурацией с другими.

Обратите внимание, что ключ mcp не нужен в файле .vscode/mcp.json .

Докер

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "gitlab_token",
        "description": "GitLab Personal Access Token",
        "password": true
      },
      {
        "type": "promptString",
        "id": "gitlab_url",
        "description": "GitLab API URL (optional)",
        "default": "https://gitlab.com/api/v4"
      }
    ],
    "servers": {
      "gitlab": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "mcp/gitlab"
        ],
        "env": {
          "GITLAB_PERSONAL_ACCESS_TOKEN": "${input:gitlab_token}",
          "GITLAB_API_URL": "${input:gitlab_url}"
        }
      }
    }
  }
}

НПХ

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "gitlab_token",
        "description": "GitLab Personal Access Token",
        "password": true
      },
      {
        "type": "promptString",
        "id": "gitlab_url",
        "description": "GitLab API URL (optional)",
        "default": "https://gitlab.com/api/v4"
      }
    ],
    "servers": {
      "gitlab": {
        "command": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-gitlab"
        ],
        "env": {
          "GITLAB_PERSONAL_ACCESS_TOKEN": "${input:gitlab_token}",
          "GITLAB_API_URL": "${input:gitlab_url}"
        }
      }
    }
  }
}

Строить

Сборка Docker:

docker build -t vonwig/gitlab:mcp -f src/gitlab/Dockerfile .

Переменные среды

  • GITLAB_PERSONAL_ACCESS_TOKEN : Ваш персональный токен доступа GitLab (обязательно)

  • GITLAB_API_URL : базовый URL для API GitLab (необязательно, по умолчанию https://gitlab.com/api/v4 )

Лицензия

Этот сервер MCP лицензирован по лицензии MIT. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями лицензии MIT. Для получения более подробной информации см. файл LICENSE в репозитории проекта.

Install Server
A
security – no known vulnerabilities
-
license - not tested
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/modelcontextprotocol/gitlab'

If you have feedback or need assistance with the MCP directory API, please join our Discord server