Skip to main content
Glama

Docker Explorer

by jar285

🐳 Docker Explorer MCP-Server

Docker ExplorerPythonLizenz

📋 Übersicht

Docker Explorer ist ein leistungsstarker Model Context Protocol (MCP)-Server, der Tools und Ressourcen für die Interaktion mit Docker-Images, Containern und Registries bereitstellt. Dieser Server ermöglicht KI-Assistenten wie Claude die Suche, Analyse und Interaktion mit Docker-Ressourcen über eine standardisierte Schnittstelle. Dadurch wird die Verwaltung und Erkundung von Containern einfacher.

✨ Funktionen

Kernfunktionen

  • Suche nach Docker-Images in allen Registrierungen
  • Suche nach bestimmten Tags von Docker-Images
  • Suche nach Docker Hub-Benutzern/Organisationen
  • Erhalten Sie detaillierte Metadaten zu Docker-Images
  • Dockerfile-Inhalt analysieren
  • Docker-Images vergleichen

Erweiterte Tools

  • 🔒 Sicherheitsscanner : Analysieren Sie Docker-Images auf bekannte Schwachstellen und Sicherheitsprobleme
  • 📦 Bildgrößenoptimierer : Erhalten Sie Empfehlungen zur Reduzierung der Docker-Bildgröße
  • 📄 Docker Compose Generator : Generieren Sie docker-compose.yml-Dateien für Ihre Anwendungen
  • 📊 Container Runtime Analyzer : Erhalten Sie Einblicke in das Laufzeitverhalten und die Ressourcennutzung von Containern
  • 🔍 Bildvergleichstool : Vergleichen Sie zwei Docker-Bilder und heben Sie ihre Unterschiede hervor
  • 📜 Dockerfile-Generator : Erstellen Sie Dockerfiles aus Anwendungsbeschreibungen in natürlicher Sprache

🚀 Installation

Voraussetzungen

  • Python 3.10 oder höher
  • MCP Python SDK
  • Erforderliche Python-Pakete: requests , pydantic

Aufstellen

  1. Klonen Sie dieses Repository :
git clone https://github.com/yourusername/docker-mcp-server.git cd docker-mcp-server
  1. Erstellen Sie eine virtuelle Umgebung :
python -m venv .venv310 source .venv310/bin/activate # On Windows: .venv310\Scripts\activate
  1. Installieren Sie Abhängigkeiten :
pip install -r requirements.txt

Oder installieren Sie einzelne Pakete:

pip install anthropic-mcp requests pydantic

💻 Verwendung

Ausführen des Servers

Sie können den Server direkt von der Befehlszeile aus ausführen:

python docker_explorer.py

Dadurch wird der MCP-Server auf dem Standardport (5000) gestartet.

Integration mit Claude Desktop

So verwenden Sie den Docker Explorer MCP-Server mit Claude Desktop:

  1. Aktualisieren Sie die Claude Desktop-Konfiguration :
    • Öffnen oder erstellen Sie die Datei claude_desktop_config.json in Ihrem Claude Desktop-Konfigurationsverzeichnis
    • Fügen Sie die Docker Explorer-Serverkonfiguration hinzu
{ "mcp_servers": [ { "name": "docker-explorer", "command": ["python", "/path/to/mcpIS421/docker_explorer.py"], "cwd": "/path/to/mcpIS421" } ] }
  1. Starten Sie Claude Desktop neu , um die neue Konfiguration zu laden

Verwenden der Tools

Nach der Integration mit Claude Desktop können Sie die Docker Explorer-Tools verwenden, indem Sie Claude Fragen stellen wie:

Kernwerkzeuge
  1. Suche nach Docker-Images :
    Can you search for Python Docker images?
  2. Bilddetails abrufen :
    What are the details of the python:3.11-slim image?
  3. Verfügbare Tags suchen :
    What tags are available for the nginx image?
Erweiterte Tools
  1. Sicherheitsscanner :
    Scan the security of the nginx image
  2. Bildgrößenoptimierer :
    How can I reduce the size of my python:3.9 image?
  3. Docker Compose Generator :
    Generate a docker-compose file for nginx with port 8080:80
  4. Container-Laufzeitanalysator :
    Analyze the runtime behavior of mysql:5.7 as a database

👷 Entwicklung

Projektstruktur

docker-explorer-mcp/ ├── docker_explorer.py # Main server implementation with all tools ├── requirements.txt # Project dependencies ├── .gitignore # Git ignore file └── docs/ # Documentation ├── server_guide.md # Guide for setting up and using the server ├── new_tools_suggestions.md # Ideas for additional tools └── docker_mcp_server_project.md # Project overview

Neue Funktionen hinzufügen

So fügen Sie dem Docker Explorer MCP-Server ein neues Tool hinzu:

  1. Implementieren Sie die Tool-Funktion in docker_explorer.py mithilfe des MCP-Tool-Dekorators:
@mcp.tool() def my_new_tool( param1: str = Field(description="Description of param1"), param2: int = Field(default=10, description="Description of param2") ) -> str: """Description of what your tool does""" try: # Implementation logic here result = f"Your formatted result" return result except Exception as e: return f"Error in my_new_tool: {str(e)}"
  1. Befolgen Sie diese Best Practices für die Toolimplementierung:
    • Halten Sie die Ausgabe prägnant und formatiert für Claude Desktop
    • Ausnahmen ordnungsgemäß behandeln
    • Geben Sie klare Parameterbeschreibungen an
    • Liefern Sie gut strukturierte Ergebnisse

Testen

  1. Manuelles Testen :
    • Führen Sie den Server aus: python docker_explorer.py
    • Testen Sie mit Claude Desktop, indem Sie relevante Fragen stellen
  2. Debuggen :
    • Überprüfen Sie die Terminalausgabe auf etwaige Fehler
    • Überprüfen Sie die Tool-Antworten in Claude Desktop
    • Passen Sie die Ausgabeformatierung an, wenn Claude Kapazitätsbeschränkungen hat

📚 API-Dokumentation

Kernwerkzeuge

search_images
  • Beschreibung : Suche nach Docker-Images in allen Registern
  • Parameter :
    • query (Zeichenfolge): Suchanfrage für Docker-Images
    • limit (Ganzzahl, Standard=10): Maximale Anzahl der zurückzugebenden Ergebnisse
  • Gibt zurück : Liste der Docker-Images mit Metadaten
search_tags
  • Beschreibung : Suche nach bestimmten Tags eines Docker-Images
  • Parameter :
    • image_name (Zeichenfolge): Name des Docker-Images
    • tag_pattern (Zeichenfolge, Standard=""): Muster, mit dem Tags abgeglichen werden
    • limit (Ganzzahl, Standard=25): Maximale Anzahl der zurückzugebenden Ergebnisse
  • Gibt zurück : Liste der passenden Tags
get_image_details
  • Beschreibung : Erhalten Sie detaillierte Informationen zu einem Docker-Image
  • Parameter :
    • image_name (Zeichenfolge): Name des Docker-Images
    • tag (Zeichenfolge, Standard="neueste"): Tag des Docker-Images
  • Rückgaben : Detaillierte Bildinformationen

Erweiterte Tools

scan_security
  • Beschreibung : Analysieren Sie Docker-Images auf bekannte Schwachstellen und Sicherheitsprobleme
  • Parameter :
    • image_name (Zeichenfolge): Name des Docker-Images
    • tag (Zeichenfolge, Standardwert = „latest“): Tag des zu scannenden Docker-Images
  • Renditen : Sicherheitsanalysebericht mit Empfehlungen
optimize_image_size
  • Beschreibung : Analysieren Sie ein Docker-Image und schlagen Sie Möglichkeiten zur Reduzierung seiner Größe vor
  • Parameter :
    • repository_url (Zeichenfolge): Vollständige URL zu einem Docker Hub-Repository
    • tag (Zeichenfolge, Standardwert = „latest“): Tag des zu analysierenden Docker-Images
  • Rücksendungen : Empfehlungen zur Größenoptimierung
generate_docker_compose
  • Beschreibung : Generieren Sie eine docker-compose.yml-Datei basierend auf einem Image
  • Parameter :
    • repository_url (Zeichenfolge): Vollständige URL zu einem Docker Hub-Repository
    • tag (Zeichenfolge, Standard="neueste"): Tag des Docker-Images
    • port_mapping (Zeichenfolge, Standard=""): Optionale Portzuordnung (z. B. „8080:80“)
    • environment_variables (Zeichenfolge, Standard=""): Optionale Umgebungsvariablen
    • include_db (boolean, default=false): Ob ein Datenbankdienst eingeschlossen werden soll
  • Gibt zurück : Generierter docker-compose.yml-Inhalt
