GitLab MCP Server
Provides tools for interacting with GitLab repositories, including managing merge requests, viewing code reviews and discussions, monitoring CI/CD pipelines and test results, viewing job logs, and responding to review comments.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitLab MCP Server show me the open merge requests"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GitLab MCP Server
Подключите ваш AI-ассистент к GitLab. Задавайте вопросы прямо в чате: "Покажи открытые merge request'ы", "Покажи ревью для MR #123", "Найди merge request'ы для ветки feature/auth".
🚀 Быстрая установка
Требования
Проект использует uv для управления Python-пакетами.
Установка uv:
# macOS и Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Или через pip
pip install uvУстановка
Установите сервер:
git clone https://github.com/FitoDomik/gitlab-mcp-server.git cd gitlab-mcp-server uv venv source .venv/bin/activate # На Windows: .venv\Scripts\activate uv pip install -e . chmod +x run-mcp.shПолучите токен GitLab:
Перейдите в GitLab → Settings → Access Tokens
Создайте токен с правами
read_apiСкопируйте токен
Настройте проект:
Создайте файл
gitlab-mcp.envв директории вашего проекта:GITLAB_PROJECT_ID=12345 GITLAB_ACCESS_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx GITLAB_URL=https://gitlab.comПодключите к Cursor:
Создайте
.cursor/mcp.jsonв вашем проекте:{ "mcpServers": { "gitlab-mcp": { "command": "/путь/к/gitlab-mcp-server/run-mcp.sh", "cwd": "/путь/к/вашему-проекту" } } }Перезапустите Cursor и начните задавать вопросы о GitLab!
Related MCP server: GitLab MCP Server
💬 Что можно делать
После подключения попробуйте эти команды в чате:
"Покажи открытые merge request'ы"
"Покажи детали merge request #456"
"Покажи ревью и обсуждения для MR #123"
"Покажи сводку тестов для MR #456"
"Какие тесты упали в merge request #789?"
"Покажи pipeline для MR #456"
"Покажи логи упавшего job для merge request #789"
"Покажи обсуждения коммитов для MR #456"
"Найди merge request'ы для ветки feature/auth-improvements"
"Ответь на обсуждение abc123 в MR #456: 'Спасибо за фидбек!'"
📋 Основные возможности
Merge Request'ы
Просмотр списка MR с фильтрацией по статусу и ветке
Детальная информация о конкретном MR
Поиск MR по имени ветки
Ревью и обсуждения
Просмотр всех ревью и обсуждений в MR
Ответы на существующие обсуждения
Создание новых комментариев
Разрешение обсуждений
Тесты и Pipeline
Сводка тестов — быстрый обзор результатов (количество пройденных/упавших тестов)
Детальный отчет — полная информация о тестах с ошибками и стектрейсами
Pipeline — обзор всех job'ов и их статусов
Логи job'ов — просмотр вывода конкретного job'а
Коммиты
Просмотр всех обсуждений на коммитах в MR
История комментариев по каждому коммиту
⚙️ Конфигурация
Настройка проекта (рекомендуется)
Каждый проект имеет свой файл gitlab-mcp.env с настройками GitLab. Не добавляйте токены в систему контроля версий.
Глобальная настройка
Можно задать переменные окружения глобально:
export GITLAB_PROJECT_ID=12345
export GITLAB_ACCESS_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx
export GITLAB_URL=https://gitlab.comКак найти Project ID
Перейдите в GitLab проект → Settings → General → Project ID
Или посмотрите в URL:
https://gitlab.com/username/project(используйте числовой ID)
🔧 Решение проблем
Ошибка аутентификации: Проверьте, что токен имеет права read_api и не истёк.
Проект не найден: Убедитесь, что Project ID указан правильно (это число, а не название проекта).
Проблемы с подключением: Проверьте, что URL GitLab доступен и указан верно.
Скрипт не найден: Убедитесь, что путь в конфигурации MCP указывает на правильное расположение сервера и скрипт исполняемый.
📚 Справочник инструментов
Инструмент | Описание | Параметры |
| Список merge request'ов |
|
| Детали MR |
|
| Сводка тестов (быстрый обзор) |
|
| Детальный отчет о тестах |
|
| Pipeline со всеми job'ами |
|
| Логи конкретного job'а |
|
| Ревью и обсуждения |
|
| Обсуждения на коммитах |
|
| Поиск MR по ветке |
|
| Ответ на обсуждение |
|
Available Tools
12 toolscreate_review_commentC
Create a new discussion thread in a merge request review
Inputs: merge_request_iid (required), body (required).
get_branch_merge_requestsB
Get all merge requests for a specific branch
Inputs: branch_name (required).
get_commit_discussionsC
Get discussions and comments on commits within a specific merge request
Inputs: merge_request_iid (required).
get_job_logA
Get the trace/log output for a specific pipeline job. Perfect for debugging failed tests and understanding CI/CD failures.
Inputs: job_id (required).
get_merge_request_detailsC
Get detailed information about a specific merge request
Inputs: merge_request_iid (required).
get_merge_request_pipelineA
Get the last pipeline data for a specific merge request, including all jobs and their statuses. Returns job IDs that can be used with get_job_log to fetch detailed output.
Inputs: merge_request_iid (required).
get_merge_request_reviewsC
Get reviews and discussions for a specific merge request
Inputs: merge_request_iid (required).
get_merge_request_test_reportA
Get structured test report for a merge request with specific test failures, error messages, and stack traces. Shows the same test data visible on the GitLab MR page. Best for debugging test failures.
Inputs: merge_request_iid (required).
get_pipeline_test_summaryA
Get test summary for a merge request - a lightweight overview showing pass/fail counts per test suite. Faster than full test report. Great for quick status checks.
Inputs: merge_request_iid (required).
list_merge_requestsC
List merge requests for the GitLab project
Inputs: state, target_branch, limit.
reply_to_review_commentC
Reply to a specific discussion thread in a merge request review
Inputs: merge_request_iid (required), discussion_id (required), body (required).
resolve_review_discussionB
Resolve or unresolve a discussion thread in a merge request review
Inputs: merge_request_iid (required), discussion_id (required), resolved.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Every tool has a clearly distinct purpose targeting specific resources and actions in GitLab's merge request and pipeline workflows. For example, get_merge_request_test_report provides detailed test failures, while get_pipeline_test_summary offers a lightweight overview, and tools like create_review_comment and reply_to_review_comment handle distinct aspects of review discussions. There is no overlap that would cause misselection.
All tool names follow a consistent verb_noun pattern with snake_case throughout, such as get_merge_request_details, list_merge_requests, and create_review_comment. This predictability makes it easy for agents to understand and use the tools without confusion from mixed conventions.
With 12 tools, the server is well-scoped for its purpose of managing GitLab merge requests, reviews, and pipelines. Each tool earns its place by covering specific aspects like discussions, test reports, and job logs, providing comprehensive functionality without being overwhelming or sparse.
The tool set offers complete coverage for the domain of GitLab merge request and pipeline management, including CRUD-like operations for reviews (create, reply, resolve), detailed data retrieval (details, discussions, test reports), and pipeline monitoring (jobs, logs, summaries). There are no obvious gaps that would cause agent failures, covering core workflows end-to-end.
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Operate GitHub from your AI assistant: repos, PRs, issues, Actions. Previews and read-only mode.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Plan Salesforce deploys, open pull requests and trigger pipelines from your AI client.
Related MCP Servers
- AlicenseAqualityDmaintenanceConnects AI assistants to GitLab, allowing users to manage merge requests, view reviews, and interact with discussions through natural language queries.1225MIT
- FlicenseNot gradedqualityNot gradedmaintenanceConnects AI assistants to GitLab, enabling natural language queries to view merge requests, review discussions, test reports, pipeline status, and respond to comments directly from chat.-
- FlicenseNot gradedqualityNot gradedmaintenanceConnects AI assistants to GitLab projects, enabling natural language queries to view merge requests, code reviews, test reports, pipeline statuses, and respond to discussions.-
- FlicenseNot gradedqualityNot gradedmaintenanceConnects AI assistants to GitLab projects, enabling natural language queries for merge requests, code reviews, test reports, pipeline status, and discussions with support for commenting and resolving threads.-