Skip to main content
Glama

GitLab MCP Server

Official

Сервер 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 в репозитории проекта.

Deploy Server
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 -
              22,573
              68,255
              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
              0
              4
              • Linux
              • Apple
            • A
              security
              A
              license
              A
              quality
              GitLab MCP Server (with activity tracking and group projects listing features) This server is based on the original GitLab MCP server with Group Projects Listing and Activity Tracking enhancements
              Last updated -
              28
              86
              27
              MIT License
            • -
              security
              A
              license
              -
              quality
              An MCP server that enables communication with GitLab repositories, allowing interaction with GitLab's API to manage projects, issues, and repositories through natural language.
              Last updated -
              7,512
              1
              MIT License

            View all related MCP servers

            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