Skip to main content
Glama

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

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
    420
    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 -
    12
  • -
    security
    A
    license
    -
    quality
    A 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 -
    9
    MIT License
  • -
    security
    F
    license
    -
    quality
    A 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 -
    5
    2

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