Skip to main content
Glama

Fortschrittlicher GitLab MCP-Server

npm version npm downloads License Release Coverage Coverage Report

Fortschrittlicher GitLab MCP-Server – 44 Tools für 18 Entitätstypen mit CQRS-Architektur, OAuth 2.1 und mehreren Transportmodi.

Install in Claude Desktop Install in VS Code Install in VS Code Insiders

Schnellstart

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": ["-y", "@structured-world/gitlab-mcp"],
      "env": {
        "GITLAB_TOKEN": "your_gitlab_token",
        "GITLAB_API_URL": "https://gitlab.com"
      }
    }
  }
}

Voraussetzungen: Node.js >= 24

Related MCP server: gitlab-mcp

Highlights

  • 44 Tools für 18 Entitätstypen – Projekte, Merge Requests, Pipelines, Arbeitselemente, Wiki und mehr

  • CQRS-Architektur – browse_* für Abfragen, manage_* für Befehle

  • Verbindungsstabilität – Begrenzter Start, automatische Wiederverbindung mit exponentiellem Backoff, getrennter Modus, wenn GitLab nicht erreichbar ist

  • Multi-Instanz-Unterstützung – Verbindung zu mehreren GitLab-Instanzen mit instanzspezifischem OAuth und Ratenbegrenzung

  • Mehrere Transportwege – stdio, SSE, StreamableHTTP

  • OAuth 2.1 – Benutzerbezogene Authentifizierung über Claude Custom Connector

  • Schreibgeschützter Modus – Sicherer Betrieb für Produktionsumgebungen

  • Automatische Erkennung – Erkennt GitLab-Konfiguration aus Git-Remotes

  • Feingranulare Steuerung – Tool-Gruppen aktivieren/deaktivieren, Aktionen filtern, Beschreibungen anpassen

  • Docker-Unterstützung – ghcr.io/structured-world/gitlab-mcp:latest

Dokumentation

Die vollständige Dokumentation finden Sie unter gitlab-mcp.sw.foundation

Abschnitt

Beschreibung

Installation

npm, Docker, VS Code, Codex

Konfiguration

Umgebungsvariablen, Feature-Flags

Multi-Instanz

Verbindung zu mehreren GitLab-Instanzen

Tool-Referenz

Alle 44 Tools mit Parametern

OAuth-Einrichtung

Team-Authentifizierung mit Claude

TLS/HTTPS

Produktionsbereitstellung mit SSL

Anpassung

Tool-Beschreibungen, Aktionsfilterung

CLI-Tools

Tool-Dokumentation durchsuchen und exportieren

Automatisch generierte Tool-Referenz

Für die vollständige Tool-Referenz mit Parametern:

# View locally
yarn list-tools --detail

# Generate documentation
yarn list-tools --export --toc > docs/tools/api-reference.md

Siehe die Vollständige API-Referenz für die automatisch generierte Tool-Dokumentation.

Docker

# HTTP mode
docker run -e PORT=3002 -e GITLAB_TOKEN=your_token -p 3333:3002 \
  ghcr.io/structured-world/gitlab-mcp:latest

# stdio mode
docker run -i --rm -e GITLAB_TOKEN=your_token \
  ghcr.io/structured-world/gitlab-mcp:latest

Verbindungsstabilität

Der Server geht elegant mit Problemen bei der GitLab-Konnektivität um:

  • Begrenzter Start – Der Server startet innerhalb von GITLAB_INIT_TIMEOUT_MS (Standard 5s), unabhängig von der Verfügbarkeit von GitLab

  • Getrennter Modus – Wenn GitLab nicht erreichbar ist (Status disconnected/failed), wird nur das Tool manage_context bereitgestellt, mit lokalen Aktionen wie whoami, switch_profile und set_scope zur Diagnose. Während einer aktiven Wiederverbindung (Status connecting) bleibt die vollständige Tool-Liste verfügbar, damit MCP-Clients während kurzer Ausfälle ihren Tool-Katalog nicht verlieren. MCP-Clients werden über tools/list_changed über Änderungen der Tool-Verfügbarkeit benachrichtigt.

  • Automatische Wiederverbindung – Wiederverbindung mit exponentiellem Backoff (5s → 60s) mit ±10% Jitter

  • Fehlerklassifizierung – Vorübergehende Fehler (Netzwerk, 5xx, Timeouts) lösen eine automatische Wiederverbindung aus. Authentifizierungs-/Konfigurationsfehler beim Start führen zum Status failed (keine automatische Wiederverbindung). Ein Widerruf des Tokens während einer Sitzung wird über eine authentifizierte HEAD /api/v4/user-Prüfung erkannt, die neben jeder periodischen Gesundheitsprüfung läuft (nur im statischen Token-Modus; im OAuth-Modus übersprungen). Ein 401 oder 403 bei dieser Prüfung versetzt die Instanz sofort in den Status failed.

  • Instanz-Gesundheitsmonitor – Jede überwachte Instanz-URL hat ihre eigene XState-Zustandsmaschine. Nicht verfolgte OAuth-URLs werden derzeit als erreichbar durchgereicht.

