GitLab MCP Server
jmrplensMIT
8 звёзд1 форков
GitLab MCP Server — это мост между AI-ассистентом и вашим GitLab. Пишите текстовые команды, а сервер сам выполняет их через API GitLab: от просмотра кода до запуска пайплайнов. Это избавляет от рутинных переключений между вкладками браузера и терминалом.
Сервер написан на Go и упакован в один исполняемый файл без внешних зависимостей. Он подходит для публичных GitLab.com и частных self-hosted инстансов. Встроенные механизмы безопасности — режим сухого прогона (dry-run) и режим «только чтение» (read-only) — защищают данные от случайных изменений.
Характеристики
Общее
- СтатусСообщество
- Разработчикjmrplens
- ЛицензияMIT
Технологии
- ЯзыкиGo
- Транспортstreamable-httpstdio
Описание
Возможности
- Управляйте задачами (issues): создавайте, редактируйте, закрывайте, назначайте исполнителей и добавляйте метки.
- Работайте с merge request: создавайте, просматривайте изменения, оставляйте ревью и выполняйте слияние.
- Запускайте и отслеживайте пайплайны CI/CD, просматривайте логи и статусы джоб.
- Просматривайте репозитории: читайте файлы, историю коммитов, управляйте ветками и тегами.
- Администрируйте GitLab: управляйте пользователями, группами и глобальными настройками.
- Управляйте переменными CI/CD, окружениями и ключами развертывания.
- Работайте с вложениями, комментариями и обсуждениями в задачах и merge request.
- Используйте безопасный режим (safe mode) для имитации команд без их фактического выполнения.
- Настраивайте поверхность инструментов через переменные TOOL_SURFACE и CAPABILITY_SURFACE для совместимости с разными MCP-клиентами.
- Создавайте и удаляйте проекты, управляйте их настройками и участниками.
Как подключить
1. Установите сервер. Самый простой способ — скачать готовый бинарник из раздела GitHub Releases. Если у вас окружение Go, можете скомпилировать сами:
go install github.com/jmrplens/gitlab-mcp-server@latest
2. Настройте переменные окружения. Обязательно укажите персональный токен доступа GitLab и, при необходимости, адрес вашего сервера.
3. Пропишите конфигурацию в клиенте. Пример для Claude Desktop (файл claude_desktop_config.json):
{
"mcpServers": {
"gitlab": {
"command": "gitlab-mcp-server",
"args": [],
"env": {
"GITLAB_PERSONAL_TOKEN": "glpat-...",
"GITLAB_URL": "https://gitlab.example.com"
}
}
}
}
4. Перезапустите клиент. Если всё настроено верно, AI-ассистент сможет обращаться к вашему GitLab.
Примеры запросов
- «Покажи список незакрытых задач в проекте frontend/app, отсортированных по приоритету».
- «Создай merge request из ветки feature/new-api в main, укажи меня ревьюером».
- «Запусти пайплайн в проекте backend/deploy для ветки staging и сообщи мне результат».
- «Найди коммиты пользователя Ivanov за последнюю неделю в репозитории docs и выведи их в виде таблицы».
Технические детали
- Язык разработки: Go
- Транспорт: streamable-http, stdio
- Лицензия: MIT
- Платформы: Windows, Linux, macOS (amd64, arm64)
- Совместимые клиенты: Claude Desktop, Cursor, VS Code (через MCP-расширение), Zed и другие