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
- SDK de Python para MCP
- 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 Desktop - Agregar la configuración del servidor Docker Explorer
- Abra o cree el archivo
- 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 :
- Obtener detalles de la imagen :
- Encuentra las etiquetas disponibles :
Herramientas avanzadas
- Escáner de seguridad :
- Optimizador de tamaño de imagen :
- Generador de Docker Compose :
- Analizador de tiempo de ejecución de contenedores :
👷 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
- Ejecute el servidor:
- 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 -4160PythonMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables Docker container management through natural language interactions using a custom GPT interface.Last updated -77TypeScript
- -securityFlicense-qualityA 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 -462Python
- -securityFlicense-qualityA 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 -275JavaScript