Skip to main content
Glama

Docker Explorer

by jar285

Servidor MCP de Docker Explorer

Explorador de DockerPitónLicencia

📋 Descripción general

Docker Explorer es un potente servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas y recursos para interactuar con imágenes, contenedores y registros de Docker. Este servidor permite a asistentes de IA como Claude buscar, analizar e interactuar con recursos de Docker a través de una interfaz estandarizada, lo que facilita la gestión y exploración de contenedores.

✨ Características

Características principales

  • Buscar imágenes de Docker en todos los registros
  • Buscar etiquetas específicas de imágenes de Docker
  • Buscar usuarios/organizaciones de Docker Hub
  • Obtenga metadatos detallados sobre las imágenes de Docker
  • Analizar el contenido de Dockerfile
  • Comparar imágenes de Docker

Herramientas avanzadas

  • 🔒 Escáner de seguridad : analiza imágenes de Docker en busca de vulnerabilidades conocidas y problemas de seguridad
  • 📦 Optimizador de tamaño de imagen : obtenga recomendaciones para reducir el tamaño de la imagen de Docker
  • 📄 Generador de Docker Compose : genera archivos docker-compose.yml para tus aplicaciones
  • 📊 Analizador de tiempo de ejecución de contenedores : obtenga información sobre el comportamiento del tiempo de ejecución de los contenedores y el uso de recursos
  • 🔍 Herramienta de comparación de imágenes : compare dos imágenes de Docker y resalte sus diferencias
  • Generador de Dockerfiles : crea Dockerfiles a partir de descripciones de aplicaciones en lenguaje natural

🚀 Instalación

Prerrequisitos

Configuración

  1. Clonar este repositorio :
git clone https://github.com/yourusername/docker-mcp-server.git cd docker-mcp-server
  1. Crear un entorno virtual :
python -m venv .venv310 source .venv310/bin/activate # On Windows: .venv310\Scripts\activate
  1. Instalar dependencias :
pip install -r requirements.txt

O instalar paquetes individuales:

pip install anthropic-mcp requests pydantic

💻 Uso

Ejecución del servidor

Puede ejecutar el servidor directamente desde la línea de comandos:

python docker_explorer.py

Esto iniciará el servidor MCP en el puerto predeterminado (5000).

Integración con Claude Desktop

Para utilizar el servidor MCP de Docker Explorer con Claude Desktop:

  1. Actualizar la configuración de Claude Desktop :
    • Abra o cree el archivo claude_desktop_config.json en su directorio de configuración de Claude Desktop
    • Agregar la configuración del servidor Docker Explorer
{ "mcp_servers": [ { "name": "docker-explorer", "command": ["python", "/path/to/mcpIS421/docker_explorer.py"], "cwd": "/path/to/mcpIS421" } ] }
  1. Reinicie Claude Desktop para cargar la nueva configuración

Usando las herramientas

Una vez integrado con Claude Desktop, puedes usar las herramientas de Docker Explorer haciéndole a Claude preguntas como:

Herramientas principales
  1. Buscar imágenes de Docker :
    Can you search for Python Docker images?
  2. Obtener detalles de la imagen :
    What are the details of the python:3.11-slim image?
  3. Encuentra las etiquetas disponibles :
    What tags are available for the nginx image?
Herramientas avanzadas
  1. Escáner de seguridad :
    Scan the security of the nginx image
  2. Optimizador de tamaño de imagen :
    How can I reduce the size of my python:3.9 image?
  3. Generador de Docker Compose :
    Generate a docker-compose file for nginx with port 8080:80
  4. Analizador de tiempo de ejecución de contenedores :
    Analyze the runtime behavior of mysql:5.7 as a database

👷 Desarrollo

Estructura del proyecto

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

Añadiendo nuevas funciones

Para agregar una nueva herramienta al servidor MCP de Docker Explorer:

  1. Implemente la función de herramienta en docker_explorer.py usando el decorador de herramientas MCP:
@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. Siga estas prácticas recomendadas para la implementación de herramientas:
    • Mantenga la salida concisa y formateada para Claude Desktop
    • Manejar excepciones con elegancia
    • Proporcionar descripciones claras de los parámetros
    • Devolver resultados bien estructurados

Pruebas

  1. Pruebas manuales :
    • Ejecute el servidor: python docker_explorer.py
    • Pruebe con Claude Desktop haciendo preguntas relevantes
  2. Depuración :
    • Verifique la salida del terminal para detectar posibles errores
    • Verificar las respuestas de la herramienta en Claude Desktop
    • Ajuste el formato de salida si Claude tiene limitaciones de capacidad

Documentación de la API

Herramientas principales

search_images
  • Descripción : Busque imágenes de Docker en todos los registros
  • Parámetros :
    • query (cadena): consulta de búsqueda de imágenes de Docker
    • limit (entero, predeterminado=10): Número máximo de resultados a devolver
  • Devuelve : Lista de imágenes de Docker con metadatos
