GitLab MCP Server

Offizieller GitLab-MCP-Server im Beta-Status: Projects, Issues, Merge Requests, Pipelines und Code-Reviews direkt im KI-Coding-Client.

Beschreibung

Der GitLab MCP Server ist GitLabs offizieller Model-Context-Protocol-Server, der KI-Coding-Agenten sicheren und strukturierten Zugriff auf eine GitLab-Instanz gibt. Laut Anbieter befindet sich der Server im Beta-Status und steht für alle GitLab-Tiers (Free, Premium, Ultimate) auf GitLab.com, Self-Managed und GitLab Dedicated zur Verfügung. Er ist direkt in die GitLab-Anwendung eingebaut und unter dem Endpunkt https://<gitlab-instanz>/api/v4/mcp erreichbar. Ein separates öffentliches Repository existiert nicht; die Implementierung ist Teil des GitLab-Monorepos.

Was ist der GitLab MCP Server

Der GitLab MCP Server ermöglicht KI-Clients wie Claude Desktop, Claude Code, Cursor, GitHub Copilot in VS Code, Gemini Code Assist, Gemini CLI und Kiro IDE, sich über OAuth 2.0 Dynamic Client Registration mit einer GitLab-Instanz zu verbinden. Nach der Autorisierung kann der Assistent GitLab-Daten lesen, Issues und Merge Requests erstellen oder aktualisieren, Commits hinzufügen, Pipeline-Ergebnisse abrufen, Code-Reviews schreiben und Duo-Agent-Platform-Sessions verwalten. Laut Anbieter werden zwei Transport-Typen unterstützt: HTTP-Transport (empfohlen, keine zusätzlichen Abhängigkeiten) und stdio-Transport via mcp-remote (benötigt Node.js 20 oder höher als Brücke).

Verfügbare Werkzeuge

Der Server stellt laut offizieller Werkzeugdokumentation (Stand 08.09.2026) eine umfangreiche Menge an Werkzeugen bereit, die in mehrere Kategorien fallen:

Projektabfragen: get_project gibt Metadaten wie Projekt-ID, Standard-Branch, Sichtbarkeit und Web-URL zurück. get_mcp_server_version meldet die aktuelle Serverversion.

Datei- und Code-Operationen: add_commit fügt Commits mit einer oder mehreren Dateiaktionen (create, update, delete, move, chmod) in einem einzigen Aufruf zu einem Branch hinzu und unterstützt dabei sowohl vollständige Dateiinhalte als auch gezielte Textersetzungen (old_str/new_str). Diese Funktion steht unter besonderer Sicherheitsbetrachtung, da sie Schreibzugriff auf den Code-Stand erfordert.

Issues: create_issue legt neue Issues mit Titel, Beschreibung, Zuweisungen, Meilensteinen, Labels, Vertraulichkeit und Epics an. get_issue ruft Detailinfos zu einem einzelnen Issue ab. list_issues und search erlauben das Filtern und Durchsuchen von Issues nach Autor, Zuweiser, Labels, Status und Zeitraum.

Merge Requests: save_merge_request erstellt oder aktualisiert Merge Requests inklusive Branch, Beschreibung, Labels, Zuweiser, Reviewer, Squash und Status-Transition. get_merge_request gibt den vollständigen Merge-Request-Datensatz zurück und kann optional Diffs, Commits, Notes, Pipelines oder Discussions mitliefern. get_merge_request_diffs, get_merge_request_commits, get_merge_request_notes und get_merge_request_pipelines sind darüber hinaus separat abfragbar. list_merge_requests filtert nach Autor, Zuweiser, Reviewer, Status, Meilenstein und Labels.

Reviews und Kommentare: save_note fügt Kommentare zu Merge Requests oder Work Items hinzu und kann in bestehende Diskussions-Threads antworten. save_merge_request_review schreibt Review-Artefakte: neue Kommentare, Antworten, Diff-Kommentare, Auflösen von Threads, ein kombiniertes submit_review mit mehreren Diff-Kommentaren und einem Überblickstext sowie die explizite Genehmigung oder Ablehnung eines Merge Requests. get_merge_request_notes paginiert alle Notes inklusive Diskussions-IDs.

Suche: Das search-Werkzeug unterstützt laut Dokumentation mehrere Scopes (projects, issues, merge_requests, milestones, users, blobs, commits, notes, wiki_blobs, snippet_titles) und liefert für jeden Typ optimierte Kurzmetadaten zurück.

Mitglieder und Teams: list_project_members listet Mitglieder mit Rolle und Zugriffsebene auf.

