Servidor MCP de Docker Explorer
📋 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
Python 3.10 o superior
Paquetes de Python necesarios:
requests
,pydantic
Configuración
Clonar este repositorio :
Crear un entorno virtual :
Instalar dependencias :
O instalar paquetes individuales:
💻 Uso
Ejecución del servidor
Puede ejecutar el servidor directamente desde la línea de comandos:
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:
Actualizar la configuración de Claude Desktop :
Abra o cree el archivo
claude_desktop_config.json
en su directorio de configuración de Claude DesktopAgregar la configuración del servidor Docker Explorer
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
Buscar imágenes de Docker :
Can you search for Python Docker images?Obtener detalles de la imagen :
What are the details of the python:3.11-slim image?Encuentra las etiquetas disponibles :
What tags are available for the nginx image?
Herramientas avanzadas
Escáner de seguridad :
Scan the security of the nginx imageOptimizador de tamaño de imagen :
How can I reduce the size of my python:3.9 image?Generador de Docker Compose :
Generate a docker-compose file for nginx with port 8080:80Analizador de tiempo de ejecución de contenedores :
Analyze the runtime behavior of mysql:5.7 as a database
👷 Desarrollo
Estructura del proyecto
Añadiendo nuevas funciones
Para agregar una nueva herramienta al servidor MCP de Docker Explorer:
Implemente la función de herramienta en
docker_explorer.py
usando el decorador de herramientas MCP:
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
Pruebas manuales :
Ejecute el servidor:
python docker_explorer.py
Pruebe con Claude Desktop haciendo preguntas relevantes
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 Dockerlimit
(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 Dockertag_pattern
(cadena, predeterminado=""): Patrón con el que hacer coincidir las etiquetaslimit
(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 Dockertag
(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 Dockertag
(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 Hubtag
(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 Hubtag
(cadena, predeterminada="última"): etiqueta de la imagen de Dockerport_mapping
(cadena, predeterminado=""): Asignación de puerto opcional (por ejemplo, '8080:80')environment_variables
(cadena, valor predeterminado=""): Variables de entorno opcionalesinclude_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 Dockertag
(cadena, predeterminada="última"): etiqueta de la imagen de Dockerapp_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.
This server cannot be installed
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.
Related MCP Servers
- AsecurityAlicenseAqualityA powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.Last updated -4390MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables Docker container management through natural language interactions using a custom GPT interface.Last updated -12
- -securityAlicense-qualityA Model Context Protocol server that enables AI applications to interact with Dropbox, providing tools for file operations, metadata retrieval, searching, and account management through Dropbox's API.Last updated -4MIT License
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -331