MCP server providing Docker Hub API access for searching and managing repositories and images.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Hub MCP.
searchSearch repositories and content using Search V4 API
querySearch query parameter (string, required)
architecturesFilter on architectures (string, optional)
badgesFilter by image content type badges (string, optional)
categoriesFilter on categories (string, optional)
extension_reviewedFilter on reviewed extensions (boolean, optional)
The Docker Hub MCP Server is a Model Context Protocol (MCP) server that interfaces with Docker Hub APIs to make them accessible to LLMs, enabling intelligent content discovery and repository management.
Developers building with containers, especially in AI and LLM-powered workflows, often face inadequate context across the vast landscape of Docker Hub images. As a result, LLMs struggle to recommend the right images, and developers lose time manually searching instead of building.
Build
Run
transport: Choose between http or stdio (default: stdio)port=3000host=127.0.0.1 (HTTP transport only)
This starts the server with default settings and can only access public Docker Hub content.[!IMPORTANT] The
httptransport binds to127.0.0.1(loopback) by default and requires authentication. See Securing the HTTP transport before exposing it to a network.
The MCP Inspector provides a web interface to test your server:
The stdio transport is only reachable by the local process that spawns it. The
http transport, however, dispatches every tool call using the server operator's
Docker Hub Personal Access Token (HUB_PAT_TOKEN). Anyone who can reach the HTTP
endpoint can therefore act as that Docker Hub identity — including creating and
modifying repositories. To prevent this, the HTTP transport is locked down by
default:
127.0.0.1 unless you pass
--host=<addr> (for example --host=0.0.0.0 to expose it from a container).http mode the server refuses to
start unless you either provide a bearer token or explicitly opt out. Set the
token via the MCP_AUTH_TOKEN environment variable; clients must then send it as
Authorization: Bearer <token> on every request.Host header
is not in the allow-list (loopback plus --host, extendable with
--allowed-hosts), or when they carry a browser Origin header that is not
listed in --allowed-origins. Non-browser MCP clients are unaffected.Run the HTTP transport with authentication:
Expose it beyond loopback (e.g. inside a container), still authenticated:
| Flag / env var | Purpose |
|---|---|
MCP_AUTH_TOKEN | Bearer token required on every /mcp request. |
--host=<addr> | Address to bind (default 127.0.0.1). |
--allowed-hosts=a,b | Extra Host header values to accept (comma-separated). |
--allowed-origins=a,b | Browser Origin values to accept (comma-separated). |
--allow-unauthenticated | Serve /mcp with no authentication. Insecure; opt-in only. |
[!WARNING]
--allow-unauthenticateddisables authentication entirely and exposes your Docker Hub PAT to any client that can reach the port. Only use it on a trusted, isolated network.
By default this MCP server can only query public content on Docker Hub. In order to manage your repositories you need to provide authentication.
You can configure Gordon to be a host that can interact with the Docker Hub MCP server.
Ask Gordon is your personal AI assistant embedded in Docker Desktop and the Docker CLI. It's designed to streamline your workflow and help you make the most of the Docker ecosystem.
You can configure Gordon to be a client that can interact with the Docker Hub MCP server.
gordon-mcp.yml file file in your working directory.gordon-mcp.yml with your Docker Hub username and a PAT token.docker build -t hub .docker aiNOTE: Make sure you have already built the application as mentioned in Step 1.
claude_desktop_config.json:NOTE: if you are using nvm to manage node versions, you should put the node binary path in the
commandproperty. This ensure MCP server runs with the right node version. You can find your binary path by runningwhich nodein your shell
/FULL/PATH/TO/YOUR/docker-hub-mcp-server - The complete path to where you cloned this repositoryReplace the following values:
YOUR_DOCKER_HUB_USERNAME - Your Docker Hub usernameYOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN - Your Docker Hub Personal Access Token/FULL/PATH/TO/YOUR/docker-hub-mcp-server - The complete path to where you cloned thisCommand Palette and typing Preferences: Open User Settings (JSON)./FULL/PATH/TO/YOUR/docker-hub-mcp-server - The complete path to where you cloned this repositoryReplace the following values:
YOUR_DOCKER_HUB_USERNAME - Your Docker Hub usernameYOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN - Your Docker Hub Personal Access Token/FULL/PATH/TO/YOUR/docker-hub-mcp-server - The complete path to where you cloned thisCommand Palette and type MCP: List Servers.docker-hub and select Start Server.Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/docker-hub-mcp)<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>