Skip to main content
Glama

GitLab MCP for Code Review

by mehmetakinn

GitLab MCP для проверки кода

Питон 3.10+ Лицензия: Массачусетский технологический институт

Этот проект является ответвлением cayirtepeomer/gerrit-code-review-mcp и адаптирован для интеграции с GitLab.

Сервер MCP (Model Context Protocol) для интеграции помощников ИИ, таких как Claude, с запросами на слияние GitLab. Это позволяет помощникам ИИ просматривать изменения кода напрямую через API GitLab.

Функции

  • Полный анализ запросов на слияние : получение полной информации о запросах на слияние, включая различия, коммиты и комментарии.

  • Различия по конкретным файлам : анализ изменений в определенных файлах в запросах на слияние.

  • Сравнение версий : сравнение различных веток, тегов или коммитов.

  • Управление обзорами : добавление комментариев, одобрение или отмена одобрения запросов на слияние.

  • Обзор проекта : получение списков всех запросов на слияние в проекте.

Установка

Предпосылки

Быстрый старт

  1. Клонируйте этот репозиторий:

git clone https://github.com/mehmetakinn/gitlab-mcp-code-review.git cd gitlab-mcp-code-review
  1. Создайте и активируйте виртуальную среду:

python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  1. Установите зависимости:

pip install -r requirements.txt
  1. Создайте файл .env с вашей конфигурацией GitLab (все параметры см. .env.example ):

# Required GITLAB_TOKEN=your_personal_access_token_here # Optional settings GITLAB_HOST=gitlab.com GITLAB_API_VERSION=v4 LOG_LEVEL=INFO

Параметры конфигурации

В файле .env можно настроить следующие переменные среды:

Переменная

Необходимый

По умолчанию

Описание

GITLAB_ТОКЕН

Да

-

Ваш персональный токен доступа GitLab

GITLAB_HOST

Нет

gitlab.com

Имя хоста экземпляра GitLab

GITLAB_API_VERSION

Нет

версия 4

Версия API GitLab для использования

УРОВЕНЬ_ЛОГА

Нет

ИНФОРМАЦИЯ

Уровень ведения журнала (ОТЛАДКА, ИНФОРМАЦИЯ, ПРЕДУПРЕЖДЕНИЕ, ОШИБКА, КРИТИЧЕСКИЙ)

ОТЛАЖИВАТЬ

Нет

ЛОЖЬ

Включить режим отладки

REQUEST_TIMEOUT

Нет

30

Время ожидания запроса API в секундах

МАКСИМАЛЬНОЕ_КОЛИЧЕСТВО_ПОВТОРЕНИЙ

Нет

3

Максимальное количество попыток повтора для неудавшихся запросов

Интеграция курсора IDE

Чтобы использовать этот MCP с Cursor IDE, добавьте эту конфигурацию в файл ~/.cursor/mcp.json :

{ "mcpServers": { "gitlab-mcp-code-review": { "command": "/path/to/your/gitlab-mcp-code-review/.venv/bin/python", "args": [ "/path/to/your/gitlab-mcp-code-review/server.py", "--transport", "stdio" ], "cwd": "/path/to/your/gitlab-mcp-code-review", "env": { "PYTHONPATH": "/path/to/your/gitlab-mcp-code-review", "VIRTUAL_ENV": "/path/to/your/gitlab-mcp-code-review/.venv", "PATH": "/path/to/your/gitlab-mcp-code-review/.venv/bin:/usr/local/bin:/usr/bin:/bin" }, "stdio": true } } }

Замените /path/to/your/gitlab-mcp-code-review на фактический путь к вашему клонированному репозиторию.

Интеграция приложения Claude Desktop

Чтобы использовать этот MCP с приложением Claude Desktop:

  1. Откройте приложение Claude Desktop.

  2. Перейдите в Настройки → Дополнительно → Конфигурация MCP.

  3. Добавьте следующую конфигурацию:

{ "mcpServers": { "gitlab-mcp-code-review": { "command": "/path/to/your/gitlab-mcp-code-review/.venv/bin/python", "args": [ "/path/to/your/gitlab-mcp-code-review/server.py", "--transport", "stdio" ], "cwd": "/path/to/your/gitlab-mcp-code-review", "env": { "PYTHONPATH": "/path/to/your/gitlab-mcp-code-review", "VIRTUAL_ENV": "/path/to/your/gitlab-mcp-code-review/.venv", "PATH": "/path/to/your/gitlab-mcp-code-review/.venv/bin:/usr/local/bin:/usr/bin:/bin" }, "stdio": true } } }

