Docker Hub MCP 服务器

Docker Hub MCP 服务器是一个模型上下文协议(MCP)服务器,它与 Docker Hub API 接口,使丰富的镜像元数据可供 LLM 访问,从而实现智能内容发现和仓库管理。使用容器,尤其是在 AI 和 LLM 驱动的工作流程中进行开发的开发人员,经常面临 Docker Hub 镜像的广阔领域中上下文不足的问题。因此,LLM 难以推荐正确的镜像,开发人员则花费时间手动搜索而不是进行构建。

关键特性

  • 高级 LLM 上下文:Docker 的 MCP 服务器为 LLM 提供详细、结构化的 Docker Hub 镜像上下文,为开发人员提供更智能、更相关的建议,无论他们是选择基础镜像还是自动化 CI/CD 工作流程。
  • 自然语言镜像发现:开发人员可以使用自然语言查找正确的容器镜像,无需记住标签或仓库名称。只需描述您的需求,Docker Hub 将返回符合您意图的镜像。
  • 简化仓库管理:Hub MCP 服务器使代理能够通过自然语言管理仓库,快速轻松地获取镜像详细信息、查看统计信息、搜索内容和执行关键操作。

安装 Docker Hub MCP 服务器

  1. 在 **MCP 工具包**菜单中,选择**目录**选项卡并搜索 **Docker Hub**,然后选择加号图标以添加 Docker Hub MCP 服务器。

  2. 在服务器的**配置**选项卡中,插入您的 Docker Hub 用户名和个人访问令牌(PAT)。

  3. 在 MCP 工具包的**客户端**选项卡中,确保 Gordon 已连接。

  4. 在**咨询 Gordon**菜单中,您现在可以根据 Docker Hub MCP 服务器提供的工具发送与您的 Docker Hub 账户相关的请求。要测试它,请咨询 Gordon

    What repositories are in my namespace?
提示

默认情况下,Gordon 客户端已启用,这意味着 Gordon 可以自动与您的 MCP 服务器进行交互。

使用 Claude Desktop 作为客户端

  1. 将 Docker Hub MCP 服务器配置添加到您的 claude_desktop_config.json

    {
      "mcpServers": {
        "docker-hub": {
          "command": "node",
          "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
        }
      }
    }

    其中

    • /FULL/PATH/TO/YOUR/docker-hub-mcp-server 是您克隆仓库的完整路径
    {
      "mcpServers": {
        "docker-hub": {
          "command": "node",
          "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio", "--username=YOUR_DOCKER_HUB_USERNAME"],
          "env": {
            "HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN"
          }
        }
      }
    }

    其中

    • YOUR_DOCKER_HUB_USERNAME 是您的 Docker Hub 用户名。
    • YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN 是 Docker Hub 个人访问令牌
    • /FULL/PATH/TO/YOUR/docker-hub-mcp-server 是您克隆仓库的完整路径
  2. 保存配置文件并完全重启 Claude Desktop 以使更改生效。

在 Visual Studio Code 中使用

  1. 将 Docker Hub MCP 服务器配置添加到 Visual Studio Code 中的用户设置 (JSON) 文件。您可以通过打开`命令面板`并输入`首选项:打开用户设置 (JSON)`来完成此操作。

    {
      "mcpServers": {
        "docker-hub": {
          "command": "node",
          "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
        }
      }
    }

    其中

    • /FULL/PATH/TO/YOUR/docker-hub-mcp-server 是您克隆仓库的完整路径
    {
      "mcpServers": {
        "docker-hub": {
          "command": "node",
          "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"],
          "env": {
            "HUB_USERNAME": "YOUR_DOCKER_HUB_USERNAME",
            "HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN"
          }
        }
      }
    }

    其中

    • YOUR_DOCKER_HUB_USERNAME 是您的 Docker Hub 用户名。
    • YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN 是 Docker Hub 个人访问令牌
    • /FULL/PATH/TO/YOUR/docker-hub-mcp-server 是您克隆仓库的完整路径
  2. 打开`命令面板`并输入`MCP: 列出服务器`。

  3. 选择 docker-hub 并选择 启动服务器

使用其他客户端

要将 Docker Hub MCP 服务器集成到您自己的开发环境中,请参阅 hub-mcp GitHub 仓库上的源代码和安装说明。

使用示例

本节提供了使用 Docker Hub 工具进行常见操作的面向任务的示例。

查找镜像

# Search for official images
$ docker ai "Search for official nginx images on Docker Hub"

# Search for lightweight images to reduce deployment size and improve performance
$ docker ai "Search for minimal Node.js images with small footprint"

# Get the most recent tag of a base image
$ docker ai "Show me the latest tag details for go"

# Find a production-ready database with enterprise features and reliability
$ docker ai "Search for production ready database images"

# Compare Ubuntu versions to choose the right one for my project
$ docker ai "Help me find the right Ubuntu version for my project"

仓库管理

# Create a repository
$ docker ai "Create a repository in my namespace"

# List all repositories in my namespace
$ docker ai "List all repositories in my namespace"

# Find the largest repository in my namespace
$ docker ai "Which of my repositories takes up the most space?"

# Find repositories that haven't been updated recently
$ docker ai "Which of my repositories haven't had any pushes in the last 60 days?"

# Find which repositories are currently active and being used
$ docker ai "Show me my most recently updated repositories"

# Get details about a repository
$ docker ai "Show me information about my '<repository-name>' repository"

拉取/推送镜像

# Pull latest PostgreSQL version
$ docker ai "Pull the latest postgres image"

# Push image to your Docker Hub repository
$ docker ai "Push my <image-name> to my <repository-name> repository"

标签管理

# List all tags for a repository
$ $ docker ai "Show me all tags for my '<repository-name>' repository"

# Find the most recently pushed tag
$ docker ai "What's the most recent tag pushed to my '<repository-name>' repository?"

# List tags with architecture filtering
$ docker ai "List tags for in the '<repository-name>' repository that support amd64 architecture"

# Get detailed information about a specific tag
$ docker ai "Show me details about the '<tag-name>' tag in the '<repository-name>' repository"

# Check if a specific tag exists
$ docker ai "Check if version 'v1.2.0' exists for my 'my-web-app' repository"

Docker 安全强化镜像

# List available hardened images
$ docker ai "What is the most secure image I can use to run a node.js application?"

# Convert Dockerfile to use a hardened image
$ docker ai "Can you help me update my Dockerfile to use a docker hardened image instead of the current one"
注意

访问 Docker 强化镜像需要订阅。如果您有兴趣使用 Docker 强化镜像,请访问 Docker 强化镜像

参考

本节提供了 Docker Hub MCP 服务器中所有可用工具的完整列表。

Docker Hub MCP 服务器工具

用于与您的 Docker 仓库交互并在 Docker Hub 上发现内容的工具。

名称描述
check-repository检查仓库
check-repository-tag检查仓库标签
check-repository-tags检查仓库标签
create-repository创建新仓库
docker-hardened-images列出指定命名空间中可用的 Docker 强化镜像
get-namespaces获取用户的组织/命名空间
get-repository-dockerfile获取仓库的 Dockerfile
get-repository-info获取仓库信息
list-repositories-by-namespace列出命名空间下的仓库
list-repository-tags列出仓库标签
read-repository-tag读取仓库标签
搜索在 Docker Hub 上搜索内容
set-repository-dockerfile设置仓库的 Dockerfile
update-repository-info更新仓库信息
© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.