Docker Hub MCP Server

Máy chủ MCP cho thống kê hình ảnh Docker Hub. Không yêu cầu khóa API.

GitHubDùng thử MCP nàyĐược tài trợ

Tài liệu

Docker Hub MCP Server

A Model Context Protocol (MCP) server for querying Docker Hub image statistics. Provides pull counts, star counts, descriptions, official/verified status, and publisher catalogs through the public Docker Hub API — no API key required.

Features

  • get_image_stats(image) — single image metadata (pulls, stars, last_updated, description, is_official, is_verified)
  • search_images(query, limit) — keyword search across Docker Hub
  • batch_image_stats(images) — concurrent lookup for up to 100 images
  • get_publisher_images(publisher, limit) — catalog all images from a namespace (e.g. library, bitnami, grafana)

Installation

uv (recommended)

uvx docker-hub-mcp

pip

pip install docker-hub-mcp
docker-hub-mcp

Configuration

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "docker-hub-mcp": {
      "command": "uvx",
      "args": ["docker-hub-mcp"]
    }
  }
}

Cursor / VS Code

Add to your MCP configuration:

{
  "mcpServers": {
    "docker-hub-mcp": {
      "command": "uvx",
      "args": ["docker-hub-mcp"]
    }
  }
}

Hermes Agent (MCP Gateway)

Add to ~/.hermes/gateway.yaml:

docker-hub-mcp:
  command: uvx docker-hub-mcp
  lazy_spawn: true
  timeout: 30s
  env: {}

Tools

ToolDescriptionKey Params
get_image_statsPull count, star count, last updated, description, official/verified statusimage (required) — "nginx" or "grafana/grafana"
search_imagesKeyword search, ranked resultsquery (required), limit (default 50)
batch_image_statsConcurrent lookup of up to 100 imagesimages (required, list)
get_publisher_imagesAll images in a namespacepublisher (required), limit (default 100)

Examples

# Get stats for nginx
get_image_stats({"image": "nginx"})
# → pull_count: 13.2B, star_count: 21K, is_official: true

# Search for postgres
search_images({"query": "postgres", "limit": 5})
# → ranked results with pulls, stars, official flags

# Batch compare web servers
batch_image_stats({"images": ["nginx", "httpd", "caddy", "traefik"]})

# Catalog a publisher
get_publisher_images({"publisher": "bitnami", "limit": 25})

Data Source

Uses the Docker Hub API (/v2/repositories and /v2/search).

  • Auth: None required for public data
  • Rate limit: ~4,400 requests per 6 hours (unauthenticated)

Development

git clone https://github.com/GeniusTechnoMystic/docker-hub-mcp.git
cd docker-hub-mcp
uv sync
uv run docker-hub-mcp

Run tests:

uv run pytest tests/

Related Projects

Other Docker Hub MCP servers in the ecosystem:

ProjectLanguageToolsAuthTestsInstall
docker/hub-mcp (official)TypeScript13PAT (optional)Yesnpm install
lucadruda/docker-hub-mcp-serverTypeScript49 (dynamic)PATNonenpm install
RSVINEETHA/DockerHub-MCP-ServerTypeScript8PAT (required)Nonenpm install
This one (ours)Python4None46 testsuvx / pip install

Our differentiators

  • Zero auth — no API key, no PAT, no Docker account needed. Just uvx docker-hub-mcp
  • Python ecosystem — only Python implementation. Install via pip or uvx, no Node.js needed
  • Batch operations — batch_image_stats is unique — no competitor offers concurrent multi-image lookup
  • Test coverage — 46 tests with mocked HTTP (pytest-httpx), the most thorough test suite of any Docker Hub MCP server
  • MIT license — permissive, easy to embed

When to use the alternatives

  • docker/hub-mcp — if you need repository management (create, update, delete), tag listing, or Docker Hardened Images. Requires PAT for write operations.
  • lucadruda/docker-hub-mcp-server — if you need full Docker Hub API coverage (collaborators, webhooks, stars, namespaces). Requires PAT.
  • RSVINEETHA/DockerHub-MCP-Server — minimal alternative, requires PAT.

License

MIT