Замените /path/to/your/gitlab-mcp-code-review на фактический путь к вашему клонированному репозиторию.

Доступные инструменты

Сервер MCP предоставляет следующие инструменты для взаимодействия с GitLab:

Инструмент

Описание

fetch_merge_request

Получите полную информацию о запросе на слияние

fetch_merge_request_diff

Получить различия для конкретного запроса на слияние

fetch_commit_diff

Получить информацию о различиях для определенного коммита

compare_versions

Сравните различные ветки, теги или коммиты

add_merge_request_comment

Добавить комментарий к запросу на слияние

approve_merge_request

Одобрить запрос на слияние

unapprove_merge_request

Отменить одобрение запроса на слияние

get_project_merge_requests

Получить список запросов на слияние для проекта

Примеры использования

Получить запрос на слияние

# Get details of merge request #5 in project with ID 123 mr = fetch_merge_request("123", "5")

Просмотр определенных изменений файла

# Get diff for a specific file in a merge request file_diff = fetch_merge_request_diff("123", "5", "path/to/file.js")

Сравнить филиалы

# Compare develop branch with master branch diff = compare_versions("123", "develop", "master")

Добавить комментарий к запросу на слияние

# Add a comment to a merge request comment = add_merge_request_comment("123", "5", "This code looks good!")

Одобрить запрос на слияние

# Approve a merge request and set required approvals to 2 approval = approve_merge_request("123", "5", approvals_required=2)

Поиск неисправностей

Если у вас возникли проблемы:

  1. Убедитесь, что ваш токен GitLab имеет соответствующие разрешения (api, read_api)

  2. Проверьте настройки файла .env

  3. Убедитесь, что пути конфигурации MCP верны.

  4. Проверьте соединение с помощью: curl -H "Private-Token: your-token" https://gitlab.com/api/v4/projects

  5. Установите LOG_LEVEL=DEBUG в вашем .env-файле для более подробного протоколирования.

Внося вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.

  1. Форк репозитория

  2. Создайте ветку функций ( git checkout -b feature/amazing-feature )

  3. Зафиксируйте свои изменения ( git commit -m 'Add some amazing feature' )

  4. Отправить в ветку ( git push origin feature/amazing-feature )

  5. Открыть запрос на извлечение

Более подробную информацию о процессе разработки смотрите в файле CONTRIBUTING.md .

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Сервер MCP, который интегрирует помощников на основе искусственного интеллекта, таких как Клод, с запросами на слияние GitLab, позволяя им просматривать изменения кода, добавлять комментарии и утверждать/отменять запросы на слияние непосредственно через API GitLab.

  1. Функции
    1. Установка
      1. Предпосылки
      2. Быстрый старт
    2. Параметры конфигурации
      1. Интеграция курсора IDE
        1. Интеграция приложения Claude Desktop
          1. Доступные инструменты
            1. Примеры использования
              1. Получить запрос на слияние
              2. Просмотр определенных изменений файла
              3. Сравнить филиалы
              4. Добавить комментарий к запросу на слияние
              5. Одобрить запрос на слияние
            2. Поиск неисправностей
              1. Внося вклад
                1. Лицензия

                  Related MCP Servers

                  • A
                    security
                    F
                    license
                    A
                    quality
                    An MCP server that enables Claude and other compatible LLMs to interact with the GitHub API, supporting features like creating issues, retrieving repository information, listing issues, and searching repositories.
                    Last updated -
                    4
                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server that enables communication with GitLab repositories, allowing interaction with GitLab's API to manage projects, issues, and repositories through natural language.
                    Last updated -
                    7,512
                    1
                    MIT License
                  • A
                    security
                    F
                    license
                    A
                    quality
                    An MCP server that allows Claude and other MCP-compatible LLMs to interact with the GitHub API, supporting features like creating issues, getting repository information, listing issues, and searching repositories.
                    Last updated -
                    4
                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server that enables AI assistants like Claude to help users manage their GitHub notifications through natural language commands.
                    Last updated -
                    0
                    16
                    MIT License

                  View all related MCP servers

                  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/mehmetakinn/gitlab-mcp-code-review'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server