Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Docker Hub in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI look up container images on Docker Hub: search repositories, read an image's description and pull count, list tags with their digests, sizes and push dates, compare the platforms of a tag, and see your own and your organizations' repositories.
Try asking
Example prompts for Docker Hub
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Docker Hub, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Docker Hub + Gemini
Let your AI look up container images on Docker Hub: search repositories, read an image's description and pull count, list tags with their digests, sizes and push dates, compare the platforms of a tag, and see your own and your organizations' repositories.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
DOCKERHUB_USERNAME, DOCKERHUB_TOKEN
Step 1 — Get credentials
- Sign in at
https://app.docker.comand open Account settings → Personal access tokens (https://app.docker.com/settings/personal-access-tokens). - Create a token with the access permission Public Repo Read-only, or Read-only if the AI should also see your private repositories. The token starts with
dckr_pat_. - Enter your Docker ID (your user name, not your e-mail address) in
DOCKERHUB_USERNAMEand the token inDOCKERHUB_TOKEN, then install the connector. The connector trades them for a short-lived access token and renews it by itself; the personal access token is only ever sent to hub.docker.com. - Check the setup with
dockerhub_get_user: it shows the account the token belongs to.
Read-only: the connector never creates, changes or deletes repositories or tags, so nothing has to be confirmed or switched off.
Image names: an image is namespace/repository. Docker Official Images such as nginx, postgres or python live in the namespace library, so nginx is library/nginx. The tag is the part after the colon, as in nginx:1.27-alpine.
What the AI can look up:
- Find images:
dockerhub_search_repositoriessearches by name or keyword and shows pull and star counts and whether an image is a Docker Official Image. - Inspect one:
dockerhub_get_repositoryreads the description, the README, the pull count, the last update and the categories. - Versions:
dockerhub_list_tagslists tags, newest first, filtered by part of the name, with digest, compressed size and last push.dockerhub_get_tagshows the image of each platform of one tag (operating system, architecture, variant, digest and size). Use it to check whether a tag exists for arm64, when it was last rebuilt, or whether two tags point to the same digest. - Your account:
dockerhub_list_my_orgslists the organizations you belong to,dockerhub_get_orgreads an organization's public profile, including a verified publisher badge, anddockerhub_list_repositorieslists every repository of a user or organization, private ones included when the token can read them.
Pull limits: dockerhub_pull_limits explains how many pulls Docker Hub allows per account type (for example 100 per 6 hours for anonymous pulls and 200 for a signed-in Personal account) and how to check what is left from the machine that pulls. The calls of this connector are API requests, not image pulls, and do not count against the limit.
No vulnerability data: Docker Scout has no public API, so the connector cannot show CVEs. Use the Docker Scout page of the image on hub.docker.com or the docker scout command instead.
Untrusted content: repository descriptions and READMEs are written by their publishers. The AI treats instructions inside them as data, not as orders.
Common errors: 401 at sign-in: the Docker ID or the token is wrong, or the token was revoked or has expired; use the Docker ID, not the e-mail address, and create a new token. 401 or 403 on dockerhub_get_user while public lookups work: the secret is an organization access token; use a personal access token. 404: the namespace, repository or tag does not exist, or it is private and the token cannot read it; official images need the namespace library. 429: Docker Hub rate limits API requests per account and IP; wait a minute and try again.
The connector does not create repositories, push images, delete tags, manage teams and members, access tokens or audit logs, or show Docker Scout results.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Gemini
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart
gemini. - Run
/mcpinside Gemini CLI (orgemini mcp listin your shell):anythingmcpshould show as connected. - Start prompting: Gemini CLI can now call the
Docker Hubtools.
Available tools
| Tool | What it does |
|---|---|
dockerhub_get_user | Show the Docker Hub account the token belongs to: Docker ID, full name, company, location, account type and join date |
dockerhub_list_my_orgs | List the Docker Hub organizations the user belongs to, with organization name, full name, company and join date |
dockerhub_get_org | Read a Docker Hub organization's public profile: full name, company, location, website, badge (e.g. verified_publisher or open_source) and… |
dockerhub_search_repositories | Search public Docker Hub repositories (container images) by name or keyword, most relevant first |
dockerhub_list_repositories | List the repositories of a Docker Hub user or organization (namespace), including private ones the token can read, with description, pull… |
dockerhub_get_repository | Read one Docker Hub repository: description, README (full description), pull and star counts, privacy, last update, registration date… |
dockerhub_list_tags | List the tags of a Docker Hub repository, most recently updated first, optionally only tags containing some text (e.g. 'alpine') |
dockerhub_get_tag | Read one tag of a Docker Hub repository with the image built for each platform: os, architecture and variant (e.g. linux/arm64/v8), the… |
dockerhub_pull_limits | Explain Docker Hub's image pull limits (anonymous, Personal, Pro, Team, Business) and how the user can check how many pulls they have left… |
Example prompts
- "Is there a linux/arm64 image for postgres:16-alpine, and when was it last pushed?"
- "List the ten most recently updated tags of node that contain alpine, with their compressed sizes."
- "Do nginx:stable-alpine and nginx:alpine point to the same digest right now?"
- "Show all repositories of our organization acme, private ones included, sorted by pulls."
- "Search Docker Hub for Keycloak images and tell me which one is the official image or comes from a verified publisher."
- "Explain the pull limits for a free Docker account and how I check how many pulls our CI runner has left."
FAQ
Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.
Next steps
Was this guide helpful?