# Docker Hub — how to use (mcp.ai)

Connect your Docker Hub account and use 24 tools for developer tools straight from your AI agent. Connect with your own API key. Docker Hub is a service provided by Docker for finding and sharing container images with your team.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_docker_hub?ms=1787293380000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `docker_hub_add_org_member`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/docker_hub`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/docker_hub/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/docker_hub/add/org/member` — Invite a user to join a Docker Hub organization. Sends an invitation email to the specified user (by Docker ID or email). The user must accept the invitation to become a member. Requires owner or admi
  - body: { org: string, role?: string, team?: string, invitee: string }
- `POST https://api.mcp.ai/api/docker_hub/create/organization` — Create a new Docker Hub organization. Note: This endpoint requires JWT authentication obtained via /v2/users/login and may have restricted access.
  - body: { company?: string, orgname: string }
- `POST https://api.mcp.ai/api/docker_hub/create/repository` — Creates a new Docker Hub repository under the specified namespace. Use this to programmatically create public or private repositories for storing Docker images. Requires proper authentication with wri
  - body: { name: string, namespace: string, is_private?: boolean, description?: string, full_description?: string }
- `POST https://api.mcp.ai/api/docker_hub/create/webhook` — Create a webhook on a Docker Hub repository to receive notifications on image push events. This is a two-step process: 1. Create the webhook with a name 2. Add a hook URL to the webhook Requires admin
  - body: { hook_url: string, namespace: string, repository: string, webhook_name: string }
- `POST https://api.mcp.ai/api/docker_hub/delete/image` — Delete one or more images from your Docker Hub namespace using the bulk delete API. IMPORTANT REQUIREMENTS: - You must own the namespace (your username or an organization you admin) - You cannot delet
  - body: { dry_run?: boolean, manifests: object[], namespace: string, ignore_warnings?: string[] }
- `POST https://api.mcp.ai/api/docker_hub/delete/organization` — Permanently deletes a Docker Hub organization. Requires owner permissions on the organization. This action is idempotent - deleting a non-existent organization returns success (404 treated as success)
  - body: { organization: string }
- `POST https://api.mcp.ai/api/docker_hub/delete/repository` — Permanently deletes a Docker Hub repository and all its images/tags. WARNING: This action is irreversible. All images, tags, and metadata will be permanently removed. This operation is idempotent - de
  - body: { namespace: string, repository: string }
- `POST https://api.mcp.ai/api/docker_hub/delete/tag` — Permanently delete a specific tag from a Docker Hub repository. Requirements: - Must have write/admin access to the repository - The namespace must be your username or an organization you belong to - 
  - body: { tag: string, namespace: string, repository: string }
- `POST https://api.mcp.ai/api/docker_hub/delete/team` — Permanently deletes a team from a Docker Hub organization. This operation is idempotent - deleting a non-existent team will succeed silently. Requires organization admin permissions. Use DOCKER_HUB_LI
  - body: { org_name: string, team_name: string }
- `POST https://api.mcp.ai/api/docker_hub/delete/webhook` — Deletes a specific webhook from a Docker Hub repository. Use this tool to remove webhook configurations from repositories you own or have admin access to. This is useful for cleaning up outdated, misc
  - body: { namespace: string, repository: string, webhook_id: integer }
- `POST https://api.mcp.ai/api/docker_hub/get/image` — Retrieve details about a specific platform-specific image variant by its digest. This tool searches through repository tags to find and return metadata for an image matching the specified SHA256 diges
  - body: { digest: string, namespace: string, repository: string }
- `POST https://api.mcp.ai/api/docker_hub/get/repository` — Retrieves detailed information about a specific Docker Hub repository. Use this to get repository metadata including description, star/pull counts, permissions, and configuration. Works with both publ
  - body: { namespace: string, repository: string }
- `POST https://api.mcp.ai/api/docker_hub/get/tag` — Tool to retrieve details of a specific Docker Hub repository tag. Use after confirming the namespace, repository, and tag name.
  - body: { tag: string, namespace: string, repository: string }
- `POST https://api.mcp.ai/api/docker_hub/get/team` — Retrieve details of a specific team (group) within a Docker Hub organization. Returns the team's ID, name, and description. Requires organization membership with appropriate permissions to view team d
  - body: { org_name: string, team_name: string }
- `POST https://api.mcp.ai/api/docker_hub/get/webhook` — Retrieves details of a specific Docker Hub webhook by its ID. Use this tool when you need to inspect an existing webhook's configuration, including its target URL, configured events, and active status
  - body: { namespace: string, repository: string, webhook_id: integer }
- `POST https://api.mcp.ai/api/docker_hub/list/org/access/tokens` — Tool to list all organization access tokens for a Docker Hub organization. Use when you need to view or audit access tokens associated with an organization. Requires appropriate organization permissio
  - body: { name: string, page?: integer, page_size?: integer }
- `POST https://api.mcp.ai/api/docker_hub/list/org/members` — Lists members of a Docker Hub organization with their roles and details. Use this tool to: - Audit organization membership - View member roles (owner, member) - Check team assignments for members - Ex
  - body: { org: string, page?: integer, page_size?: integer }
- `POST https://api.mcp.ai/api/docker_hub/list/organizations` — List Docker Hub organizations that the authenticated user belongs to. Returns a paginated list of organizations with details like name, company, and badge status; some metadata fields may be absent — 
  - body: { page?: integer, page_size?: integer }
- `POST https://api.mcp.ai/api/docker_hub/list/repositories` — Tool to list repositories under a namespace. Use when you need to enumerate repositories within a specific Docker Hub namespace, with optional filtering and pagination.
  - body: { page?: integer, ordering?: string, namespace: string, page_size?: integer, media_types?: string, content_types?: string }
- `POST https://api.mcp.ai/api/docker_hub/list/team/members` — List members of a Docker Hub team (group) within an organization. Returns a paginated list of team members with their user details. Requires organization membership with appropriate permissions to vie
  - body: { page?: integer, search?: string, org_name: string, page_size?: integer, team_name: string }
- `POST https://api.mcp.ai/api/docker_hub/list/teams` — List all teams (groups) within a Docker Hub organization. Requires organization membership with appropriate permissions. Teams in Docker Hub are called 'groups' in the API.
  - body: { page?: integer, page_size?: integer, organization: string }
- `POST https://api.mcp.ai/api/docker_hub/list/webhooks` — Lists all webhooks configured for a Docker Hub repository. Use this tool to retrieve webhook configurations for repositories you own or have admin access to. Webhooks are triggered when specific event
  - body: { page?: integer, namespace: string, page_size?: integer, repository: string }
- `POST https://api.mcp.ai/api/docker_hub/remove/org/member` — Remove a member from a Docker Hub organization. This action revokes the user's access to the organization and all its repositories. Requires organization admin privileges. The operation is idempotent 
  - body: { org_name: string, username: string }
- `POST https://api.mcp.ai/api/docker_hub/remove/team/member` — Remove a user from a Docker Hub organization team (group). Use this action to revoke a user's membership from a specific team. The operation is idempotent - removing a user who is not a member will su
  - body: { org_name: string, username: string, team_slug: string }

## Example prompts
- "What can I do in Docker Hub?"
- "Show me a summary of my Docker Hub account"

## More
- Page: https://mcp.ai/docker_hub
- Agent spec (llms.txt): https://mcp.ai/docker_hub/llms.txt
- Postman collection: https://mcp.ai/docker_hub/postman.json
