Сервер GitLab MCP
Сервер MCP для API GitLab, обеспечивающий управление проектами, файловые операции и многое другое.
Функции
Автоматическое создание веток : при создании/обновлении файлов или отправке изменений автоматически создаются ветки, если они не существуют.
Комплексная обработка ошибок : понятные сообщения об ошибках для распространенных проблем
Сохранение истории Git : операции поддерживают правильную историю Git без принудительной отправки
Пакетные операции : поддержка как однофайловых, так и многофайловых операций.
Инструменты
create_or_update_fileСоздать или обновить отдельный файл в проекте
Входные данные:
project_id(строка): идентификатор проекта или путь в кодировке URLfile_path(string): Путь, по которому необходимо создать/обновить файл.content(строка): Содержимое файлаcommit_message(строка): сообщение о фиксацииbranch(строка): ветвь для создания/обновления файлаprevious_path(необязательная строка): Путь к файлу для перемещения/переименования
Возвращает: содержимое файла и сведения о фиксации
push_filesОтправка нескольких файлов в один коммит
Входные данные:
project_id(строка): идентификатор проекта или путь в кодировке URLbranch(строка): ветвь, в которую нужно отправитьfiles(массив): файлы для отправки, каждый сfile_pathиcontentcommit_message(строка): сообщение о фиксации
Возврат: обновленная ссылка на ветку
search_repositoriesПоиск проектов GitLab
Входные данные:
search(строка): Поисковый запросpage(необязательное число): Номер страницы для нумерации страницper_page(необязательное число): Результаты на страницу (по умолчанию 20)
Возвращает: Результаты поиска проектов
create_repositoryСоздайте новый проект GitLab
Входные данные:
name(строка): Название проектаdescription(необязательная строка): Описание проектаvisibility(необязательная строка): «частная», «внутренняя» или «публичная»initialize_with_readme(необязательное логическое значение): Инициализировать с помощью README
Возвращает: Созданные детали проекта
get_file_contentsПолучить содержимое файла или каталога
Входные данные:
project_id(строка): идентификатор проекта или путь в кодировке URLfile_path(строка): Путь к файлу/каталогуref(необязательная строка): Ветвь/тег/коммит для получения содержимого
Возвращает: содержимое файла/каталога
create_issueСоздать новый выпуск
Входные данные:
project_id(строка): идентификатор проекта или путь в кодировке URLtitle(строка): Название выпускаdescription(необязательная строка): Описание проблемыassignee_ids(необязательное число[]): идентификаторы пользователей для назначенияlabels(необязательно string[]): Метки для добавленияmilestone_id(необязательное число): идентификатор этапа
Возвраты: Созданные детали проблемы
create_merge_requestСоздать новый запрос на слияние
Входные данные:
project_id(строка): идентификатор проекта или путь в кодировке URLtitle(строка): заголовок MRdescription(необязательная строка): описание MRsource_branch(string): Ветка, содержащая измененияtarget_branch(string): Ветка для слиянияdraft(необязательно логическое значение): создать как черновик MRallow_collaboration(необязательное логическое значение): Разрешить коммиты от вышестоящих участников
Возвращает: Созданные детали запроса на слияние
fork_repositoryФорк проекта
Входные данные:
project_id(строка): идентификатор проекта или путь в кодировке URLnamespace(необязательная строка): пространство имен для разветвления
Возвращает: Подробности разветвленного проекта
create_branchСоздать новую ветку
Входные данные:
project_id(строка): идентификатор проекта или путь в кодировке URLbranch(строка): Имя новой ветвиref(необязательная строка): Исходная ветвь/коммит для новой ветви
Возвращает: Созданная ссылка на ветку
Related MCP server: GitHub MCP Server Plus
Настраивать
Персональный токен доступа
Создайте токен личного доступа GitLab с соответствующими разрешениями:
Перейдите в Настройки пользователя > Токены доступа в GitLab.
Выберите необходимые области:
apiдля полного доступа к APIread_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 в репозитории проекта.
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.