Compartir comentarios
Las respuestas se generan en base a la documentación.

Servidor MCP de Docker Hub

El servidor MCP de Docker Hub es un servidor de Model Context Protocol (MCP) que se conecta con las API de Docker Hub para hacer que los metadatos detallados de las imágenes sean accesibles para los LLM, lo que permite un descubrimiento inteligente de contenido y una gestión de repositorios eficiente.

Para obtener más información sobre los conceptos de MCP y cómo funcionan los servidores MCP, consulta la página de descripción general del Catálogo y kit de herramientas de Docker MCP.

Características principales

  • Contexto avanzado para LLM: el servidor MCP de Docker proporciona a los LLM un contexto estructurado y detallado para las imágenes de Docker Hub, lo que permite recomendaciones más inteligentes y relevantes para los desarrolladores, ya sea que estén eligiendo una imagen base o automatizando flujos de trabajo de CI/CD.
  • Descubrimiento de imágenes mediante lenguaje natural: los desarrolladores pueden encontrar la imagen de contenedor adecuada utilizando lenguaje natural, sin necesidad de recordar etiquetas ni nombres de repositorios. Solo describe lo que necesitas y Docker Hub devolverá las imágenes que coincidan con tu intención.
  • Gestión de repositorios simplificada: el servidor MCP de Hub permite a los agentes gestionar repositorios a través de lenguaje natural, obteniendo detalles de imágenes, viendo estadísticas, buscando contenido y realizando operaciones clave de forma rápida y sencilla.

Instalar el servidor MCP de Docker Hub

  1. En el menú de MCP Toolkit, selecciona la pestaña Catalog, busca Docker Hub y selecciona el icono de suma para añadir el servidor MCP de Docker Hub.

  2. En la pestaña Configuration del servidor, introduce tu nombre de usuario de Docker Hub y un token de acceso personal (PAT).

  3. En la pestaña Clients de MCP Toolkit, asegúrate de que Gordon esté conectado.

  4. Desde el menú de Gordon, ahora puedes enviar solicitudes relacionadas con tu cuenta de Docker Hub, de acuerdo con las herramientas proporcionadas por el servidor MCP de Docker Hub. Para probarlo, pregúntale a Gordon:

    ¿Qué repositorios hay en mi espacio de nombres?
Tip

Por defecto, el cliente Gordon está habilitado, lo que significa que Gordon puede interactuar automáticamente con tus servidores MCP.

Usar Claude Desktop como cliente

  1. Añade la configuración del servidor MCP de Docker Hub a tu archivo claude_desktop_config.json:

    {
      "mcpServers": {
        "docker-hub": {
          "command": "node",
          "args": [
            "/RUTA/COMPLETA/A/TU/docker-hub-mcp-server/dist/index.js",
            "--transport=stdio"
          ]
        }
      }
    }

    Donde:

    • /RUTA/COMPLETA/A/TU/docker-hub-mcp-server es la ruta completa donde clonaste el repositorio
    {
      "mcpServers": {
        "docker-hub": {
          "command": "node",
          "args": [
            "/RUTA/COMPLETA/A/TU/docker-hub-mcp-server/dist/index.js",
            "--transport=stdio",
            "--username=TU_USUARIO_DOCKER_HUB"
          ],
          "env": {
            "HUB_PAT_TOKEN": "TU_TOKEN_DE_ACCESO_PERSONAL_DOCKER_HUB"
          }
        }
      }
    }

    Donde:

    • TU_USUARIO_DOCKER_HUB es tu nombre de usuario de Docker Hub.
    • TU_TOKEN_DE_ACCESO_PERSONAL_DOCKER_HUB es tu token de acceso personal de Docker Hub.
    • /RUTA/COMPLETA/A/TU/docker-hub-mcp-server es la ruta completa donde clonaste el repositorio
  2. Guarda el archivo de configuración y reinicia completamente Claude Desktop para que los cambios surtan efecto.

Uso con Visual Studio Code

  1. Añade la configuración del servidor MCP de Docker Hub al archivo de configuración de usuario (JSON) en Visual Studio Code. Puedes hacerlo abriendo la paleta de comandos (Command Palette) y escribiendo Preferences: Open User Settings (JSON).

    {
      "mcpServers": {
        "docker-hub": {
          "command": "node",
          "args": [
            "/RUTA/COMPLETA/A/TU/docker-hub-mcp-server/dist/index.js",
            "--transport=stdio"
          ]
        }
      }
    }

    Donde:

    • /RUTA/COMPLETA/A/TU/docker-hub-mcp-server es la ruta completa donde clonaste el repositorio
    {
      "mcpServers": {
        "docker-hub": {
          "command": "node",
          "args": [
            "/RUTA/COMPLETA/A/TU/docker-hub-mcp-server/dist/index.js",
            "--transport=stdio"
          ],
          "env": {
            "HUB_USERNAME": "TU_USUARIO_DOCKER_HUB",
            "HUB_PAT_TOKEN": "TU_TOKEN_DE_ACCESO_PERSONAL_DOCKER_HUB"
          }
        }
      }
    }

    Donde:

    • TU_USUARIO_DOCKER_HUB es tu nombre de usuario de Docker Hub.
    • TU_TOKEN_DE_ACCESO_PERSONAL_DOCKER_HUB es tu token de acceso personal de Docker Hub.
    • /RUTA/COMPLETA/A/TU/docker-hub-mcp-server es la ruta completa donde clonaste el repositorio
  2. Abre la paleta de comandos (Command Palette) y escribe MCP: List Servers.

  3. Selecciona docker-hub y selecciona Start Server.

