Docker Hub MCP Server 是 Docker 官方开发的模型上下文协议服务器,它将 Docker Hub API 接口暴露给大语言模型,实现智能的容器镜像发现和仓库管理。开发者可以通过自然语言搜索 Docker Hub、管理仓库、发现合适的容器镜像,无需手动搜索,极大提升容器化开发的效率。
工具列表
search
查询 Docker Hub 仓库,支持架构、操作系统、类别等多种过滤器。可以搜索官方镜像、社区镜像、认证发布者镜像等,帮助快速找到符合需求的容器镜像。
参数:
query(string) (必需): 搜索关键词,如镜像名称、技术栈或用途architectures(array) (可选): 架构过滤器,如 [‘amd64’, ‘arm64’]operating_systems(array) (可选): 操作系统过滤器,如 [‘linux’, ‘windows’]categories(array) (可选): 类别过滤器,如 [‘database’, ‘web-server’]image_type(string) (可选): 镜像类型过滤器
get_namespaces
检索用户所属的所有命名空间列表。命名空间用于组织和管理 Docker Hub 上的仓库,通常对应个人账户或组织。
参数:
list_repositories_by_namespace
列出指定命名空间下的所有仓库,支持过滤和分页选项。可以查看仓库的星标数、拉取次数、最后更新时间等元数据。
参数:
namespace(string) (必需): 命名空间名称,如个人用户名或组织名page(number) (可选): 分页页码,默认为 1page_size(number) (可选): 每页结果数量,默认为 25filter(string) (可选): 可选的仓库名称过滤器
get_repository_info
检索特定仓库的详细信息,包括完整描述、README 内容、使用说明、支持的标签、下载统计等。
参数:
namespace(string) (必需): 命名空间名称repository(string) (必需): 仓库名称
check_repository
验证仓库是否存在,快速检查仓库可用性,避免尝试访问不存在的仓库。
参数:
namespace(string) (必需): 命名空间名称repository(string) (必需): 仓库名称
create_repository
在指定命名空间中创建新的仓库。支持设置仓库描述、可见性(公开/私有)等属性。
参数:
namespace(string) (必需): 命名空间名称repository(string) (必需): 新仓库名称description(string) (可选): 仓库描述is_private(boolean) (可选): 是否为私有仓库,默认 falsefull_description(string) (可选): 完整描述(Markdown 格式)
update_repository_info
修改仓库的元数据,如更新描述、README 内容、可见性设置等。
参数:
namespace(string) (必需): 命名空间名称repository(string) (必需): 仓库名称description(string) (可选): 新的简短描述full_description(string) (可选): 新的完整描述(Markdown)is_private(boolean) (可选): 更新可见性设置
list_repository_tags
显示仓库的所有标签(版本),支持按架构和操作系统过滤。可以查看每个标签的大小、构建时间、支持的平台等详细信息。
参数:
namespace(string) (必需): 命名空间名称repository(string) (必需): 仓库名称page(number) (可选): 分页页码page_size(number) (可选): 每页标签数量architecture(string) (可选): 架构过滤器,如 ‘amd64’ 或 ‘arm64’os(string) (可选): 操作系统过滤器,如 ‘linux’
check_repository_tag
验证特定标签是否存在,确认标签可用性,避免拉取不存在的镜像版本。
参数:
namespace(string) (必需): 命名空间名称repository(string) (必需): 仓库名称tag(string) (必需): 标签名称,如 ‘latest’、’v1.0.0’
read_repository_tag
获取标签的详细信息,包括镜像清单、层信息、摘要、大小、构建日期等技术细节。
参数:
namespace(string) (必需): 命名空间名称repository(string) (必需): 仓库名称tag(string) (必需): 标签名称
docker_hardened_images
查询指定命名空间中的 Docker 加固镜像(Docker Hardened Images)。这些是经过安全加固和优化的官方镜像,适用于生产环境。
参数:
namespace(string) (必需): 命名空间名称
配置示例
Public Access
1 | { |
With Authentication
1 | { |
使用场景
1. AI 驱动的镜像推荐
开发者无需手动搜索 Docker Hub,只需告诉 AI 项目需求,如 ‘需要一个轻量级的 Python 3.11 镜像用于生产环境’,AI 会自动搜索并推荐官方或认证发布者的镜像,对比不同选项的大小、安全性和下载量,提供最佳选择。
2. 智能内容发现
AI 工具可以帮助快速定位合适的镜像。例如,询问 ‘找到支持 ARM64 架构的 PostgreSQL 数据库镜像’,AI 会自动应用架构过滤器搜索,返回兼容的镜像列表,极大提升多架构部署的效率。
3. 仓库自动化管理
通过自然语言管理 Docker Hub 仓库。可以创建新仓库、更新描述、设置可见性,AI 会处理所有 API 调用细节。例如,’创建一个名为 myapp-backend 的私有仓库并添加使用说明’,AI 会自动完成所有配置。
4. 标签版本跟踪
监控镜像的版本发布情况。AI 可以列出仓库的所有标签、识别最新版本、比较不同标签的镜像大小和构建日期,帮助团队及时更新依赖的基础镜像,保持技术栈的最新状态。
5. 企业级镜像选择
在企业环境中,安全性和稳定性至关重要。AI 可以帮助查找 Docker 加固镜像(Hardened Images),这些镜像经过安全扫描、漏洞修复和性能优化,符合企业级生产环境的严格要求。
6. 跨架构部署规划
规划多架构部署时,AI 可以检查镜像是否支持目标架构(如 amd64、arm64、arm/v7)。自动识别跨平台兼容性问题,建议替代方案或多架构构建策略,确保应用在不同硬件平台上正常运行。
7. 私有仓库访问
配置 Docker Personal Access Token 后,AI 可以访问和管理私有仓库,支持企业内部镜像的管理、团队协作和权限控制,将 Docker Hub 的私有镜像管理集成到 AI 辅助工作流中。
安装指南
前置要求
- Docker(已安装)
- Node.js(版本 22 或更高)
- 可选:Docker Personal Access Token(用于私有仓库)
安装步骤
- 克隆或下载 docker-hub-mcp-server 仓库
- 在项目目录运行 npm install 安装依赖
- 运行 npm run build 构建项目
- 启动服务器:npm start – [–transport=http|stdio] [–port=3000]
- 配置 Claude Desktop:编辑 claude_desktop_config.json
- 添加服务器配置,指定 node 命令和 dist/index.js 路径
- 可选:添加 –username 和 HUB_PAT_TOKEN 环境变量以访问私有仓库
- 重启 Claude Desktop 使配置生效
项目信息
- 源码仓库: https://github.com/docker/hub-mcp
- 许可证: Apache-2.0
- 开发语言: TypeScript
- GitHub Stars: 150