Skip to main content
Glama

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

Установка

  1. Установите сервер:

    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
  2. Получите токен GitLab:

    • Перейдите в GitLab → Settings → Access Tokens

    • Создайте токен с правами read_api

    • Скопируйте токен

  3. Настройте проект:

    Создайте файл gitlab-mcp.env в директории вашего проекта:

    GITLAB_PROJECT_ID=12345
    GITLAB_ACCESS_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx
    GITLAB_URL=https://gitlab.com
  4. Подключите к Cursor:

    Создайте .cursor/mcp.json в вашем проекте:

    {
      "mcpServers": {
        "gitlab-mcp": {
          "command": "/путь/к/gitlab-mcp-server/run-mcp.sh",
          "cwd": "/путь/к/вашему-проекту"
        }
      }
    }
  5. Перезапустите 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 указывает на правильное расположение сервера и скрипт исполняемый.

📚 Справочник инструментов

Инструмент

Описание

Параметры

list_merge_requests

Список merge request'ов

state, target_branch, limit

get_merge_request_details

Детали MR

merge_request_iid

get_pipeline_test_summary

Сводка тестов (быстрый обзор)

merge_request_iid

get_merge_request_test_report

Детальный отчет о тестах

merge_request_iid

get_merge_request_pipeline

Pipeline со всеми job'ами

merge_request_iid

get_job_log

Логи конкретного job'а

job_id

get_merge_request_reviews

Ревью и обсуждения

merge_request_iid

get_commit_discussions

Обсуждения на коммитах

merge_request_iid

get_branch_merge_requests

Поиск MR по ветке

branch_name

reply_to_review_comment

Ответ на обсуждение

merge_request_iid, discussion_id, body

Available Tools

12 tools
create_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

    A3.7/5.0

    Scored across 12 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    Related MCP Servers

    • F
      license
      Not graded
      quality
      Not graded
      maintenance
      Connects 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.
      -
    • F
      license
      Not graded
      quality
      Not graded
      maintenance
      Connects 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.
      -