GitLab Duo Agent Platform: list_duo_sessions und get_duo_session erlauben es, bestehende Duo-Agenten-Sitzungen zu verwalten und deren Status abzurufen.

Einrichtung für verschiedene Clients

Für den HTTP-Transport (empfohlen) wird in der MCP-Client-Konfigurationsdatei der Endpunkt https://gitlab.com/api/v4/mcp (oder die eigene GitLab-Instanz-URL) als Remote-Server mit Typ http eingetragen. Für Claude Code lautet der Einrichtungsbefehl:

claude mcp add --transport http GitLab https://gitlab.com/api/v4/mcp

Für Cursor wird in Settings > Cursor Settings > Tools & MCP ein neuer MCP-Server mit der URL eingetragen. Für GitHub Copilot in VS Code erfolgt die Einrichtung über MCP: Add Server in der Command Palette mit Typ HTTP und der gleichen URL. Für Claude Desktop und Clients ohne nativen HTTP-Transport wird der stdio-Weg via mcp-remote genutzt: { "command": "npx", "args": ["-y", "mcp-remote", "https://gitlab.com/api/v4/mcp"] }. Dabei ist Node.js 20 oder höher erforderlich. Laut Dokumentation wird beim ersten Verbindungsaufbau automatisch ein OAuth-2.0-Anmeldedialog im Browser geöffnet.

Optional kann mit dem Header X-Gitlab-Mcp-Server-Tool-Name-Prefix ein Präfix für Werkzeugnamen gesetzt werden (maximal 32 Zeichen), um Namenskonflikte bei gleichzeitiger Nutzung mehrerer MCP-Server oder GitLab-Instanzen zu vermeiden.

Sicherheit und Datenzugriff

Der GitLab MCP Server verwendet OAuth 2.0 Dynamic Client Registration als Authentifizierungsmechanismus. Laut Anbieter registriert sich der KI-Client beim ersten Verbindungsaufbau selbständig als OAuth-Anwendung, fordert eine Autorisierung an und erhält ein Access-Token für den API-Zugriff. Dieser Token hat Zugriff auf alle Daten, für die der authentifizierte GitLab-Nutzer Leseberechtigung besitzt.

Der wichtigste Sicherheitsaspekt ist der Schreibzugriff: Über add_commit kann der Agent direkt Code in einen Branch schreiben, über save_merge_request kann er Merge Requests öffnen und verändern, und über save_merge_request_review kann er Reviews einreichen und Merge Requests genehmigen. Diese Werkzeuge handeln stets mit den vollen Berechtigungen des authentifizierten Nutzers – inklusive Push-Rechte auf alle zugänglichen Repositories. Laut Anbieter sollten Nutzerinnen und Nutzer Prompt-Injection aktiv berücksichtigen: Anfragen in Issue-Beschreibungen, Merge-Request-Titeln oder Code-Inhalten können die Anweisungen des Agenten beeinflussen. Die Dokumentation empfiehlt ausdrücklich, MCP-Werkzeuge nur auf GitLab-Objekten zu verwenden, denen man vertraut.

Zur Risikominimierung empfiehlt sich ein dedizierter GitLab-Account oder ein Service-Account mit minimalen Projekt-Zugriffsrechten. GitLab.com-Instanzen können den MCP-Serverzugang auf Gruppen- und Instanzebene einschränken. Auf Self-Managed-Instanzen steuern Administratoren den Zugang über die Instanzkonfiguration.

Der Datenpfad verläuft vom GitLab MCP Server über den verbundenen KI-Client (z. B. Claude, Cursor) zum Sprachmodell des jeweiligen Anbieters. GitLab-Daten, die als Werkzeugresultat zurückgegeben werden, können in die Modellkontext-Anfragen des Clients eingebettet sein. Welche Daten an das Modell weitergegeben werden, entscheidet der Client, nicht der GitLab MCP Server.

Verfügbarkeit und Lizenz

Der GitLab MCP Server steht laut Anbieter für alle GitLab-Tiers zur Verfügung: Free, Premium und Ultimate – sowohl auf GitLab.com als auch auf Self-Managed- und GitLab-Dedicated-Instanzen. Der Status ist Beta; der Anbieter weist darauf hin, dass sich der Funktionsumfang noch ändern kann. Da der Server in die GitLab-Anwendung integriert ist und kein separates Repository veröffentlicht wurde, gibt es keinen eigenen GitHub-Stern-Zähler oder eine externe Open-Source-Lizenz für diesen spezifischen Dienst. GitLab selbst ist unter der MIT-Expat-Lizenz (Community Edition) lizenziert. Für den Produktiveinsatz sollten Teams Token-Laufzeiten, OAuth-Anwendungsregistrierungen, Audit-Logs in GitLab und die Klassifikation ihrer Repositories vor der Anbindung überprüfen.