search_tags
  • Descripción : Busca etiquetas específicas de una imagen de Docker
  • Parámetros :
    • image_name (cadena): Nombre de la imagen de Docker
    • tag_pattern (cadena, predeterminado=""): Patrón con el que hacer coincidir las etiquetas
    • limit (entero, predeterminado=25): Número máximo de resultados a devolver
  • Devuelve : Lista de etiquetas coincidentes
get_image_details
  • Descripción : Obtenga información detallada sobre una imagen de Docker
  • Parámetros :
    • image_name (cadena): Nombre de la imagen de Docker
    • tag (cadena, predeterminada="última"): etiqueta de la imagen de Docker
  • Devoluciones : Información detallada de la imagen

Herramientas avanzadas

scan_security
  • Descripción : Analizar imágenes de Docker para detectar vulnerabilidades conocidas y problemas de seguridad.
  • Parámetros :
    • image_name (cadena): Nombre de la imagen de Docker
    • tag (cadena, predeterminada="última"): etiqueta de la imagen de Docker que se escaneará
  • Devoluciones : Informe de análisis de seguridad con recomendaciones
optimize_image_size
  • Descripción : Analizar una imagen de Docker y sugerir formas de reducir su tamaño.
  • Parámetros :
    • repository_url (cadena): URL completa a un repositorio de Docker Hub
    • tag (cadena, predeterminada="última"): etiqueta de la imagen de Docker que se analizará
  • Devoluciones : Recomendaciones de optimización de tamaño
generate_docker_compose
  • Descripción : Generar un archivo docker-compose.yml basado en una imagen
  • Parámetros :
    • repository_url (cadena): URL completa a un repositorio de Docker Hub
    • tag (cadena, predeterminada="última"): etiqueta de la imagen de Docker
    • port_mapping (cadena, predeterminado=""): Asignación de puerto opcional (por ejemplo, '8080:80')
    • environment_variables (cadena, valor predeterminado=""): Variables de entorno opcionales
    • include_db (booleano, predeterminado=falso): si se debe incluir un servicio de base de datos
  • Devuelve : contenido generado por docker-compose.yml
analyze_runtime
  • Descripción : Analizar cómo podría comportarse un contenedor en tiempo de ejecución.
  • Parámetros :
    • image_name (cadena): Nombre de la imagen de Docker
    • tag (cadena, predeterminada="última"): etiqueta de la imagen de Docker
    • app_type (string, default="web"): Tipo de aplicación (web, base de datos, caché, api, lote)
  • Devoluciones : Análisis del tiempo de ejecución con predicciones y recomendaciones sobre el uso de recursos
compare_images
  • Descripción : Compare dos imágenes de Docker y resalte las diferencias
  • Parámetros :
    • image1 (cadena): Primera imagen de Docker a comparar (por ejemplo, 'nginx:1.21' o 'user/repo:tag')
    • image2 (cadena): Segunda imagen de Docker para comparar (por ejemplo, 'nginx:1.22' o 'user/repo:tag')
  • Devoluciones : Informe comparativo detallado que destaca las diferencias en tamaño, capas, configuración y compatibilidad.
generate_dockerfile
  • Descripción : Generar un Dockerfile basado en los requisitos de la aplicación descritos en lenguaje natural.
  • Parámetros :
    • app_description (cadena): Descripción de la aplicación que se va a contener (por ejemplo, 'Aplicación web Python Flask con Redis')
    • app_type (string, default="web"): Tipo de aplicación (web, api, base de datos, trabajador, estática)
    • base_image (cadena, predeterminado=""): Imagen base opcional para usar (por ejemplo, 'python:3.9-alpine')
    • include_comments (booleano, predeterminado=verdadero): si se deben incluir comentarios explicativos en el Dockerfile
  • Devuelve : Dockerfile generado con instrucciones de uso

Consideraciones de seguridad

El servidor Docker Explorer MCP está diseñado para fines educativos y de desarrollo. Al usarlo:

  • No exponga credenciales confidenciales ni claves API
  • Tenga cuidado al generar y ejecutar archivos de Docker Compose
  • Revise siempre las recomendaciones de seguridad antes de la implementación

📌 Licencia

Instituto Tecnológico de Massachusetts (MIT)

👥 Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios con nuevas herramientas o mejoras a la funcionalidad existente.

-
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.

Un servidor de protocolo de contexto de modelo que proporciona herramientas para interactuar con imágenes, contenedores y registros de Docker, lo que permite a los asistentes de IA buscar, analizar y administrar recursos de Docker a través de una interfaz estandarizada.

  1. 📋 Descripción general
    1. ✨ Características
      1. Características principales
      2. Herramientas avanzadas
    2. 🚀 Instalación
      1. Prerrequisitos
      2. Configuración
    3. 💻 Uso
      1. Ejecución del servidor
      2. Integración con Claude Desktop
      3. Usando las herramientas
    4. 👷 Desarrollo
      1. Estructura del proyecto
      2. Añadiendo nuevas funciones
      3. Pruebas
    5. Documentación de la API
      1. Herramientas principales
      2. Herramientas avanzadas
    6. Consideraciones de seguridad
      1. 📌 Licencia
        1. 👥 Contribuyendo

          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