Skip to content

mcp-server-docker

Docker-Server aus der Community: 19 Tools für Container, Images, Netzwerke und Volumes, ohne Nur-Lese-Modus und mit Zugriff auf Root-Niveau.

Getestet von Sheela · Aktualisiert

Einrichtung Open Source

Unsere Bewertung

3.3/5

Ein ordentlicher Docker-Server für eine Wegwerfmaschine, doch er gibt einem Agenten Kontrolle über den Host auf Root-Niveau, ohne Nur-Lese-Modus, und der Maintainer hat auf zwei Sicherheitsmeldungen nicht reagiert.

Was ist mcp-server-docker?

mcp-server-docker, geschrieben von Christian Kreiling (GitHub-Nutzer ckreiling) und unter demselben Namen auf PyPI veröffentlicht, lässt einen Agenten eine Docker-Engine über das Python Docker SDK verwalten. Es stellt 19 Tools für Container, Images, Netzwerke und Volumes bereit, zwei Ressourcenvorlagen für Container-Logs und Live-Statistiken sowie einen docker_compose-Prompt, mit dem das Modell eine Gruppe gelabelter Container im Stil von Terraform plant und anwendet. Es läuft nur über stdio.

Es verbindet sich über die Methode from_env des Docker SDK, nutzt also standardmäßig den lokalen Socket unter /var/run/docker.sock und berücksichtigt DOCKER_HOST, DOCKER_TLS_VERIFY und DOCKER_CERT_PATH. Setzt du DOCKER_HOST auf eine ssh://-URL, erreichst du eine entfernte Engine per SSH, eingeführt mit v0.2.0 im Mai 2025. docker-compose.yml-Dateien liest oder bearbeitet es nicht, und es gibt kein Tool, um per exec in einen laufenden Container zu wechseln; ein Pull Request, der eines hinzufügt, ist seit Juli 2025 offen.

Das Repo steht unter GPL-3.0 und hat rund 750 GitHub-Sterne und 98 Forks. Es gibt ein einziges GitHub-Release, v0.3.0 vom 7. August 2026, mit dem es auf Version 2 des MCP Python SDK umgestellt wurde; davor war das letzte PyPI-Release 0.2.1 im Juni 2025. Das Paket wurde im Monat bis zum 28. Oktober etwa 7.900 Mal heruntergeladen. In der offiziellen MCP-Registry ist es nicht gelistet.

Verwechsle es nicht mit docker/mcp-gateway, Dockers eigenem MCP Toolkit, das MCP-Server aus Dockers Katalog in Containern ausführt, statt einen Agenten deine Container verwalten zu lassen. QuantGeekDev/docker-mcp, das in manchen Übersichten noch empfohlen wird, hat seit dem 14. Dezember 2024 keinen Commit mehr erhalten.

mcp-server-docker installieren

uvx mcp-server-docker

Lohnt sich mcp-server-docker?

Zugriff auf den Docker-Socket ist Zugriff auf den Host, und dieser Server reicht ihn vollständig an das Modell weiter. Dockers eigener Sicherheitsleitfaden sagt, dass nur vertrauenswürdige Nutzer den Daemon steuern sollten, weil ein Container das Root-Verzeichnis des Hosts einbinden und uneingeschränkt verändern kann; die Installationsdokumentation sagt, dass die Gruppe docker Rechte auf Root-Niveau gewährt. Das README des Servers vermerkt, dass er --privileged und Capability-Flags ablehnt, doch das volumes-Argument von create_container, run_container und recreate_container nimmt jeden beliebigen Host-Pfad an. Ein per Prompt Injection manipulierter Agent kann also einen Container anfordern, in dem / unter /host eingebunden ist oder der Docker-Socket selbst, und erreicht ohne eines der beiden Flags dasselbe.

Einschränken lässt sich das nicht. Von den 19 Tools lesen fünf (list_containers, list_images, list_networks, list_volumes und fetch_container_logs), die übrigen 14 schreiben: Container erstellen, ausführen, starten, stoppen und neu erstellen; Images ziehen, pushen, bauen und entfernen; Netzwerke und Volumes erstellen und entfernen. Der Server setzt MCP-Tool-Annotationen und markiert fünf Tools zum Entfernen und Neuerstellen als destruktiv, damit Clients eine Bestätigung verlangen können, aber er hat kein Nur-Lese-Flag, keine Allow-List und keine Einschränkungen für Mounts. Ein offener Pull Request vom März 2026 würde Mounts von /proc, /sys, /dev und Runtime-Sockets blockieren; er wurde nicht gemergt.

