GitLab MCP Server

Official

Integrations

  • Allows interaction with GitLab repositories including project management, file operations, branch creation, issue tracking, merge request management, repository forking, and project search capabilities through the GitLab API

Сервер 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 (необязательная строка): Исходная ветвь/коммит для новой ветви
    • Возвращает: Созданная ссылка на ветку

Настраивать

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

Создайте токен личного доступа 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

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

Для ручной установки добавьте следующий блок 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 в репозитории проекта.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

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

  1. Функции
    1. Инструменты
      1. Настраивать
        1. Персональный токен доступа
        2. Использование с Claude Desktop
        3. Использование с VS Code
      2. Строить
        1. Переменные среды
          1. Лицензия

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              MCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.
              Last updated -
              17
              22,912
              44,922
              JavaScript
              MIT License
            • A
              security
              F
              license
              A
              quality
              MCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.
              Last updated -
              18
              4
              3
              TypeScript
              • Linux
              • Apple
            • A
              security
              A
              license
              A
              quality
              MCP Tool Server for Gitee, supporting the management of repository files/branches, Issues, and Pull Requests.
              Last updated -
              20
              10
              4
              TypeScript
              MIT License
            • A
              security
              F
              license
              A
              quality
              MCP server for managing Git operations on local repositories, allowing users to list repositories, get and create tags, list commits, push tags, and refresh repositories through a standardized interface.
              Last updated -
              6
              Python

            View all related MCP servers

            ID: mim928vohs