Hub MCP logo

Hub MCP

by docker

Searches Docker Hub and manages repositories through MCP, with optional PAT authentication for private operations.

Install Hub MCP

Pick your client, then add it in one click or paste the config.

Streamable HTTP (Remote)
Server URL
https://docs.docker.com/ai/gordon/mcp/yaml/

Remote servers are added in the app, not the config file: Customize → Connectors → Add custom connector, then paste this URL.

Overview

The docker/hub-mcp MCP server exposes Docker Hub search and repository-management operations through MCP tools. It runs as a Node.js application over stdio by default, or over HTTP with configurable binding and request authentication. Public Docker Hub content is available without credentials; a Docker Hub PAT and username enable repository management. Reach for it when an agent needs to discover images, inspect namespaces and repositories, or create and update Docker Hub repositories.

Use cases

  • Search Docker Hub images by architecture and operating system
  • Inspect repositories across a Docker Hub namespace
  • Check whether an image tag exists before using it
  • Create and update Docker Hub repositories from an MCP client

Key features

  • Docker Hub Search V4 queries
  • Namespace and repository listing
  • Repository and tag existence checks
  • Repository creation and metadata updates
  • stdio and HTTP MCP transports
  • Optional PAT and bearer-token authentication

Tools35

What Hub MCP lets your agent do. Expand a tool for its parameters.

Self-reported~481 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

96/96 checks healthy over the last 14d

Supply-chain signal

2 high-severity advisories on record for this package. Most advisories affect transitive dependencies and may not be exploitable in this server's actual usage — this is a directional signal, not a security audit.

Critical 1High 1Medium 0Low 0

Scanned 8/16/2026 via OSV.dev · https://docs.docker.com/ai/gordon/mcp/yaml/ (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars170Stargazers on the source repository.
Last commit13d agoMost recent push to the default branch.
Tools exposed35Callable tools this server registers over MCP.
Directory activity54 viewsConfig copies, upvotes, and views on AllMCPs.

How Hub MCP works

What docker/hub-mcp does

The docker/hub-mcp MCP server connects MCP clients to Docker Hub APIs. It supports repository and content discovery through the Search V4 API, including filters for architectures, operating systems, image names, categories, badges, content types, reviewed extensions, ordering, sorting, and pagination.

It also exposes repository-management operations. Agents can list namespaces associated with the authenticated user, enumerate repositories in a namespace, retrieve repository details, check whether repositories or tags exist, create repositories, and update repository information.

How it works

The application is a Node.js project that must be built before it is started. MCP clients can communicate with it through stdio, which is the default transport, or through an HTTP endpoint. Stdio is local to the process that launches the server. HTTP listens on loopback by default and accepts configuration for the port, host, allowed host values, and allowed browser origins.

Without credentials, the docker/hub-mcp MCP server can query public Docker Hub content. Repository operations require a Docker Hub Personal Access Token supplied through HUB_PAT_TOKEN; the corresponding Docker Hub username is passed as a startup option. HTTP mode has a separate protection mechanism: MCP_AUTH_TOKEN can require a bearer token on each MCP request. The server also validates host and browser-origin values in HTTP mode.

Setup and configuration

Install Docker and Node.js 22 or newer. From a checkout of the project, install dependencies and build the application:

Terminal
npm install
npm run build

Start the compiled server with:

Terminal
npm start -- --transport=stdio

For HTTP transport, use options such as --transport=http, --port=3000, and --host=127.0.0.1. When exposing HTTP beyond loopback, configure MCP_AUTH_TOKEN and the relevant --allowed-hosts or --allowed-origins values. The --allow-unauthenticated option disables HTTP authentication and should only be used on an isolated, trusted network.

Claude Desktop can launch the built dist/index.js file with Node and --transport=stdio. Authenticated configurations add HUB_PAT_TOKEN and a --username argument. Docker Ask Gordon can also be configured as an MCP client using a Docker build and a gordon-mcp.yml service definition.

Tools and capabilities

The docker/hub-mcp MCP server provides tools for:

  • Searching Docker Hub content with query, filter, sort, and pagination parameters.
  • Listing user namespaces and repositories within a namespace.
  • Reading repository metadata and checking repository or tag existence.
  • Creating repositories with optional request-body data.
  • Updating repository information.

Search supports filters including architecture, operating system, image name, category, badge, repository type, media type, and content type.

Limitations and notes

Public queries do not require a PAT, but repository management does. HTTP mode dispatches calls using the server operator’s Docker Hub identity, so exposing the endpoint without authentication can allow reachable clients to perform that identity’s permitted actions, including repository changes.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Hub MCP

Clone the project, run `npm install`, build it with `npm run build`, then start it with `npm start -- --transport=stdio`. Node.js 22 or newer is required.

Yes. Claude Desktop can launch the built `dist/index.js` file with Node and the `--transport=stdio` argument.

Yes. The server can query public Docker Hub content without credentials.

Set `HUB_PAT_TOKEN` to a Docker Hub Personal Access Token and pass the associated username with the `--username` startup option.

Set `MCP_AUTH_TOKEN` and send it as a bearer token on each request. Keep the default loopback binding or configure allowed hosts and origins when exposing the endpoint.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewHub MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/docker-hub-mcp?style=directory)](https://allmcps.com/mcp/docker-hub-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/docker-hub-mcp"><img src="https://allmcps.com/api/badge/docker-hub-mcp?style=directory" alt="Hub MCP on AllMCPs" /></a>