GitLab MCP for Code Review
GitLab MCP для проверки кода
Этот проект является ответвлением cayirtepeomer/gerrit-code-review-mcp и адаптирован для интеграции с GitLab.
Сервер MCP (Model Context Protocol) для интеграции помощников ИИ, таких как Claude, с запросами на слияние GitLab. Это позволяет помощникам ИИ просматривать изменения кода напрямую через API GitLab.
Функции
Полный анализ запросов на слияние : получение полной информации о запросах на слияние, включая различия, коммиты и комментарии.
Различия по конкретным файлам : анализ изменений в определенных файлах в запросах на слияние.
Сравнение версий : сравнение различных веток, тегов или коммитов.
Управление обзорами : добавление комментариев, одобрение или отмена одобрения запросов на слияние.
Обзор проекта : получение списков всех запросов на слияние в проекте.
Related MCP server: AI-PR-Review-MCP
Установка
Предпосылки
Питон 3.10+
Персональный токен доступа GitLab с областью действия API (read_api, api)
Cursor IDE или приложение Claude Desktop для интеграции MCP
Быстрый старт
Клонируйте этот репозиторий:
git clone https://github.com/mehmetakinn/gitlab-mcp-code-review.git
cd gitlab-mcp-code-reviewСоздайте и активируйте виртуальную среду:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateУстановите зависимости:
pip install -r requirements.txtСоздайте файл
.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:
Откройте приложение Claude Desktop.
Перейдите в Настройки → Дополнительно → Конфигурация MCP.
Добавьте следующую конфигурацию:
{
"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:
Инструмент | Описание |
| Получите полную информацию о запросе на слияние |
| Получить различия для конкретного запроса на слияние |
| Получить информацию о различиях для определенного коммита |
| Сравните различные ветки, теги или коммиты |
| Добавить комментарий к запросу на слияние |
| Одобрить запрос на слияние |
| Отменить одобрение запроса на слияние |
| Получить список запросов на слияние для проекта |
Примеры использования
Получить запрос на слияние
# 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)Поиск неисправностей
Если у вас возникли проблемы:
Убедитесь, что ваш токен GitLab имеет соответствующие разрешения (api, read_api)
Проверьте настройки файла
.envУбедитесь, что пути конфигурации MCP верны.
Проверьте соединение с помощью:
curl -H "Private-Token: your-token" https://gitlab.com/api/v4/projectsУстановите LOG_LEVEL=DEBUG в вашем .env-файле для более подробного протоколирования.
Внося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Форк репозитория
Создайте ветку функций (
git checkout -b feature/amazing-feature)Зафиксируйте свои изменения (
git commit -m 'Add some amazing feature')Отправить в ветку (
git push origin feature/amazing-feature)Открыть запрос на извлечение
Более подробную информацию о процессе разработки смотрите в файле CONTRIBUTING.md .
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that integrates with Discord to provide AI-powered features.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- AlicenseCqualityBmaintenanceA 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.100368 npm10MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that automates pull request reviews using multiple LLM providers (OpenAI, Claude, Gemini, Groq, Perplexity) and supports GitHub and Bitbucket with real-time webhook integration and interactive AI assistant commands.1-
- AlicenseNot gradedqualityBmaintenanceAn 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.368 npmMIT
- AlicenseAqualityCmaintenanceMCP server for GitLab REST API enabling AI agents to manage pipelines, merge requests, diffs, and local reviews.157 npmMIT