GitLab MCP Server

Official

Integrations

  • Allows interaction with GitLab repositories including project management, file operations, branch creation, issue tracking, merge request management, repository forking, and project search capabilities through the GitLab API

GitLab MCP Server

MCP-Server für die GitLab-API, der Projektmanagement, Dateivorgänge und mehr ermöglicht.

Merkmale

  • Automatische Zweigerstellung : Beim Erstellen/Aktualisieren von Dateien oder beim Übertragen von Änderungen werden Zweige automatisch erstellt, wenn sie nicht vorhanden sind
  • Umfassende Fehlerbehandlung : Klare Fehlermeldungen bei häufigen Problemen
  • Erhaltung des Git-Verlaufs : Operationen bewahren den ordnungsgemäßen Git-Verlauf auf, ohne dass ein Force-Push erforderlich ist.
  • Stapelverarbeitung : Unterstützung für Einzeldatei- und Mehrdateioperationen

Werkzeuge

  1. create_or_update_file
    • Erstellen oder Aktualisieren einer einzelnen Datei in einem Projekt
    • Eingänge:
      • project_id (Zeichenfolge): Projekt-ID oder URL-codierter Pfad
      • file_path (Zeichenfolge): Pfad, in dem die Datei erstellt/aktualisiert werden soll
      • content (string): Inhalt der Datei
      • commit_message (Zeichenfolge): Commit-Nachricht
      • branch (Zeichenfolge): Branch zum Erstellen/Aktualisieren der Datei in
      • previous_path (optionale Zeichenfolge): Pfad der zu verschiebenden/umzubenennenden Datei
    • Gibt zurück: Dateiinhalt und Commit-Details
  2. push_files
    • Pushen Sie mehrere Dateien in einem einzigen Commit
    • Eingänge:
      • project_id (Zeichenfolge): Projekt-ID oder URL-codierter Pfad
      • branch (Zeichenfolge): Zweig, zu dem gepusht werden soll
      • files (Array): Zu pushende Dateien, jeweils mit file_path und content
      • commit_message (Zeichenfolge): Commit-Nachricht
    • Rückgabe: Aktualisierte Zweigstellenreferenz
  3. search_repositories
    • Suche nach GitLab-Projekten
    • Eingänge:
      • search (Zeichenfolge): Suchanfrage
      • page (optionale Zahl): Seitenzahl für die Paginierung
      • per_page (optionale Zahl): Ergebnisse pro Seite (Standard 20)
    • Rückgabe: Projektsuchergebnisse
  4. create_repository
    • Erstellen Sie ein neues GitLab-Projekt
    • Eingänge:
      • name (Zeichenfolge): Projektname
      • description (optionale Zeichenfolge): Projektbeschreibung
      • visibility (optionale Zeichenfolge): „privat“, „intern“ oder „öffentlich“
      • initialize_with_readme (optionaler Boolescher Wert): Initialisieren mit README
    • Rückgabe: Erstellte Projektdetails
  5. get_file_contents
    • Inhalte einer Datei oder eines Verzeichnisses abrufen
    • Eingänge:
      • project_id (Zeichenfolge): Projekt-ID oder URL-codierter Pfad
      • file_path (Zeichenfolge): Pfad zur Datei/zum Verzeichnis
      • ref (optionale Zeichenfolge): Branch/Tag/Commit, aus dem Inhalte abgerufen werden sollen
    • Rückgabe: Datei-/Verzeichnisinhalt
  6. create_issue
    • Neues Problem erstellen
    • Eingänge:
      • project_id (Zeichenfolge): Projekt-ID oder URL-codierter Pfad
      • title (Zeichenfolge): Titel der Ausgabe
      • description (optionale Zeichenfolge): Problembeschreibung
      • assignee_ids (optional number[]): Zuzuweisende Benutzer-IDs
      • labels (optional string[]): Hinzuzufügende Labels
      • milestone_id (optionale Zahl): Meilenstein-ID
    • Retouren: Details zum erstellten Problem
  7. create_merge_request
    • Erstellen einer neuen Zusammenführungsanforderung
    • Eingänge:
      • project_id (Zeichenfolge): Projekt-ID oder URL-codierter Pfad
      • title (Zeichenfolge): MR-Titel
      • description (optionale Zeichenfolge): MR-Beschreibung
      • source_branch (Zeichenfolge): Zweig mit Änderungen
      • target_branch (Zeichenfolge): Zweig, in den zusammengeführt werden soll
      • draft (optionaler Boolescher Wert): Als MR-Entwurf erstellen
      • allow_collaboration (optionaler Boolescher Wert): Erlaube Commits von Upstream-Mitgliedern
    • Rückgabe: Details der erstellten Zusammenführungsanforderung
  8. fork_repository
    • Ein Projekt forken
    • Eingänge:
      • project_id (Zeichenfolge): Projekt-ID oder URL-codierter Pfad
      • namespace (optionale Zeichenfolge): Namespace, in den verzweigt werden soll
    • Rückgabe: Details zum gegabelten Projekt
  9. create_branch
    • Erstellen Sie einen neuen Zweig
    • Eingänge:
      • project_id (Zeichenfolge): Projekt-ID oder URL-codierter Pfad
      • branch (Zeichenfolge): Name für neuen Zweig
      • ref (optionale Zeichenfolge): Quellzweig/Commit für neuen Zweig
    • Rückgabe: Erstellte Zweigreferenz