Uso de otros clientes

Para integrar el servidor MCP de Docker Hub en tu propio entorno de desarrollo, consulta el código fuente y las instrucciones de instalación en el repositorio de GitHub de hub-mcp.

Ejemplos de uso

Esta sección proporciona ejemplos orientados a tareas para operaciones comunes con las herramientas de Docker Hub.

Buscar imágenes

# Buscar imágenes oficiales
$ docker ai "Busca imágenes oficiales de nginx en Docker Hub"

# Buscar imágenes ligeras para reducir el tamaño del despliegue y mejorar el rendimiento
$ docker ai "Busca imágenes minimalistas de Node.js con un tamaño reducido"

# Obtener la etiqueta más reciente de una imagen base
$ docker ai "Muéstrame los detalles de la etiqueta más reciente de go"

# Buscar una base de datos lista para producción con características empresariales y confiabilidad
$ docker ai "Busca imágenes de bases de datos listas para producción"

# Comparar versiones de Ubuntu para elegir la adecuada para mi proyecto
$ docker ai "Ayúdame a encontrar la versión correcta de Ubuntu para mi proyecto"

Gestión de repositorios

# Crear un repositorio
$ docker ai "Crea un repositorio en mi espacio de nombres"

# Listar todos los repositorios en mi espacio de nombres
$ docker ai "Lista todos los repositorios en mi espacio de nombres"

# Encontrar el repositorio más grande en mi espacio de nombres
$ docker ai "¿Cuál de mis repositorios ocupa más espacio?"

# Encontrar repositorios que no se han actualizado recientemente
$ docker ai "¿Cuáles de mis repositorios no han recibido actualizaciones en los últimos 60 días?"

# Encontrar qué repositorios están activos y en uso actualmente
$ docker ai "Muéstrame mis repositorios actualizados más recientemente"

# Obtener detalles sobre un repositorio
$ docker ai "Muéstrame información sobre mi repositorio '<repository-name>'"

Descargar/subir imágenes

# Descargar la versión más reciente de PostgreSQL
$ docker ai "Descarga la imagen más reciente de postgres"

# Subir una imagen a tu repositorio de Docker Hub
$ docker ai "Sube mi <image-name> a mi repositorio <repository-name>"

Gestión de etiquetas (tags)

# Listar todas las etiquetas de un repositorio
$ docker ai "Muéstrame todas las etiquetas de mi repositorio '<repository-name>'"

# Encontrar la etiqueta subida más recientemente
$ docker ai "¿Cuál es la etiqueta más reciente subida a mi repositorio '<repository-name>'?"

# Listar etiquetas con filtrado por arquitectura
$ docker ai "Lista las etiquetas en el repositorio '<repository-name>' que sean compatibles con la arquitectura amd64"

# Obtener información detallada sobre una específica etiqueta
$ docker ai "Muéstrame los detalles sobre la etiqueta '<tag-name>' en el repositorio '<repository-name>'"

# Comprobar si existe una etiqueta específica
$ docker ai "Comprueba si existe la versión 'v1.2.0' para mi repositorio 'my-web-app'"

Imágenes endurecidas de Docker (Docker Hardened Images)

# Listar imágenes endurecidas disponibles
$ docker ai "¿Cuál es la imagen más segura que puedo usar para ejecutar una aplicación node.js?"

# Convertir un Dockerfile para usar una imagen endurecida
$ docker ai "¿Puedes ayudarme a actualizar mi Dockerfile para usar una imagen endurecida de docker en lugar de la actual?"
Note

Para acceder a las imágenes endurecidas de Docker (Docker Hardened Images), se requiere una suscripción. Si estás interesado en usarlas, visita Docker Hardened Images.

Referencia

Esta sección proporciona una lista completa de las herramientas que puedes encontrar en el servidor MCP de Docker Hub.

Herramientas del servidor MCP de Docker Hub

Herramientas para interactuar con tus repositorios de Docker y descubrir contenido en Docker Hub.

NombreDescripción
check-repositoryComprobar repositorio
check-repository-tagComprobar etiqueta de repositorio
check-repository-tagsComprobar etiquetas de repositorio
create-repositoryCrea un repositorio nuevo
docker-hardened-imagesLista las Docker Hardened Images disponibles en el espacio de nombres especificado
get-namespacesObtiene organizaciones/espacios de nombres para un usuario
get-repository-dockerfileObtiene el Dockerfile del repositorio
get-repository-infoObtiene información del repositorio
list-repositories-by-namespaceLista los repositorios en un espacio de nombres
list-repository-tagsLista las etiquetas del repositorio
read-repository-tagLeer etiqueta de repositorio
searchBuscar contenido en Docker Hub
set-repository-dockerfileEstablece el Dockerfile del repositorio
update-repository-infoActualiza la información del repositorio