FAQ

Funktioniert der GitLab MCP Server mit einer selbst gehosteten GitLab-Instanz? Ja. Laut Anbieter unterstützt der Server GitLab.com, Self-Managed und GitLab Dedicated. In der Client-Konfiguration muss lediglich die eigene Instanz-URL anstelle von gitlab.com eingetragen werden.

Ist ein kostenpflichtiger GitLab-Plan erforderlich? Nein. Der MCP-Server ist laut Anbieter für alle Tier-Level verfügbar (Free, Premium, Ultimate). Bestimmte GitLab-Funktionen, auf die Werkzeuge zugreifen, können höhere Pläne erfordern, der Server selbst nicht.

Wie unterscheidet sich der GitLab MCP Server vom GitHub MCP Server? Beide sind offizielle MCP-Server der jeweiligen Plattform. Der GitHub MCP Server ist auf GitHub.com ausgerichtet und unterstützt GitHub-spezifische Konzepte (Pull Requests, GitHub Actions). Der GitLab MCP Server richtet sich an GitLab-Nutzer und unterstützt GitLab-spezifische Konzepte (Merge Requests, GitLab Pipelines, Duo Agent Platform, GitLab Dedicated). Teams mit Self-Managed-GitLab-Instanzen haben mit dem GitLab MCP Server typischerweise mehr Kontrolle über Netzwerkgrenzen und Zugriffsbeschränkungen.

Gibt es ein öffentliches Repository für den Server? Nein. Der GitLab MCP Server ist in die GitLab-Hauptanwendung integriert (Endpunkt /api/v4/mcp) und wird nicht als separates Paket veröffentlicht. Quellcode und Issues können über das offizielle GitLab-Projekt unter gitlab.com/gitlab-org/gitlab eingesehen werden.

Voraussetzungen

GitLab-Account (Free, Premium oder Ultimate); MCP-Client mit HTTP-Transport-Unterstützung (empfohlen) oder Node.js ≥20 für stdio via mcp-remote. MCP-Zugriff muss auf Gruppen- oder Instanzebene erlaubt sein.

Installationsanleitung

HTTP-Transport (empfohlen): In der Client-Konfiguration den Typ "http" und die URL https://gitlab.com/api/v4/mcp (oder eigene Instanz) eintragen. Claude Code: claude mcp add --transport http GitLab https://gitlab.com/api/v4/mcp. Beim ersten Start öffnet sich ein OAuth-Browser-Dialog.

claude mcp add --transport http GitLab https://gitlab.com/api/v4/mcp

Authentifizierung

OAuth 2.0 Dynamic Client Registration. Beim ersten Verbindungsaufbau registriert der Client sich automatisch und öffnet einen Browser-Login-Dialog für die Autorisierung.

Benötigte Zugriffsrechte

Lesender und schreibender Zugriff auf alle GitLab-Ressourcen, für die der authentifizierte Nutzer Berechtigung hat. Schreibwerkzeuge (Commits, Merge Requests, Reviews, Genehmigungen) handeln mit den vollen Nutzerrechten.

Übertragene oder gespeicherte Daten

GitLab-Daten werden als Werkzeugresultate zurückgegeben und vom verbundenen KI-Client in Modellkontext-Anfragen eingebettet. Der GitLab-Server selbst leitet keine Daten direkt an Sprachmodelle weiter.

Sicherheitsrisiken

Schreibzugriff auf Code (add_commit), Merge Requests und Genehmigungen mit vollen Nutzerrechten. Prompt-Injection über Issue-/MR-Inhalte möglich. Laut Anbieter nur auf vertrauenswürdigen GitLab-Objekten nutzen. Dedizierter Service-Account mit Minimal-Rechten empfohlen.

Lizenz und Kosten

Lizenz
Noch nicht erfasst.
Kosten
kostenlos

Laut Anbieter für alle GitLab-Tiers kostenlos nutzbar (Free, Premium, Ultimate). Kosten entstehen ausschließlich durch den gewählten GitLab-Plan sowie den verwendeten KI-Client. Aktuelle Preisinfos auf gitlab.com/pricing.

Alternativen

Noch nicht erfasst.

Auf einen Blick

Anbieter
GitLab
Status
Offizieller Server
Betriebsart
Remote
Aktuelle Version
Noch nicht erfasst.
Zuletzt geprüft
08.09.2026

Repository und Dokumentation

Kategorien

Unterstützte Clients