4.0 KiB
4.0 KiB
Docker Hub MCP Server
Docker Hub MCP Server 提供通过模型上下文协议(MCP)与 Docker Hub 集成的能力,实现镜像搜索、查询和管理功能。
功能特性
- 🔍 镜像搜索 - 在 Docker Hub 上搜索镜像
- 📊 镜像信息 - 获取详细的镜像信息
- 🏷️ 标签管理 - 查看镜像标签
- 📈 统计信息 - 查看下载量和星标数
- 👤 用户管理 - 管理 Docker Hub 账户
- 📝 仓库信息 - 仓库信息查询
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
DOCKERHUB_MCP_VERSION |
latest |
Docker 镜像版本 |
DOCKERHUB_MCP_PORT_OVERRIDE |
8000 |
服务端口 |
DOCKERHUB_USERNAME |
- | Docker Hub 用户名(可选,用于认证) |
DOCKERHUB_PASSWORD |
- | Docker Hub 密码(可选,用于认证) |
DOCKERHUB_TOKEN |
- | Docker Hub 访问令牌(推荐用于认证) |
TZ |
UTC |
时区 |
认证方式
该服务支持三种认证方式:
1. 无认证(公开访问)
仅能访问公开镜像和信息。
2. 用户名和密码认证
DOCKERHUB_USERNAME=your_username
DOCKERHUB_PASSWORD=your_password
3. 访问令牌认证(推荐)
DOCKERHUB_TOKEN=your_access_token
快速开始
1. 配置环境
创建 .env 文件:
无认证模式(仅公开访问)
DOCKERHUB_MCP_VERSION=latest
DOCKERHUB_MCP_PORT_OVERRIDE=8000
TZ=Asia/Shanghai
令牌认证模式(推荐)
DOCKERHUB_MCP_VERSION=latest
DOCKERHUB_MCP_PORT_OVERRIDE=8000
DOCKERHUB_TOKEN=dckr_pat_your_token_here
TZ=Asia/Shanghai
2. 获取 Docker Hub 访问令牌
- 登录 Docker Hub
- 点击头像 → Account Settings
- 导航到 Security → Access Tokens
- 点击 New Access Token
- 设置权限(推荐只读权限)
- 生成并复制令牌
3. 启动服务
docker compose up -d
4. 验证服务
curl http://localhost:8000/health
资源需求
- 最小内存:128MB
- 推荐内存:512MB
- CPU:0.25-1.0 核心
常见使用场景
- 镜像搜索 - 搜索适合项目的 Docker 镜像
- 版本查询 - 查看镜像的所有可用标签
- 依赖分析 - 分析镜像的基础镜像和依赖
- 安全检查 - 查看镜像的安全扫描报告
- 下载统计 - 查看镜像的受欢迎程度
API 功能
该 MCP 服务器提供以下主要功能:
- ✅ 搜索公开和私有镜像
- ✅ 获取镜像标签列表
- ✅ 查看镜像详细信息
- ✅ 查询仓库统计信息
- ✅ 检查镜像更新
- ✅ 查看 Dockerfiles
权限类型
只读令牌权限
推荐用于大多数查询操作:
- ✅ 搜索镜像
- ✅ 查看镜像信息
- ✅ 获取标签列表
- ❌ 推送镜像
- ❌ 删除镜像
读写令牌权限
用于管理操作:
- ✅ 所有只读操作
- ✅ 推送镜像
- ✅ 删除镜像
- ✅ 更新仓库设置
安全建议
⚠️ 重要:
- 优先使用访问令牌:比密码更安全
- 最小权限原则:只授予必要的权限
- 定期轮换:定期更新访问令牌
- 保护环境变量:不要将
.env提交到版本控制 - 监控访问:定期检查令牌使用情况
- 使用只读令牌:除非需要写权限
速率限制
Docker Hub 有 API 速率限制:
- 未认证:100 次请求 / 6 小时
- 免费账户:200 次请求 / 6 小时
- 付费账户:更高的速率限制
建议使用认证以获得更高的速率限制。
参考链接
许可证
MIT License