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
create_or_update_fileErstellen oder Aktualisieren einer einzelnen Datei in einem Projekt
Eingänge:
project_id(Zeichenfolge): Projekt-ID oder URL-codierter Pfadfile_path(Zeichenfolge): Pfad, in dem die Datei erstellt/aktualisiert werden sollcontent(string): Inhalt der Dateicommit_message(Zeichenfolge): Commit-Nachrichtbranch(Zeichenfolge): Branch zum Erstellen/Aktualisieren der Datei inprevious_path(optionale Zeichenfolge): Pfad der zu verschiebenden/umzubenennenden Datei
Gibt zurück: Dateiinhalt und Commit-Details
push_filesPushen Sie mehrere Dateien in einem einzigen Commit
Eingänge:
project_id(Zeichenfolge): Projekt-ID oder URL-codierter Pfadbranch(Zeichenfolge): Zweig, zu dem gepusht werden sollfiles(Array): Zu pushende Dateien, jeweils mitfile_pathundcontentcommit_message(Zeichenfolge): Commit-Nachricht
Rückgabe: Aktualisierte Zweigstellenreferenz
search_repositoriesSuche nach GitLab-Projekten
Eingänge:
search(Zeichenfolge): Suchanfragepage(optionale Zahl): Seitenzahl für die Paginierungper_page(optionale Zahl): Ergebnisse pro Seite (Standard 20)
Rückgabe: Projektsuchergebnisse
create_repositoryErstellen Sie ein neues GitLab-Projekt
Eingänge:
name(Zeichenfolge): Projektnamedescription(optionale Zeichenfolge): Projektbeschreibungvisibility(optionale Zeichenfolge): „privat“, „intern“ oder „öffentlich“initialize_with_readme(optionaler Boolescher Wert): Initialisieren mit README
Rückgabe: Erstellte Projektdetails
get_file_contentsInhalte einer Datei oder eines Verzeichnisses abrufen
Eingänge:
project_id(Zeichenfolge): Projekt-ID oder URL-codierter Pfadfile_path(Zeichenfolge): Pfad zur Datei/zum Verzeichnisref(optionale Zeichenfolge): Branch/Tag/Commit, aus dem Inhalte abgerufen werden sollen
Rückgabe: Datei-/Verzeichnisinhalt
create_issueNeues Problem erstellen
Eingänge:
project_id(Zeichenfolge): Projekt-ID oder URL-codierter Pfadtitle(Zeichenfolge): Titel der Ausgabedescription(optionale Zeichenfolge): Problembeschreibungassignee_ids(optional number[]): Zuzuweisende Benutzer-IDslabels(optional string[]): Hinzuzufügende Labelsmilestone_id(optionale Zahl): Meilenstein-ID
Retouren: Details zum erstellten Problem
create_merge_requestErstellen einer neuen Zusammenführungsanforderung
Eingänge:
project_id(Zeichenfolge): Projekt-ID oder URL-codierter Pfadtitle(Zeichenfolge): MR-Titeldescription(optionale Zeichenfolge): MR-Beschreibungsource_branch(Zeichenfolge): Zweig mit Änderungentarget_branch(Zeichenfolge): Zweig, in den zusammengeführt werden solldraft(optionaler Boolescher Wert): Als MR-Entwurf erstellenallow_collaboration(optionaler Boolescher Wert): Erlaube Commits von Upstream-Mitgliedern
Rückgabe: Details der erstellten Zusammenführungsanforderung
fork_repositoryEin Projekt forken
Eingänge:
project_id(Zeichenfolge): Projekt-ID oder URL-codierter Pfadnamespace(optionale Zeichenfolge): Namespace, in den verzweigt werden soll
Rückgabe: Details zum gegabelten Projekt
create_branchErstellen Sie einen neuen Zweig
Eingänge:
project_id(Zeichenfolge): Projekt-ID oder URL-codierter Pfadbranch(Zeichenfolge): Name für neuen Zweigref(optionale Zeichenfolge): Quellzweig/Commit für neuen Zweig
Rückgabe: Erstellte Zweigreferenz
Related MCP server: GitHub MCP Server Plus
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:
apifür vollständigen API-Zugriffread_apifür schreibgeschützten Zugriffread_repositoryundwrite_repositoryfü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
mcpSchlüssel in der Datei.vscode/mcp.jsonnicht 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äßighttps://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.
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.