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: AI-PR-Review-MCP

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 .

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    C
    quality
    A
    maintenance
    A 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.
    100
    514
    9
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    An 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.
    514
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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