Die Eingaben, die ein Agent liest, sind zugleich die, die ein Angreifer kontrolliert. Container-Logs, Image-Labels und die Zustandsblöcke der List-Tools fließen alle zurück ins Modell, sodass eine Logzeile in einem Container, den du aus einer öffentlichen Registry gezogen hast, ein plausibler Weg für eine Injection ist. Laut einer im April 2026 eingereichten Anfrage zur Offenlegung hatte der Melder im März Details zu Zugriff auf das Host-Dateisystem und Container-Ausbruch per E-Mail geschickt und keine Antwort erhalten; eine zweite Anfrage nach einem privaten Sicherheitskontakt wurde am 26. Oktober eingereicht. Es wurden keine GitHub Security Advisories veröffentlicht.

Die Wartung ist langsam, aber nicht tot. Das Release vom August 2026 war eine sorgfältige Neufassung auf Basis des Python SDK in Version 2 mit Tests für jedes Tool, kam aber 14 Monate nach dem vorherigen, und 39 Issues und Pull Requests sind offen, 15 davon Pull Requests, darunter Korrekturen für unbegrenzte Log-Ausgabe und ein list_containers-Ergebnis, das ein Nutzer bei 22 Containern mit etwa 103 KB gemessen hat. Paramiko, das für SSH genutzt wird, ist auf eine Version unter 4.0 festgelegt, was laut einem offenen Issue einen bekannten Sicherheitshinweis ungepatcht lässt.

Die SSH-Unterstützung ist das Merkmal, das ihn davon abhebt, die Docker-CLI über ein Shell-Tool auszuführen, und der Plan-and-Apply-Prompt ist ein durchdachtes Detail. Am grundlegenden Kompromiss ändert beides nichts: Er eignet sich für eine Wegwerf-VM oder einen eigenen Docker-Host, auf dem nichts liegt, was sich zu stehlen lohnt, und der Kubernetes-Server mit seinen Modi für Nur-Lesen und Allow-Lists ist der besser abgesicherte Weg, einen Agenten an gemeinsam genutzte Infrastruktur zu lassen.

Wo es sich lohnt

  • Ein Entwickler, der auf einer übrigen Linux-VM selbst gehostete Apps ausprobiert

    WordPress und einen MySQL-Container anhand einer Beschreibung in normaler Sprache hochfahren

    Den docker_compose-Prompt mit einem Projektnamen aufrufen; das Modell schlägt einen Plan vor, wartet auf apply und ruft dann run_container und create_volume mit einem Projekt-Label auf, damit es die Gruppe später fortsetzen oder abreißen kann. Kostenlos, und auf einer VM, die du neu aufsetzen kannst, kostet der Zugriff auf Root-Niveau wenig.

  • Ein Solo-Gründer, der eine Marketing-Website auf einem gemieteten Docker-Host betreibt

    Aus einem Chatfenster prüfen, warum der Container der Website ständig neu startet, und ihn neu starten

    DOCKER_HOST auf ssh://user@host setzen, dann kann der Agent mit list_containers die Neustartzähler und mit fetch_container_logs die letzten 100 Logzeilen lesen. Dieselbe Sitzung kann aber auch Volumes entfernen oder das Host-Dateisystem einbinden, deshalb gehört sie auf einen Host, auf dem nichts außer dieser Website liegt.

  • Eine Plattformverantwortliche in einem Unternehmen mit 30 Beschäftigten, die prüft, welche MCP-Server das Team installieren darf

    Entscheiden, ob der Docker-Server auf Entwickler-Laptops akzeptabel ist

    Die Antwort hängt am Socket: Unter Linux kann jeder Tool-Aufruf einen Container erstellen, der das Home-Verzeichnis oder / einbindet, und der Server hat keinen Schalter, der das verhindert. Eine Richtlinie, die ihn auf eine separate VM oder einen rootless Docker-Daemon beschränkt, ist günstiger, als jeden Prompt zu prüfen.

Bevor du dich festlegst

