Skip to main content
Glama
mehmetakinn

GitLab MCP for Code Review

by mehmetakinn

GitLab MCP für Code-Überprüfung

Python 3.10+ Lizenz: MIT

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: GitLab MCP Server

Installation

Voraussetzungen

Schnellstart

  1. Klonen Sie dieses Repository:

git clone https://github.com/mehmetakinn/gitlab-mcp-code-review.git cd gitlab-mcp-code-review
  1. Erstellen und aktivieren Sie eine virtuelle Umgebung:

python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  1. Installieren Sie Abhängigkeiten:

pip install -r requirements.txt
  1. Erstellen Sie eine .env Datei 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=INFO

Konfigurationsoptionen

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:

  1. Öffnen Sie die Claude Desktop App

  2. Gehen Sie zu Einstellungen → Erweitert → MCP-Konfiguration

  3. 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

fetch_merge_request

Vollständige Informationen zu einer Zusammenführungsanforderung erhalten

fetch_merge_request_diff

Abrufen von Diffs für eine bestimmte Zusammenführungsanforderung

fetch_commit_diff

Abrufen von Diff-Informationen für ein bestimmtes Commit

compare_versions

Vergleichen Sie verschiedene Zweige, Tags oder Commits

add_merge_request_comment

Hinzufügen eines Kommentars zu einer Zusammenführungsanforderung

approve_merge_request

Genehmigen einer Zusammenführungsanforderung

unapprove_merge_request

Eine Zusammenführungsanfrage ablehnen

get_project_merge_requests

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:

  1. Überprüfen Sie, ob Ihr GitLab-Token über die entsprechenden Berechtigungen (API, Read_API) verfügt.

  2. Überprüfen Sie die Einstellungen Ihrer .env Datei

  3. Stellen Sie sicher, dass Ihre MCP-Konfigurationspfade korrekt sind

  4. Testen Sie die Verbindung mit: curl -H "Private-Token: your-token" https://gitlab.com/api/v4/projects

  5. Setzen Sie LOG_LEVEL=DEBUG in Ihrer .env-Datei für eine detailliertere Protokollierung

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

  1. Forken Sie das Repository

  2. Erstellen Sie Ihren Feature-Zweig ( git checkout -b feature/amazing-feature )

  3. Übernehmen Sie Ihre Änderungen ( git commit -m 'Add some amazing feature' )

  4. Pushen zum Zweig ( git push origin feature/amazing-feature )

  5. Ö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 .

-
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