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

One-click Deploy
A
security – no known vulnerabilities
-
license - not tested
A
quality - confirmed to work

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