mcp-gitlab-mcp-server-todobien

bioanywhere/mcp-gitlab-mcp-server-todobien

3.2

If you are the rightful owner of mcp-gitlab-mcp-server-todobien 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.

The GitLab MCP Server connects your AI assistant to GitLab, allowing you to interact with GitLab projects through chat commands.

Tools
5
Resources
0
Prompts
0

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!

💬 Что можно делать

После подключения попробуйте эти команды в чате:

  • "Покажи открытые 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Детали MRmerge_request_iid
get_pipeline_test_summaryСводка тестов (быстрый обзор)merge_request_iid
get_merge_request_test_reportДетальный отчет о тестахmerge_request_iid
get_merge_request_pipelinePipeline со всеми 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