Skip to main content
Glama

gitlab-mcp

MCP-Server für die GitLab-API. Funktioniert mit selbst gehosteten GitLab-Instanzen und gitlab.com.

Bietet Tools für Issues, Merge Requests, Code-Reviews, Pipelines, Milestones, Releases, Suche und Dateizugriff.

Voraussetzungen

  • Node.js >= 18

  • npm

  • GitLab Personal Access Token mit api-Berechtigung

Related MCP server: GitLab MCP Server

Installation

git clone <repo-url> gitlab-mcp
cd gitlab-mcp
npm install
npm run build

Konfiguration

Erstellen Sie eine config.json im Projektstammverzeichnis:

{
  "token": "glpat-your-token-here",
  "apiUrl": "https://your-gitlab-instance.com/api/v4"
}

Für gitlab.com verwenden Sie "apiUrl": "https://gitlab.com/api/v4" oder lassen Sie das Feld komplett weg.

Alternativ können Sie Umgebungsvariablen anstelle der config.json verwenden:

export GITLAB_PERSONAL_ACCESS_TOKEN="glpat-your-token-here"
export GITLAB_API_URL="https://your-gitlab-instance.com/api/v4"

Erstellen eines GitLab-Tokens

  1. Gehen Sie zu GitLab > Einstellungen > Zugriffstoken

  2. Erstellen Sie ein Token mit api-Berechtigung

  3. Kopieren Sie das Token in die config.json

Hinzufügen zu Claude Code

Fügen Sie den Server zu Ihren Claude Code MCP-Einstellungen hinzu (~/.claude/settings.json oder projektbezogen .claude/settings.local.json):

{
  "mcpServers": {
    "gitlab": {
      "command": "node",
      "args": ["/absolute/path/to/gitlab-mcp/index.js"]
    }
  }
}

Starten Sie Claude Code neu oder führen Sie /mcp aus, um eine Verbindung herzustellen.

Verfügbare Tools

Issues

Tool

Beschreibung

gitlab_get_issue

Ruft ein einzelnes Issue nach Projekt und IID ab

gitlab_list_group_issues

Listet Issues in einer Gruppe mit Filtern auf (Status, Labels, Bearbeiter, Suche, Milestone)

gitlab_list_milestone_issues

Listet Issues in einem Milestone auf

gitlab_create_issue

Erstellt ein neues Issue

gitlab_update_issue

Aktualisiert ein Issue (Status, Titel, Beschreibung, Labels, Bearbeiter, Milestone)

gitlab_add_comment

Fügt einem Issue einen Kommentar hinzu

Merge Requests

Tool

Beschreibung

gitlab_list_merge_requests

Listet MRs mit Filtern auf (Status, Autor, Reviewer, Bearbeiter, Datum, Ziel-Branch). Das Projekt ist optional — lassen Sie es für eine projektübergreifende Suche weg.

gitlab_get_merge_request

Ruft einen einzelnen MR nach Projekt und IID ab

gitlab_get_mr_changes

Ruft das Diff / die geänderten Dateien eines MR ab

gitlab_list_mr_notes

Listet Kommentare/Notizen zu einem MR auf

gitlab_add_mr_note

Fügt einem MR einen allgemeinen Kommentar hinzu

gitlab_create_mr_discussion

Erstellt einen Inline-Diff-Kommentar zu einer bestimmten Datei und Zeile

Projekte, Milestones, Releases

Tool

Beschreibung

gitlab_list_projects

Listet Projekte in einer Gruppe auf

gitlab_list_milestones

Listet Milestones in einer Gruppe auf

gitlab_list_releases

Listet Releases für ein Projekt auf

Suche & Dateien

Tool

Beschreibung

gitlab_search

Suche innerhalb eines Projekts (Code, Issues, MRs, Commits, Notizen)

gitlab_get_file

Ruft Dateiinhalte aus einem Repository ab

gitlab_list_pipelines

Listet CI/CD-Pipelines mit Filtern auf (Status, Ref)

Generischer Ausweg

Tool

Beschreibung

gitlab_api_request

Ruft einen beliebigen GitLab REST-API-Endpunkt direkt auf. Verwenden Sie dies, wenn kein dediziertes Tool existiert. Erfordert method (GET/POST/PUT/PATCH/DELETE), path (z. B. /projects/93/merge_requests/2387/notes/74875) und optional body.

Beispiel — Bearbeiten einer bestehenden MR-Notiz:

gitlab_api_request({
  method: "PUT",
  path: "/projects/93/merge_requests/2387/notes/74875",
  body: { body: "Updated comment text" }
})

Beispielanwendung in Claude Code

> Review MR !2397 in octopus/reunion/client

Claude will use gitlab_get_merge_request, gitlab_get_mr_changes,
and gitlab_create_mr_discussion to review and leave inline comments.

Entwicklung

# Edit index.ts, then rebuild
npm run build

# Reconnect in Claude Code
/mcp

Related MCP Connectors

Related MCP Servers