Skip to main content
Glama
mehmetakinn

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.

Функции

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

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

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

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

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

Related MCP server: GitLab MCP Server

Установка

Предпосылки

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

  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

Latest Blog Posts

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