mcp-gitlab-crunchtools
MCP GitLab CrunchTools
Ein sicherer MCP-Server (Model Context Protocol) für GitLab-Projekte, Merge Requests, Issues, Pipelines und Suche. Funktioniert mit jeder GitLab-Instanz (gitlab.com, selbst gehostet oder Enterprise).
Überblick
Dieser MCP-Server wurde entwickelt, um:
Standardmäßig sicher zu sein – Umfassende Bedrohungsmodellierung, Eingabevalidierung und Tokenschutz
Keine Drittanbieter-Dienste – Läuft lokal über stdio, Ihr API-Token verlässt nie Ihren Rechner
Multi-Instanz – Funktioniert mit gitlab.com, selbst gehostetem GitLab oder Enterprise-Instanzen über konfigurierbare URL
Plattformübergreifend – Funktioniert auf Linux, macOS und Windows
Automatisch aktualisiert – GitHub Actions überwachen CVEs und aktualisieren Abhängigkeiten
Containerisiert – Verfügbar unter
quay.io/crunchtools/mcp-gitlab, basierend auf dem Hummingbird Python-Basisimage
Related MCP server: gitlab-mcp-server
Namenskonvention
Komponente | Name |
GitHub-Repository | |
Container |
|
Python-Paket (PyPI) |
|
CLI-Befehl |
|
Modulimport |
|
Warum Hummingbird?
Das Container-Image basiert auf dem Hummingbird Python-Basisimage von Project Hummingbird, das Folgendes bietet:
Minimale CVE-Exposition – Mit einem minimalen Paketsatz gebaut, reduziert die Angriffsfläche erheblich
Regelmäßige Updates – Sicherheitspatches werden zeitnah angewendet
Für Python optimiert – Vorkonfigurierte Python-Umgebung mit uv-Paketmanager
Produktionsreif – Korrekte Signalbehandlung und Nicht-Root-Benutzer als Standard
Funktionen
Projektverwaltung (5 Tools)
list_projects– Projekte mit Filterung und Suche auflistenget_project– Projektdetails nach ID oder Pfad abrufenlist_project_branches– Repository-Zweige auflistenget_project_branch– Einzelnen Zweig abrufenlist_project_commits– Commits mit Datums-/Pfadfilterung auflisten
Gruppenverwaltung (3 Tools)
list_groups– Gruppen mit Filterung auflistenget_group– Gruppendetails nach ID oder Pfad abrufenlist_group_projects– Projekte in einer Gruppe auflisten (mit Untergruppen-Unterstützung)
Merge Requests (7 Tools)
list_merge_requests– MRs nach Status, Labels, Meilenstein auflistenget_merge_request– MR-Details abrufencreate_merge_request– Neuen MR erstellenupdate_merge_request– MR-Titel, Beschreibung, Status, Zugewiesene aktualisierenlist_mr_notes– Kommentare zu einem MR auflistencreate_mr_note– Kommentar zu einem MR hinzufügenget_mr_changes– Diff für einen MR abrufen
Issues (6 Tools)
list_issues– Issues nach Status, Labels, Meilenstein, Zugewiesenem auflistenget_issue– Issue-Details abrufencreate_issue– Neues Issue erstellenupdate_issue– Issue-Titel, Beschreibung, Status, Labels aktualisierenlist_issue_notes– Kommentare zu einem Issue auflistencreate_issue_note– Kommentar zu einem Issue hinzufügen
Pipelines (4 Tools)
list_pipelines– CI/CD-Pipelines mit Statusfilterung auflistenget_pipeline– Pipeline-Details abrufenlist_pipeline_jobs– Jobs in einer Pipeline auflistenget_job_log– Job-Log-Ausgabe abrufen
Suche (2 Tools)
search_global– Über alle zugänglichen GitLab-Ressourcen suchensearch_project– Innerhalb eines bestimmten Projekts suchen
Installation
Mit uvx (Empfohlen)
uvx mcp-gitlab-crunchtoolsMit pip
pip install mcp-gitlab-crunchtoolsMit Container
podman run -e GITLAB_TOKEN=your_token \
quay.io/crunchtools/mcp-gitlabKonfiguration
Umgebungsvariablen
Variable | Erforderlich | Standard | Beschreibung |
| Ja | — | Persönliches Zugriffstoken |
| Nein |
| GitLab-Instanz-URL |
Erstellen eines persönlichen GitLab-Zugriffstokens
Navigieren Sie zu Zugriffstokens
Gehen Sie zu https://gitlab.com/-/user_settings/personal_access_tokens
Oder: Avatar > Einstellungen > Zugriffstokens
Erstellen Sie ein benutzerdefiniertes Token
Name:
mcp-gitlab-crunchtoolsAblauf: Legen Sie ein geeignetes Datum fest (90 Tage empfohlen)
Bereiche: Wählen Sie Bereiche basierend auf Ihren Anforderungen
Bereichsauswahl
Bereich
Zugriffsstufe
Fähigkeiten
read_apiNur lesen
Projekte, Issues, MRs, Pipelines auflisten/anzeigen
apiVoller Zugriff
Alle Funktionen einschließlich Erstellen/Aktualisieren
Token kopieren und speichern
Kopieren Sie das Token sofort (beginnt mit
glpat-)Speichern Sie es sicher in einem Passwortmanager
Zu Claude Code hinzufügen
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
-- uvx mcp-gitlab-crunchtoolsFür selbst gehostetes GitLab:
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
--env GITLAB_URL=https://gitlab.example.com \
-- uvx mcp-gitlab-crunchtoolsFür die Container-Version:
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
-- podman run -i --rm -e GITLAB_TOKEN quay.io/crunchtools/mcp-gitlabVerwendungsbeispiele
Ihre Projekte auflisten
User: List my GitLab projects
Assistant: [calls list_projects with membership=true]Merge Requests anzeigen
User: Show open merge requests for my-org/backend
Assistant: [calls list_merge_requests with project_id="my-org/backend"]Ein Issue erstellen
User: Create an issue in my-org/backend titled "Fix login timeout"
Assistant: [calls create_issue with title="Fix login timeout"]Pipeline-Status prüfen
User: Show failed pipelines for my-org/api
Assistant: [calls list_pipelines with status="failed"]Code durchsuchen
User: Search for "authentication" in my-org/backend
Assistant: [calls search_project with scope="blobs"]Sicherheit
Dieser Server wurde mit Sicherheit als primärem Anliegen entwickelt. Siehe SECURITY.md für:
Bedrohungsmodell und Angriffsvektoren
Verteidigung in der Tiefe Architektur
Best Practices für die Token-Behandlung
Eingabevalidierungsregeln
Audit-Protokollierung
Wichtige Sicherheitsfunktionen
Tokenschutz
Als SecretStr gespeichert (wird nie versehentlich protokolliert)
Nur als Umgebungsvariable (nie in Dateien oder Argumenten)
Aus allen Fehlermeldungen bereinigt
Eingabevalidierung
Pydantic-Modelle für alle Eingaben
Allowlist-Zeichenvalidierung für Projekt-/Gruppen-IDs
Schutz vor Pfad-Traversal
API-Härtung
HTTPS-Erzwingung (außer localhost)
TLS-Zertifikatsvalidierung
Anforderungs-Timeouts (30s)
Antwortgrößenlimits (10MB)
Automatisches CVE-Scannen
GitHub Actions scannen Abhängigkeiten wöchentlich
Container-Sicherheitsscan mit Trivy
CodeQL-Analyse für Python
Entwicklung
Einrichtung
git clone https://github.com/crunchtools/mcp-gitlab.git
cd mcp-gitlab
uv syncTests ausführen
uv run pytestLint und Typprüfung
uv run ruff check src tests
uv run mypy srcContainer bauen
podman build -t mcp-gitlab .Lizenz
AGPL-3.0-or-later
Mitwirken
Beiträge sind willkommen! Bitte lesen Sie SECURITY.md, bevor Sie sicherheitsrelevante Änderungen einreichen.
Links
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceMCP 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.514MIT
- AlicenseAqualityCmaintenanceEnables interacting with GitLab repositories, merge requests, and code through natural language using MCP. Supports authentication with personal access tokens or OAuth2, and provides tools for listing projects, reading repository code, and analyzing merge request lifetimes.104MIT
- Flicense-qualityCmaintenanceExposes the GitLab REST API to MCP clients for managing projects, issues, merge requests, repositories, and CI/CD pipelines. It is multi-tenant, allowing each user to authenticate with their own token and instance URL.
- FlicenseAqualityDmaintenanceEnables LLMs to interact with GitLab via MCP, providing access to issues, merge requests, pipelines, and repository files for browsing, searching, and reading details.19
Related MCP Connectors
GitLab Public MCP — wraps the GitLab REST API v4 (public endpoints, no auth)
Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/crunchtools/mcp-gitlab'
If you have feedback or need assistance with the MCP directory API, please join our Discord server