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