Einrichtung
uvx mcp-server-docker zur Client-Konfiguration hinzufügen (das README dokumentiert Claude Desktop); nötig sind uv und Python 3.12 oder neuer. Ein Dockerfile liegt bei, aber das Image baust du selbst und bindest /var/run/docker.sock ein. Wenn docker ps für deinen Nutzer funktioniert, klappt der erste Tool-Aufruf in Minuten.
Integrationen
19 Tools: fünf schreibgeschützte (list_containers, list_images, list_networks, list_volumes, fetch_container_logs) und 14 schreibende, von run_container und recreate_container bis build_image, push_image und remove_volume. Zwei Ressourcen liefern Container-Logs und Statistiken; ein Prompt, docker_compose, führt eine Plan-and-Apply-Schleife über gelabelte Ressourcen aus.
Daten und Datenschutz
Es kann alles, was der Docker-Daemon kann, und das ist bei einer Standardinstallation Root auf dem Host, per SSH dasselbe auf dem entfernten Host. Logs, Labels und Container-Zustand aus nicht vertrauenswürdigen Images erreichen das Modell. Alles läuft lokal; es sind keine Sicherheitshinweise veröffentlicht, und zwei öffentliche Anfragen, Schwachstellen vertraulich zu melden, sind unbeantwortet.
Kosten im großen Maßstab
Kostenlos; die Kosten sind Kontext. list_containers liefert den vollständigen Zustand auf inspect-Niveau, den ein Nutzer bei 22 Containern mit etwa 103 KB gemessen hat, und fetch_container_logs akzeptiert tail=all ohne Byte-Grenze.
Grenzen
Kein exec in laufende Container, keine Unterstützung für Docker-Compose-Dateien, kein Umgang mit Secrets (das README rät davon ab, sensible Daten zu übergeben) und keine Optionen für --privileged oder Capabilities. Nur stdio. recreate_container übernimmt die Einstellungen des alten Containers nicht.

Was gut ist

  • 19 Tools decken Container, Images, Netzwerke und Volumes ab
  • Entfernte Engines per SSH über DOCKER_HOST
  • Destruktive Tools tragen MCP-Annotationen, die Clients absichern können
  • Tests für jedes Tool seit der Neufassung in v0.3.0

Was nicht

  • Kein Nur-Lese-Modus, keine Allow-List und keine Einschränkungen für Mounts
  • Jeder Host-Pfad lässt sich einbinden, auch / und der Socket
  • Anfragen zur Offenlegung von Sicherheitslücken seit April 2026 unbeantwortet
  • Ein einziges Release in den 16 Monaten bis Oktober 2026

Am besten für

Entwickler und Homelab-Nutzer, die einen Agenten Container auf einem Wegwerf- oder eigenen Docker-Host ausführen lassen wollen, den sie ohne Bedauern neu aufsetzen würden.

Alternativen zu mcp-server-docker

mcp-server-docker: häufige Fragen

Lohnt sich mcp-server-docker?
Ein ordentlicher Docker-Server für eine Wegwerfmaschine, doch er gibt einem Agenten Kontrolle über den Host auf Root-Niveau, ohne Nur-Lese-Modus, und der Maintainer hat auf zwei Sicherheitsmeldungen nicht reagiert. Wir bewerten es mit 3.3 von 5.
Was kostet mcp-server-docker?
Kostenlos und Open Source (GPL-3.0). Du zahlst nur für die Hosts, auf denen Docker läuft.
Welche Nachteile hat mcp-server-docker?
Kein Nur-Lese-Modus, keine Allow-List und keine Einschränkungen für Mounts; Jeder Host-Pfad lässt sich einbinden, auch / und der Socket; Anfragen zur Offenlegung von Sicherheitslücken seit April 2026 unbeantwortet; Ein einziges Release in den 16 Monaten bis Oktober 2026.
Für wen eignet sich mcp-server-docker?
Entwickler und Homelab-Nutzer, die einen Agenten Container auf einem Wegwerf- oder eigenen Docker-Host ausführen lassen wollen, den sie ohne Bedauern neu aufsetzen würden.
Was kostet mcp-server-docker für ein Team oder im Produktivbetrieb?
Kostenlos; die Kosten sind Kontext. list_containers liefert den vollständigen Zustand auf inspect-Niveau, den ein Nutzer bei 22 Containern mit etwa 103 KB gemessen hat, und fetch_container_logs akzeptiert tail=all ohne Byte-Grenze.
Ist mcp-server-docker sicher für Firmendaten?
Es kann alles, was der Docker-Daemon kann, und das ist bei einer Standardinstallation Root auf dem Host, per SSH dasselbe auf dem entfernten Host. Logs, Labels und Container-Zustand aus nicht vertrauenswürdigen Images erreichen das Modell. Alles läuft lokal; es sind keine Sicherheitshinweise veröffentlicht, und zwei öffentliche Anfragen, Schwachstellen vertraulich zu melden, sind unbeantwortet.
Was sind die besten Alternativen zu mcp-server-docker?
Die nächsten Alternativen, die wir getestet haben, sind MCP Server Kubernetes, Filesystem (reference server) und Terraform MCP Server.

Antworten geprüft am 28. Okt. 2026.