GitLab MCP for Code Review
GitLab MCP für Code-Überprüfung
Dieses Projekt ist ein Fork von cayirtepeomer/gerrit-code-review-mcp und für die GitLab-Integration angepasst.
Ein MCP-Server (Model Context Protocol) zur Integration von KI-Assistenten wie Claude in GitLab-Merge-Anfragen. Dadurch können KI-Assistenten Codeänderungen direkt über die GitLab-API überprüfen.
Merkmale
Vollständige Merge Request-Analyse : Holen Sie sich alle Details zu Merge Requests, einschließlich Diffs, Commits und Kommentaren
Dateispezifische Unterschiede : Analysieren Sie Änderungen an bestimmten Dateien innerhalb von Zusammenführungsanforderungen
Versionsvergleich : Vergleichen Sie verschiedene Zweige, Tags oder Commits
Überprüfungsverwaltung : Kommentare hinzufügen, Zusammenführungsanfragen genehmigen oder ablehnen
Projektübersicht : Erhalten Sie Listen aller Merge-Anfragen in einem Projekt
Related MCP server: AI-PR-Review-MCP
Installation
Voraussetzungen
Python 3.10+
Persönlicher GitLab-Zugriffstoken mit API-Bereich (read_api, api)
Cursor IDE oder Claude Desktop App für MCP-Integration
Schnellstart
Klonen Sie dieses Repository:
git clone https://github.com/mehmetakinn/gitlab-mcp-code-review.git
cd gitlab-mcp-code-reviewErstellen und aktivieren Sie eine virtuelle Umgebung:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstallieren Sie Abhängigkeiten:
pip install -r requirements.txtErstellen Sie eine
.envDatei mit Ihrer GitLab-Konfiguration (alle Optionen finden Sie unter.env.example):
# Required
GITLAB_TOKEN=your_personal_access_token_here
# Optional settings
GITLAB_HOST=gitlab.com
GITLAB_API_VERSION=v4
LOG_LEVEL=INFOKonfigurationsoptionen
Die folgenden Umgebungsvariablen können in Ihrer .env Datei konfiguriert werden:
Variable | Erforderlich | Standard | Beschreibung |
GITLAB_TOKEN | Ja | - | Ihr persönlicher GitLab-Zugriffstoken |
GITLAB_HOST | NEIN | gitlab.com | Hostname der GitLab-Instanz |
GITLAB_API_VERSION | NEIN | Version 4 | Zu verwendende GitLab-API-Version |
LOG_LEVEL | NEIN | INFO | Protokollierungsebene (DEBUG, INFO, WARNUNG, FEHLER, KRITISCH) |
DEBUGGEN | NEIN | FALSCH | Debug-Modus aktivieren |
REQUEST_TIMEOUT | NEIN | 30 | API-Anforderungstimeout in Sekunden |
MAX_RETRIES | NEIN | 3 | Maximale Wiederholungsversuche für fehlgeschlagene Anfragen |
Cursor-IDE-Integration
Um dieses MCP mit Cursor IDE zu verwenden, fügen Sie diese Konfiguration zu Ihrer Datei ~/.cursor/mcp.json hinzu:
{
"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
}
}
}Ersetzen Sie /path/to/your/gitlab-mcp-code-review durch den tatsächlichen Pfad zu Ihrem geklonten Repository.
Claude Desktop App Integration
So verwenden Sie dieses MCP mit der Claude Desktop App:
Öffnen Sie die Claude Desktop App
Gehen Sie zu Einstellungen → Erweitert → MCP-Konfiguration
Fügen Sie die folgende Konfiguration hinzu:
{
"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
}
}
}Ersetzen Sie /path/to/your/gitlab-mcp-code-review durch den tatsächlichen Pfad zu Ihrem geklonten Repository.
Verfügbare Tools
Der MCP-Server bietet die folgenden Tools für die Interaktion mit GitLab:
Werkzeug | Beschreibung |
| Vollständige Informationen zu einer Zusammenführungsanforderung erhalten |
| Abrufen von Diffs für eine bestimmte Zusammenführungsanforderung |
| Abrufen von Diff-Informationen für ein bestimmtes Commit |
| Vergleichen Sie verschiedene Zweige, Tags oder Commits |
| Hinzufügen eines Kommentars zu einer Zusammenführungsanforderung |
| Genehmigen einer Zusammenführungsanforderung |
| Eine Zusammenführungsanfrage ablehnen |
| Abrufen einer Liste mit Zusammenführungsanforderungen für ein Projekt |
Anwendungsbeispiele
Abrufen einer Zusammenführungsanforderung
# Get details of merge request #5 in project with ID 123
mr = fetch_merge_request("123", "5")Anzeigen bestimmter Dateiänderungen
# Get diff for a specific file in a merge request
file_diff = fetch_merge_request_diff("123", "5", "path/to/file.js")Filialen vergleichen
# Compare develop branch with master branch
diff = compare_versions("123", "develop", "master")Hinzufügen eines Kommentars zu einer Zusammenführungsanforderung
# Add a comment to a merge request
comment = add_merge_request_comment("123", "5", "This code looks good!")Genehmigen einer Zusammenführungsanforderung
# Approve a merge request and set required approvals to 2
approval = approve_merge_request("123", "5", approvals_required=2)Fehlerbehebung
Wenn Probleme auftreten:
Überprüfen Sie, ob Ihr GitLab-Token über die entsprechenden Berechtigungen (API, Read_API) verfügt.
Überprüfen Sie die Einstellungen Ihrer
.envDateiStellen Sie sicher, dass Ihre MCP-Konfigurationspfade korrekt sind
Testen Sie die Verbindung mit:
curl -H "Private-Token: your-token" https://gitlab.com/api/v4/projectsSetzen Sie LOG_LEVEL=DEBUG in Ihrer .env-Datei für eine detailliertere Protokollierung
Beitragen
Beiträge sind willkommen! Senden Sie gerne einen Pull Request.
Forken Sie das Repository
Erstellen Sie Ihren Feature-Zweig (
git checkout -b feature/amazing-feature)Übernehmen Sie Ihre Änderungen (
git commit -m 'Add some amazing feature')Pushen zum Zweig (
git push origin feature/amazing-feature)Öffnen einer Pull-Anfrage
Weitere Einzelheiten zum Entwicklungsprozess finden Sie in der Datei CONTRIBUTING.md .
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei 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