GitLab MCP for Code Review

by mehmetakinn
MIT License
1
  • Linux
  • Apple

Integrations

  • Enables interaction with GitLab's API to analyze and manage merge requests, including fetching diffs, comparing versions, adding comments, and approving/unapproving merge requests.

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

Installation

Voraussetzungen

  • Python 3.10+
  • Persönlicher GitLab-Zugriffstoken mit API-Bereich (read_api, api)
  • Cursor-IDE für vollständige MCP-Integration

Schnellstart

  1. Klonen Sie dieses Repository:
git clone https://github.com/yourusername/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:

VariableErforderlichStandardBeschreibung
GITLAB_TOKENJa-Ihr persönlicher GitLab-Zugriffstoken
GITLAB_HOSTNEINgitlab.comHostname der GitLab-Instanz
GITLAB_API_VERSIONNEINVersion 4Zu verwendende GitLab-API-Version
LOG_LEVELNEININFOProtokollierungsebene (DEBUG, INFO, WARNUNG, FEHLER, KRITISCH)
DEBUGGENNEINFALSCHDebug-Modus aktivieren
REQUEST_TIMEOUTNEIN30API-Anforderungstimeout in Sekunden
MAX_RETRIESNEIN3Maximale 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.

Verfügbare Tools

Der MCP-Server bietet die folgenden Tools für die Interaktion mit GitLab:

WerkzeugBeschreibung
fetch_merge_requestVollständige Informationen zu einer Zusammenführungsanforderung erhalten
fetch_merge_request_diffAbrufen von Diffs für eine bestimmte Zusammenführungsanforderung
fetch_commit_diffAbrufen von Diff-Informationen für ein bestimmtes Commit
compare_versionsVergleichen Sie verschiedene Zweige, Tags oder Commits
add_merge_request_commentHinzufügen eines Kommentars zu einer Zusammenführungsanforderung
approve_merge_requestGenehmigen einer Zusammenführungsanforderung
unapprove_merge_requestEine Zusammenführungsanfrage ablehnen
get_project_merge_requestsAbrufen 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

Ein MCP-Server, der KI-Assistenten wie Claude in die Merge-Anfragen von GitLab integriert, sodass sie Codeänderungen überprüfen, Kommentare hinzufügen und Merge-Anfragen direkt über die GitLab-API genehmigen/ablehnen können.

  1. Merkmale
    1. Installation
      1. Voraussetzungen
      2. Schnellstart
    2. Konfigurationsoptionen
      1. Cursor-IDE-Integration
        1. Verfügbare Tools
          1. Anwendungsbeispiele
            1. Abrufen einer Zusammenführungsanforderung
            2. Anzeigen bestimmter Dateiänderungen
            3. Filialen vergleichen
            4. Hinzufügen eines Kommentars zu einer Zusammenführungsanforderung
            5. Genehmigen einer Zusammenführungsanforderung
          2. Fehlerbehebung
            1. Beitragen
              1. Lizenz

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  MCP Server for the GitLab API, enabling project management, file operations, and more.
                  Last updated -
                  9
                  1,630
                  44,247
                  JavaScript
                  MIT License
                  • Linux
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  A custom server implementation that allows AI assistants to interact with GitLab repositories, providing capabilities for searching, fetching files, creating/updating content, and managing issues and merge requests.
                  Last updated -
                  JavaScript
                • -
                  security
                  F
                  license
                  -
                  quality
                  An MCP server that enables communication with GitLab repositories, allowing interaction with GitLab's API to manage projects, issues, and repositories through natural language.
                  Last updated -
                  20
                  JavaScript
                • A
                  security
                  F
                  license
                  A
                  quality
                  An MCP server that enables AI assistants to manage GitHub Actions workflows by providing tools for listing, viewing, triggering, canceling, and rerunning workflows through the GitHub API.
                  Last updated -
                  9
                  24
                  TypeScript
                  • Linux
                  • Apple

                View all related MCP servers

                ID: 1q749wqn55