Variable

Standard

Beschreibung

GITLAB_INIT_TIMEOUT_MS

5000

Maximale Wartezeit auf GitLab beim Start

GITLAB_RECONNECT_BASE_DELAY_MS

5000

Anfängliche Verzögerung bei Wiederverbindung (verdoppelt sich bei jedem Versuch)

GITLAB_RECONNECT_MAX_DELAY_MS

60000

Maximale Verzögerung bei Wiederverbindung

GITLAB_HEALTH_CHECK_INTERVAL_MS

60000

Intervall für Gesundheitsprüfungen bei bestehender Verbindung

GITLAB_FAILURE_THRESHOLD

3

Anzahl aufeinanderfolgender vorübergehender Fehler vor der Trennung

GITLAB_TOOL_TIMEOUT_MS

120000

Maximale Zeit für die Ausführung von Tools/Bootstrap vor einem Timeout

GITLAB_RESPONSE_WRITE_TIMEOUT_MS

10000

Maximale Zeit zum Leeren einer Nicht-SSE-Antwort vor dem Beenden einer Zombie-Verbindung (0 zum Deaktivieren; SSE verwendet Heartbeat)

GITLAB_INSTANCE_CACHE_MAX

100

Maximale Anzahl der im Speicher gehaltenen Instanzzustände pro URL (OAuth Multi-Tenant; LRU-Verdrängung bei Überschreitung)

GITLAB_INSTANCE_TTL_MS

3600000

TTL für inaktive Instanzzustände pro URL in ms; Verdrängung beim nächsten Einfügen (OAuth Multi-Tenant)

Feature-Flags

Flag

Standard

Aktivierte Tools

USE_LABELS

true

Label-Verwaltung

USE_MRS

true

Merge Requests

USE_FILES

true

Dateioperationen

USE_VARIABLES

true

CI/CD-Variablen

USE_WORKITEMS

true

Issues, Epics, Aufgaben

USE_WEBHOOKS

true

Webhook-Verwaltung

USE_SNIPPETS

true

Code-Snippets

USE_INTEGRATIONS

true

50+ Integrationen

USE_GITLAB_WIKI

true

Wiki-Seiten

USE_MILESTONE

true

Milestones

USE_PIPELINE

true

Pipelines & CI/CD

USE_RELEASES

true

Release-Verwaltung

USE_REFS

true

Branch- & Tag-Verwaltung

USE_MEMBERS

true

Teammitglieder

USE_SEARCH

true

Projektübergreifende Suche

USE_ITERATIONS

true

Iterationsplanung (Sprints)

Mitwirken

Siehe CONTRIBUTING.md für Informationen zur Entwicklungseinrichtung, zum Testen und zu PR-Richtlinien.

Unterstützen Sie das Projekt

USDT TRC-20 Spenden-QR-Code

USDT (TRC-20): TFDsezHa1cBkoeZT5q2T49Wp66K8t2DmdA

Lizenz

Apache License 2.0 – siehe LICENSE für Details.

Basierend auf zereight/gitlab-mcp (MIT). Siehe LICENSE.MIT.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Production-ready MCP server providing GitLab integration with OAuth authentication, enabling AI assistants to manage projects, issues, merge requests, branches, files, and commits across GitLab instances.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for interacting with GitLab API, supporting both self-hosted instances and gitlab.com. Provides tools for managing issues, merge requests, code review, pipelines, milestones, releases, search, and file access.
    370 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Model Context Protocol (MCP) server for GitLab — exposes 1006 GitLab REST & GraphQL API operations as MCP tools (42 meta-tools / 57 enterprise), 24 resources, 38 prompts, and 17 completion types for AI assistants. Written in Go, single static binary, stdio and HTTP transport.
    2
    44
    MIT