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: AI-PR-Review-MCP

Установка

Предпосылки

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

  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 .

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    C
    quality
    A
    maintenance
    A production-ready MCP server for GitLab enabling AI assistants to read and manage GitLab projects, merge requests, issues, pipelines, wikis, releases, and more through a unified interface.
    100
    514
    9
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    An MCP server that enables AI agents to perform automated code reviews on GitLab merge requests, including fetching details, reading diffs, posting inline comments, managing labels, and approving or unapproving MRs.
    514
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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