khud-funmatica/gitlab-mcp-server
If you are the rightful owner of gitlab-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This template provides a foundational structure for creating an MCP (Model Context Protocol) server with a simple 'hello world' tool.
GitLab MCP Server
MCP сервер для работы с GitLab API - получение информации о пайплайнах, джобах, логах, артефактах и их скачивание для дальнейшего исследования.
Быстрое подключение
- Добавьте в MCP конфиг:
{
"mcpServers": {
"gitlab": {
"command": "npx",
"args": [
"-y",
"github:khud-funmatica/gitlab-mcp-server"
],
"env": {
"GITLAB_TOKEN": "your_gitlab_token_here"
}
}
}
}
- Готово! Перезапустите MCP клиент и пользуйтесь.
Доступные тулзы
get_repo_url
Получает URL текущего Git репозитория. Автоматически ищет Git репозиторий в текущей директории или в родительских директориях.
Параметры:
project_path(обязательно): Полный путь к директории проекта
Возвращает:
- URL репозитория (remote origin)
- Путь к найденному Git репозиторию
- Проверку, является ли репозиторий GitLab репозиторием
get_latest_pipeline
Получает информацию о последнем пайплайне GitLab для текущего репозитория.
Параметры:
project_path(обязательно): Полный путь к директории проекта
Возвращает:
- ID пайплайна
- Статус пайплайна
- Ветку и SHA коммита
- Ссылку на пайплайн в веб-интерфейсе
- Время создания и обновления
- Длительность выполнения (если доступна)
- Покрытие кода (если доступно)
- Информацию о проекте
get_pipeline_details
Получает подробную информацию о пайплайне GitLab включая джобы, логи, артефакты и trace. Помогает ИИ агенту диагностировать проблемы в пайплайнах.
Параметры:
project_path(обязательно): Полный путь к директории проектаpipeline_id(опционально): ID конкретного пайплайна. Если не указан, будет получен последний пайплайн
Возвращает:
- Подробную информацию о пайплайне (статус, ветка, SHA, время выполнения и т.д.)
- Список всех джобов пайплайна с их статусами
- Логи выполнения каждого джоба (trace)
- Информацию об артефактах пайплайна
- Ссылки на веб-интерфейс для каждого джоба
- Длительность выполнения каждого джоба
- Информацию о тегах и этапах джобов
Особенности:
- Автоматически получает логи (trace) для всех джобов
- Ограничивает длину логов до 2000 символов для читаемости
- Обрабатывает ошибки получения логов отдельных джобов
- Предоставляет полную диагностическую информацию для ИИ агента
download_job_artifacts
Скачивает артефакты конкретного джоба GitLab в виде ZIP архива для дальнейшего исследования.
Параметры:
project_path(обязательно): Полный путь к директории проектаjob_id(обязательно): ID джоба для скачивания артефактовdownload_path(опционально): Путь для сохранения артефактов. Если не указан, создается папкаartifacts/job_IDв директории проекта
Возвращает:
- Информацию о скачанном архиве (размер, путь)
- Статус скачивания
- Инструкции для исследования артефактов
Особенности:
- Автоматически создает директорию для сохранения
- Скачивает артефакты в виде ZIP архива
- Предоставляет подробную информацию о размере и местоположении файлов
download_pipeline_artifacts
Скачивает артефакты всех джобов пайплайна GitLab в виде отдельных ZIP архивов для дальнейшего исследования.
Параметры:
project_path(обязательно): Полный путь к директории проектаpipeline_id(опционально): ID пайплайна. Если не указан, используется последний пайплайнdownload_path(опционально): Путь для сохранения артефактов. Если не указан, создается папкаartifacts/pipeline_IDв директории проекта
Возвращает:
- Список всех скачанных архивов
- Детальную информацию о каждом джобе и его артефактах
- Статистику успешных и неудачных скачиваний
- Инструкции для исследования артефактов
Особенности:
- Скачивает артефакты всех джобов пайплайна, у которых есть артефакты
- Создает отдельный ZIP архив для каждого джоба
- Обрабатывает ошибки скачивания отдельных джобов
- Предоставляет подробную статистику по результатам скачивания
Требования
- Node.js >= 18.0.0
- MCP клиент
- GitLab токен (создайте в GitLab → "User Settings" → "Access Tokens" с правами
read_apiиread_repository)