Aufstellen

Persönlicher Zugriffstoken

Erstellen Sie ein persönliches GitLab-Zugriffstoken mit entsprechenden Berechtigungen:

  • Gehen Sie in GitLab zu Benutzereinstellungen > Zugriffstoken
  • Wählen Sie die erforderlichen Bereiche aus:
    • api für vollständigen API-Zugriff
    • read_api für schreibgeschützten Zugriff
    • read_repository und write_repository für Repository-Operationen
  • Erstellen Sie das Token und speichern Sie es sicher

Verwendung mit Claude Desktop

Fügen Sie Ihrer claude_desktop_config.json Folgendes hinzu:

Docker
{ "mcpServers": { "gitlab": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "GITLAB_PERSONAL_ACCESS_TOKEN", "-e", "GITLAB_API_URL", "mcp/gitlab" ], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>", "GITLAB_API_URL": "https://gitlab.com/api/v4" // Optional, for self-hosted instances } } } }
NPX
{ "mcpServers": { "gitlab": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-gitlab" ], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>", "GITLAB_API_URL": "https://gitlab.com/api/v4" // Optional, for self-hosted instances } } } }

Verwendung mit VS Code

Verwenden Sie für eine schnelle Installation eine der folgenden Ein-Klick-Installationsschaltflächen ...

Für die manuelle Installation fügen Sie den folgenden JSON-Block zu Ihrer Benutzereinstellungsdatei (JSON) in VS Code hinzu. Drücken Sie dazu Ctrl + Shift + P und geben Sie Preferences: Open User Settings (JSON) ein.

Optional können Sie es einer Datei namens .vscode/mcp.json in Ihrem Arbeitsbereich hinzufügen. Dadurch können Sie die Konfiguration mit anderen teilen.

Beachten Sie, dass der mcp Schlüssel in der Datei .vscode/mcp.json nicht benötigt wird.

Docker
{ "mcp": { "inputs": [ { "type": "promptString", "id": "gitlab_token", "description": "GitLab Personal Access Token", "password": true }, { "type": "promptString", "id": "gitlab_url", "description": "GitLab API URL (optional)", "default": "https://gitlab.com/api/v4" } ], "servers": { "gitlab": { "command": "docker", "args": [ "run", "--rm", "-i", "mcp/gitlab" ], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "${input:gitlab_token}", "GITLAB_API_URL": "${input:gitlab_url}" } } } } }
NPX
{ "mcp": { "inputs": [ { "type": "promptString", "id": "gitlab_token", "description": "GitLab Personal Access Token", "password": true }, { "type": "promptString", "id": "gitlab_url", "description": "GitLab API URL (optional)", "default": "https://gitlab.com/api/v4" } ], "servers": { "gitlab": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-gitlab" ], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "${input:gitlab_token}", "GITLAB_API_URL": "${input:gitlab_url}" } } } } }

Bauen

Docker-Build:

docker build -t vonwig/gitlab:mcp -f src/gitlab/Dockerfile .

Umgebungsvariablen

  • GITLAB_PERSONAL_ACCESS_TOKEN : Ihr persönlicher GitLab-Zugriffstoken (erforderlich)
  • GITLAB_API_URL : Basis-URL für die GitLab-API (optional, standardmäßig https://gitlab.com/api/v4 )

Lizenz

Dieser MCP-Server ist unter der MIT-Lizenz lizenziert. Das bedeutet, dass Sie die Software unter den Bedingungen der MIT-Lizenz frei verwenden, ändern und verbreiten dürfen. Weitere Informationen finden Sie in der LICENSE-Datei im Projekt-Repository.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

MCP-Server für die GitLab-API, der Projektmanagement, Dateivorgänge und mehr ermöglicht.

  1. Merkmale
    1. Werkzeuge
      1. Aufstellen
        1. Persönlicher Zugriffstoken
        2. Verwendung mit Claude Desktop
        3. Verwendung mit VS Code
      2. Bauen
        1. Umgebungsvariablen
          1. Lizenz

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              MCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.
              Last updated -
              17
              22,912
              44,922
              JavaScript
              MIT License
            • A
              security
              F
              license
              A
              quality
              MCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.
              Last updated -
              18
              4
              3
              TypeScript
              • Linux
              • Apple
            • A
              security
              A
              license
              A
              quality
              MCP Tool Server for Gitee, supporting the management of repository files/branches, Issues, and Pull Requests.
              Last updated -
              20
              10
              4
              TypeScript
              MIT License
            • A
              security
              F
              license
              A
              quality
              MCP server for managing Git operations on local repositories, allowing users to list repositories, get and create tags, list commits, push tags, and refresh repositories through a standardized interface.
              Last updated -
              6
              Python

            View all related MCP servers

            ID: mim928vohs