analyze_runtime
  • Beschreibung : Analysieren Sie, wie sich ein Container zur Laufzeit verhalten könnte
  • Parameter :
    • image_name (Zeichenfolge): Name des Docker-Images
    • tag (Zeichenfolge, Standard="neueste"): Tag des Docker-Images
    • app_type (Zeichenfolge, Standard="Web"): Anwendungstyp (Web, Datenbank, Cache, API, Batch)
  • Ergebnisse : Laufzeitanalyse mit Vorhersagen und Empfehlungen zur Ressourcennutzung
compare_images
  • Beschreibung : Vergleichen Sie zwei Docker-Images und heben Sie die Unterschiede hervor
  • Parameter :
    • image1 (Zeichenfolge): Erstes zu vergleichendes Docker-Image (z. B. „nginx:1.21“ oder „user/repo:tag“)
    • image2 (Zeichenfolge): Zweites zu vergleichendes Docker-Image (z. B. „nginx:1.22“ oder „user/repo:tag“)
  • Rückgabe : Detaillierter Vergleichsbericht, der Unterschiede in Größe, Schichten, Konfiguration und Kompatibilität hervorhebt
generate_dockerfile
  • Beschreibung : Generieren Sie eine Docker-Datei basierend auf den in natürlicher Sprache beschriebenen Anwendungsanforderungen.
  • Parameter :
    • app_description (Zeichenfolge): Beschreibung der zu containerisierenden Anwendung (z. B. „Python Flask-Web-App mit Redis“)
    • app_type (Zeichenfolge, Standard="Web"): Anwendungstyp (Web, API, Datenbank, Worker, statisch)
    • base_image (Zeichenfolge, Standard=""): Optionales zu verwendendes Basisbild (z. B. „python:3.9-alpine“)
    • include_comments (boolean, default=true): Ob erklärende Kommentare in die Docker-Datei aufgenommen werden sollen
  • Rückgabe : Generierte Docker-Datei mit Gebrauchsanweisungen

🔒 Sicherheitsüberlegungen

Der Docker Explorer MCP-Server ist für Bildungs- und Entwicklungszwecke konzipiert. Bei der Verwendung:

  • Geben Sie keine vertraulichen Anmeldeinformationen oder API-Schlüssel preis
  • Seien Sie vorsichtig beim Generieren und Ausführen von Docker Compose-Dateien
  • Überprüfen Sie vor der Implementierung immer die Sicherheitsempfehlungen

📌 Lizenz

MIT

👥 Beitragen

Beiträge sind willkommen! Senden Sie uns gerne einen Pull Request mit neuen Tools oder Verbesserungen bestehender Funktionen.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Ein Model Context Protocol-Server, der Tools für die Interaktion mit Docker-Images, -Containern und -Registrierungen bereitstellt und es KI-Assistenten ermöglicht, Docker-Ressourcen über eine standardisierte Schnittstelle zu suchen, zu analysieren und zu verwalten.

  1. 📋 Übersicht
    1. ✨ Funktionen
      1. Kernfunktionen
      2. Erweiterte Tools
    2. 🚀 Installation
      1. Voraussetzungen
      2. Aufstellen
    3. 💻 Verwendung
      1. Ausführen des Servers
      2. Integration mit Claude Desktop
      3. Verwenden der Tools
    4. 👷 Entwicklung
      1. Projektstruktur
      2. Neue Funktionen hinzufügen
      3. Testen
    5. 📚 API-Dokumentation
      1. Kernwerkzeuge
      2. Erweiterte Tools
    6. 🔒 Sicherheitsüberlegungen
      1. 📌 Lizenz
        1. 👥 Beitragen

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.
            Last updated -
            4
            160
            Python
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server that enables Docker container management through natural language interactions using a custom GPT interface.
            Last updated -
            7
            7
            TypeScript
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.
            Last updated -
            46
            2
            Python
            • Linux
            • Apple
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that connects AI assistants like Claude to Notion workspaces, enabling them to view, search, create, and update Notion databases, pages, and content blocks.
            Last updated -
            275
            JavaScript
            • Apple

          View all related MCP servers

          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/jar285/mcp-docker'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server