mcp-gitlab-crunchtools
MCP GitLab CrunchTools
Безопасный MCP-сервер (Model Context Protocol) для проектов GitLab, merge request'ов, задач, пайплайнов и поиска. Работает с любым экземпляром GitLab (gitlab.com, self-hosted или enterprise).
Обзор
Этот MCP-сервер разработан с учётом следующих принципов:
Безопасен по умолчанию — комплексное моделирование угроз, проверка входных данных и защита токенов
Без сторонних сервисов — работает локально через stdio, ваш API-токен никогда не покидает вашу машину
Мультиинстансность — работает с gitlab.com, self-hosted GitLab или enterprise-экземплярами через настраиваемый URL
Кроссплатформенность — работает на Linux, macOS и Windows
Автоматическое обновление — GitHub Actions отслеживают CVE и обновляют зависимости
Контейнеризация — доступен на
quay.io/crunchtools/mcp-gitlab, построен на базовом образе Hummingbird Python
Related MCP server: gitlab-mcp-server
Соглашение об именах
Компонент | Имя |
Репозиторий GitHub | |
Контейнер |
|
Пакет Python (PyPI) |
|
Команда CLI |
|
Импорт модуля |
|
Почему Hummingbird?
Образ контейнера построен на базовом образе Hummingbird Python из проекта Hummingbird, который обеспечивает:
Минимальное количество CVE — собран с минимальным набором пакетов, что значительно снижает поверхность атаки
Регулярные обновления — исправления безопасности применяются своевременно
Оптимизация для Python — предварительно настроенное окружение Python с менеджером пакетов uv
Готовность к продакшену — корректная обработка сигналов и настройки по умолчанию для непривилегированного пользователя
Возможности
Управление проектами (5 инструментов)
list_projects— список проектов с фильтрацией и поискомget_project— получение деталей проекта по ID или путиlist_project_branches— список веток репозиторияget_project_branch— получение одной веткиlist_project_commits— список коммитов с фильтрацией по дате/пути
Управление группами (3 инструмента)
list_groups— список групп с фильтрациейget_group— получение деталей группы по ID или путиlist_group_projects— список проектов в группе (с поддержкой подгрупп)
Merge Request'ы (7 инструментов)
list_merge_requests— список MR по статусу, меткам, вехеget_merge_request— получение деталей MRcreate_merge_request— создание нового MRupdate_merge_request— обновление заголовка, описания, статуса, назначенныхlist_mr_notes— список комментариев к MRcreate_mr_note— добавление комментария к MRget_mr_changes— получение diff для MR
Задачи (6 инструментов)
list_issues— список задач по статусу, меткам, вехе, назначенномуget_issue— получение деталей задачиcreate_issue— создание новой задачиupdate_issue— обновление заголовка, описания, статуса, метокlist_issue_notes— список комментариев к задачеcreate_issue_note— добавление комментария к задаче
Пайплайны (4 инструмента)
list_pipelines— список CI/CD пайплайнов с фильтрацией по статусуget_pipeline— получение деталей пайплайнаlist_pipeline_jobs— список заданий в пайплайнеget_job_log— получение лога задания
Поиск (2 инструмента)
search_global— поиск по всем доступным ресурсам GitLabsearch_project— поиск в конкретном проекте
Установка
С помощью uvx (рекомендуется)
uvx mcp-gitlab-crunchtoolsС помощью pip
pip install mcp-gitlab-crunchtoolsС помощью контейнера
podman run -e GITLAB_TOKEN=your_token \
quay.io/crunchtools/mcp-gitlabКонфигурация
Переменные окружения
Переменная | Обязательная | По умолчанию | Описание |
| Да | — | Персональный токен доступа |
| Нет |
| URL экземпляра GitLab |
Создание персонального токена доступа GitLab
Перейдите к токенам доступа
Перейдите на https://gitlab.com/-/user_settings/personal_access_tokens
Или: Аватар > Настройки > Токены доступа
Создайте пользовательский токен
Имя:
mcp-gitlab-crunchtoolsСрок действия: установите подходящую дату (рекомендуется 90 дней)
Области: выберите области в зависимости от ваших потребностей
Выбор области
Область
Уровень доступа
Возможности
read_apiТолько чтение
Просмотр проектов, задач, MR, пайплайнов
apiПолный доступ
Все функции, включая создание и обновление
Скопируйте и сохраните токен
Скопируйте токен сразу (начинается с
glpat-)Надёжно храните его в менеджере паролей
Добавление в Claude Code
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
-- uvx mcp-gitlab-crunchtoolsДля self-hosted GitLab:
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
--env GITLAB_URL=https://gitlab.example.com \
-- uvx mcp-gitlab-crunchtoolsДля версии в контейнере:
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
-- podman run -i --rm -e GITLAB_TOKEN quay.io/crunchtools/mcp-gitlabПримеры использования
Список ваших проектов
User: List my GitLab projects
Assistant: [calls list_projects with membership=true]Просмотр merge request'ов
User: Show open merge requests for my-org/backend
Assistant: [calls list_merge_requests with project_id="my-org/backend"]Создание задачи
User: Create an issue in my-org/backend titled "Fix login timeout"
Assistant: [calls create_issue with title="Fix login timeout"]Проверка статуса пайплайна
User: Show failed pipelines for my-org/api
Assistant: [calls list_pipelines with status="failed"]Поиск кода
User: Search for "authentication" in my-org/backend
Assistant: [calls search_project with scope="blobs"]Безопасность
Этот сервер разработан с учётом безопасности как основного приоритета. См. SECURITY.md для:
Модели угроз и векторов атак
Архитектуры защиты в глубину
Рекомендаций по обращению с токенами
Правил проверки входных данных
Аудита журналов
Ключевые функции безопасности
Защита токенов
Хранится как SecretStr (никогда не попадает в логи случайно)
Только через переменные окружения (никогда в файлах или аргументах)
Очищается из всех сообщений об ошибках
Проверка входных данных
Pydantic-модели для всех входных данных
Проверка символов по белому списку для ID проектов/групп
Предотвращение обхода путей
Усиление API
Принудительное использование HTTPS (кроме localhost)
Проверка TLS-сертификатов
Таймауты запросов (30 секунд)
Ограничение размера ответа (10 МБ)
Автоматическое сканирование CVE
GitHub Actions еженедельно сканируют зависимости
Сканирование безопасности контейнера с помощью Trivy
Анализ CodeQL для Python
Разработка
Настройка
git clone https://github.com/crunchtools/mcp-gitlab.git
cd mcp-gitlab
uv syncЗапуск тестов
uv run pytestЛинтинг и проверка типов
uv run ruff check src tests
uv run mypy srcСборка контейнера
podman build -t mcp-gitlab .Лицензия
AGPL-3.0-or-later
Вклад
Приветствуется! Пожалуйста, прочитайте SECURITY.md перед отправкой изменений, связанных с безопасностью.
Ссылки
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceMCP server for interacting with GitLab API, supporting both self-hosted instances and gitlab.com. Provides tools for managing issues, merge requests, code review, pipelines, milestones, releases, search, and file access.514MIT
- AlicenseAqualityCmaintenanceEnables interacting with GitLab repositories, merge requests, and code through natural language using MCP. Supports authentication with personal access tokens or OAuth2, and provides tools for listing projects, reading repository code, and analyzing merge request lifetimes.104MIT
- Flicense-qualityCmaintenanceExposes the GitLab REST API to MCP clients for managing projects, issues, merge requests, repositories, and CI/CD pipelines. It is multi-tenant, allowing each user to authenticate with their own token and instance URL.
- FlicenseAqualityDmaintenanceEnables LLMs to interact with GitLab via MCP, providing access to issues, merge requests, pipelines, and repository files for browsing, searching, and reading details.19
Related MCP Connectors
GitLab Public MCP — wraps the GitLab REST API v4 (public endpoints, no auth)
Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/crunchtools/mcp-gitlab'
If you have feedback or need assistance with the MCP directory API, please join our Discord server