Skip to main content

MCP server for Docker Hub Image Stats — pulls, stars, search, batch lookup, publisher catalogs

Project description

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

Tool Description Key Params
get_image_stats Pull count, star count, last updated, description, official/verified status image (required) — "nginx" or "grafana/grafana"
search_images Keyword search, ranked results query (required), limit (default 50)
batch_image_stats Concurrent lookup of up to 100 images images (required, list)
get_publisher_images All images in a namespace publisher (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:

Project Language Tools Auth Tests Install
docker/hub-mcp (official) TypeScript 13 PAT (optional) Yes npm install
lucadruda/docker-hub-mcp-server TypeScript 49 (dynamic) PAT None npm install
RSVINEETHA/DockerHub-MCP-Server TypeScript 8 PAT (required) None npm install
This one (ours) Python 4 None 46 tests uvx / 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 operationsbatch_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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docker_hub_mcp-0.2.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docker_hub_mcp-0.2.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file docker_hub_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: docker_hub_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for docker_hub_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 3a309cb30049a0e1ae4c908de65866f0fcbf45f29884a87e0a692e51ea5f0337
MD5 449a65d4aac13127dd6983fd0abd4301
BLAKE2b-256 5ebaae1bbf0d23aa5ee457071bf4226682484d1b1b7e4bdbc3dcfcc1726ec077

See more details on using hashes here.

File details

Details for the file docker_hub_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: docker_hub_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for docker_hub_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9bd6df31fa7a9d4df3f122181b0bf3bc5b3aecbfe4dd43bf30ccc59e0911c1d3
MD5 930505d101e73357949f4a9032e1dcad
BLAKE2b-256 8e55cb655c7c81456c8ba95f97b97c5289411c9dac41af2f74b0371cf037993a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page