Docker intelligence →
Association is based on retained identity fields; it does not by itself prove first-party publication.
Enables LLMs to search Docker Hub repositories, discover container images, and manage Docker Hub repositories and tags through natural language queries. Supports both public content access and authenticated operations with Docker Personal Access Tokens
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
This profile has no verified local package command. Use the linked remote endpoint details below.
| Canonical slug | docker-hub-mcp-server-0fd99573 | Deployment | Local Only |
|---|---|---|---|
| Canonical package | — | Repository | docker/hub-mcp |
| First published | — | Latest release | — |
| Last security verification | Aug 25, 2026 | Classification confidence | 90% |
| Publication | Published | Official distribution | Yes |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| source_git | docker/hub-mcp | 5a7c80f57d9fc31558aebfaf3fd5dc6198aaaf30 | 1 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| source_gitdocker/hub-mcp | 5a7c80f57d9fc31558aebfaf3fd5dc6198aaaf30Current | Aug 25, 2026 | 13 toolsSucceeded · 0 resources · 0 prompts | Verified clean |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
| Provenance | immutable_git_commit | Signature | — |
|---|---|---|---|
| MCP SDK | — | Artifact SHA-256 | 347faa2120e28bc94f06586d7e66441d6ab84e83e551b1a736dabb9aa269d665 |
| Scanner | mcp-proof-engine 0.1.0 | Scan completed | Aug 25, 2026 |
| Security rating | — | Methodology | — |
| Tool | Category | Annotations | Risk |
|---|---|---|---|
checkRepositoryCheck if a repository exists in the given namespace.Input schema{
"type": "object",
"properties": {
"namespace": {
"type": "string"
},
"repository": {
"type": "string"
}
},
"required": [
"namespace",
"repository"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Check Repository Exists"
} | — | — | |
checkRepositoryTagCheck if a tag exists in a repositoryInput schema{
"type": "object",
"properties": {
"namespace": {
"type": "string"
},
"repository": {
"type": "string"
},
"tag": {
"type": "string"
}
},
"required": [
"namespace",
"repository",
"tag"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Check Repository Tag"
} | — | — | |
createRepositoryCreate a new repository in the given namespace. You MUST ask the user for the repository name and if the repository has to be public or private. Can optionally pass a description.
IMPORTANT: Before calling this tool, you must ensure you have:
The repository name (name).Input schema{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"description": "The namespace of the repository. Required."
},
"name": {
"type": "string",
"default": "",
"description": "The name of the repository (required). Must contain a combination of alphanumeric characters and may contain the special characters ., _, or -. Letters must be lowercase."
},
"description": {
"type": "string",
"description": "The description of the repository"
},
"is_private": {
"type": "boolean",
"description": "Whether the repository is private"
},
"full_description": {
"type": "string",
"maxLength": 25000,
"description": "A detailed description of the repository"
},
"registry": {
"type": "string",
"description": "The registry to create the repository in"
}
},
"required": [
"namespace"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The name of the repository"
},
"namespace": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The namespace of the repository"
},
"repository_type": {
"anyOf": [
{
"type": "string",
"enum": [
"image",
"docker engine plugin"
]
},
{
"type": "null"
}
],
"description": "The type of the repository"
},
"full_description": {
"type": [
"string",
"null"
],
"description": "The full description of the repository"
},
"immutable_tags_settings": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the repository has immutable tags"
},
"rules": {
"type": "array",
"items": {
"type": "string"
},
"description": "The rules of the immutable tags"
}
},
"required": [
"enabled",
"rules"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
],
"description": "The immutable tags settings of the repository"
},
"is_private": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the repository is private"
},
"status": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The status of the repository"
},
"status_description": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The status description of the repository"
},
"description": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The description of the repository"
},
"star_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of stars the repository has"
},
"pull_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of pulls the repository has"
},
"last_updated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The last updated date of the repository"
},
"last_modified": {
"type": [
"string",
"null"
],
"description": "The last modified date of the repository"
},
"date_registered": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The date the repository was registered"
},
"affiliation": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The affiliation of the repository"
},
"media_types": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "The media types of the repository"
},
"content_types": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "The content types of the repository"
},
"categories": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the category"
},
"slug": {
"type": "string",
"description": "The slug of the category in search engine"
}
},
"required": [
"name",
"slug"
],
"additionalProperties": false
}
}
]
},
{
"type": "null"
}
],
"description": "The categories of the repository"
},
"storage_size": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": [
"number",
"null"
]
}
]
},
{
"type": "null"
}
],
"description": "The storage size of the repository"
},
"user": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The user of the repository"
},
"hub_user": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The repository username on hub"
},
"has_starred": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the user has starred the repository"
},
"is_automated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the repository is automated"
},
"collaborator_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of collaborators on the repository. Only valid when repository_type is 'User'"
},
"permissions": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"read": {
"type": "boolean",
"description": "if user can read and pull from repository"
},
"write": {
"type": "boolean",
"description": "if user can update and push to repository"
},
"admin": {
"type": "boolean",
"description": "if user is an admin of the repository"
}
},
"required": [
"read",
"write",
"admin"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"source": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The source of the repository"
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Create Repository in namespace"
} | — | — | |
dockerHardenedImagesThis API is used to list Docker Hardened Images (DHIs) available in the user organisations. The tool takes the organisation name as input and returns the list of DHI images available in the organisation. It depends on the "listNamespaces" tool to be called first to get the list of organisations the user has access to.Input schema{
"type": "object",
"properties": {
"organisation": {
"type": "string",
"description": "The organisation for which the DHIs are listed for. If user does not explicitly ask for a specific organisation, the \"listNamespaces\" tool should be called first to get the list of organisations the user has access to."
}
},
"required": [
"organisation"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "List available Docker Hardened Images"
} | — | — | |
getPersonalNamespaceGet the personal namespace nameInput schema{
"type": "object",
"properties": {}
}Annotations{
"title": "Get Personal Namespace"
} | — | — | |
getRepositoryInfoGet the details of a repository in the given namespace.Input schema{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"description": "The namespace of the repository (required). If not provided the `library` namespace will be used for official images."
},
"repository": {
"type": "string",
"description": "The repository name (required)"
}
},
"required": [
"namespace",
"repository"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The name of the repository"
},
"namespace": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The namespace of the repository"
},
"repository_type": {
"anyOf": [
{
"type": "string",
"enum": [
"image",
"docker engine plugin"
]
},
{
"type": "null"
}
],
"description": "The type of the repository"
},
"full_description": {
"type": [
"string",
"null"
],
"description": "The full description of the repository"
},
"immutable_tags_settings": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the repository has immutable tags"
},
"rules": {
"type": "array",
"items": {
"type": "string"
},
"description": "The rules of the immutable tags"
}
},
"required": [
"enabled",
"rules"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
],
"description": "The immutable tags settings of the repository"
},
"is_private": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the repository is private"
},
"status": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The status of the repository"
},
"status_description": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The status description of the repository"
},
"description": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The description of the repository"
},
"star_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of stars the repository has"
},
"pull_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of pulls the repository has"
},
"last_updated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The last updated date of the repository"
},
"last_modified": {
"type": [
"string",
"null"
],
"description": "The last modified date of the repository"
},
"date_registered": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The date the repository was registered"
},
"affiliation": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The affiliation of the repository"
},
"media_types": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "The media types of the repository"
},
"content_types": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "The content types of the repository"
},
"categories": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the category"
},
"slug": {
"type": "string",
"description": "The slug of the category in search engine"
}
},
"required": [
"name",
"slug"
],
"additionalProperties": false
}
}
]
},
{
"type": "null"
}
],
"description": "The categories of the repository"
},
"storage_size": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": [
"number",
"null"
]
}
]
},
{
"type": "null"
}
],
"description": "The storage size of the repository"
},
"user": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The user of the repository"
},
"hub_user": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The repository username on hub"
},
"has_starred": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the user has starred the repository"
},
"is_automated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the repository is automated"
},
"collaborator_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of collaborators on the repository. Only valid when repository_type is 'User'"
},
"permissions": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"read": {
"type": "boolean",
"description": "if user can read and pull from repository"
},
"write": {
"type": "boolean",
"description": "if user can update and push to repository"
},
"admin": {
"type": "boolean",
"description": "if user is an admin of the repository"
}
},
"required": [
"read",
"write",
"admin"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"source": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The source of the repository"
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Repository Info"
} | — | — | |
getRepositoryTagGet the details of a tag in a repository. It can be use to show the latest tag details for example.Input schema{
"type": "object",
"properties": {
"namespace": {
"type": "string"
},
"repository": {
"type": "string"
},
"tag": {
"type": "string"
}
},
"required": [
"namespace",
"repository",
"tag"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The tag ID"
},
"images": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"architecture": {
"type": "string",
"description": "The architecture of the tag"
},
"features": {
"type": "string",
"description": "The features of the tag"
},
"variant": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The variant of the tag"
},
"digest": {
"type": [
"string",
"null"
],
"description": "image layer digest"
},
"layers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"description": "The digest of the layer"
},
"size": {
"type": "number",
"description": "The size of the layer"
},
"instruction": {
"type": "string",
"description": "Dockerfile instruction"
}
},
"required": [
"digest",
"size",
"instruction"
],
"additionalProperties": false
}
},
"os": {
"type": [
"string",
"null"
],
"description": "operating system of the tagged image"
},
"os_features": {
"type": [
"string",
"null"
],
"description": "features of the operating system of the tagged image"
},
"os_version": {
"type": [
"string",
"null"
],
"description": "version of the operating system of the tagged image"
},
"size": {
"type": "number",
"description": "size of the image"
},
"status": {
"type": "string",
"enum": [
"active",
"inactive"
],
"description": "status of the image"
},
"last_pulled": {
"type": [
"string",
"null"
],
"description": "datetime of last pull"
},
"last_pushed": {
"type": [
"string",
"null"
],
"description": "datetime of last push"
}
},
"required": [
"architecture",
"features",
"digest",
"os",
"os_features",
"os_version",
"size",
"status",
"last_pulled",
"last_pushed"
],
"additionalProperties": false
}
}
]
},
{
"type": "null"
}
]
},
"creator": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "ID of the user that pushed the tag"
},
"last_updated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The last updated date of the tag"
},
"last_updater": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "ID of the last user that updated the tag"
},
"last_updater_username": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "Hub username of the user that updated the tag"
},
"name": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The name of the tag"
},
"repository": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The repository ID"
},
"full_size": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "compressed size (sum of all layers) of the tagged image"
},
"v2": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Repository API version"
},
"tag_status": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string",
"enum": [
"active",
"inactive"
]
}
]
},
{
"type": "null"
}
],
"description": "whether a tag has been pushed to or pulled in the past month"
},
"tag_last_pulled": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "datetime of last pull"
},
"tag_last_pushed": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "datetime of last push"
},
"media_type": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "media type of this tagged artifact"
},
"content_type": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string",
"enum": [
"image",
"plugin",
"helm",
"volume",
"wasm",
"compose",
"unrecognized",
"model"
]
}
]
},
{
"type": "null"
}
],
"description": "Content type of a tagged artifact based on it's media type. unrecognized means the media type is unrecognized by Docker Hub."
},
"digest": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The digest of the tag"
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Repository Tag"
} | — | — | |
listAllNamespacesMemberOfList all namespaces the user is a member ofInput schema{
"type": "object",
"properties": {}
}Annotations{
"title": "List All Namespaces user is a member of"
} | — | — | |
listNamespacesList paginated namespacesInput schema{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "The page number to list repositories from"
},
"page_size": {
"type": "number",
"description": "The page size to list repositories from"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema{
"type": "object",
"properties": {
"count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
]
},
"next": {
"type": [
"string",
"null"
]
},
"previous": {
"type": [
"string",
"null"
]
},
"results": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the namespace"
},
"uuid": {
"type": "string",
"description": "The UUID of the namespace"
},
"orgname": {
"type": "string",
"description": "The name of the org which is also the namespace name"
},
"full_name": {
"type": "string",
"description": "The full name of the org"
},
"location": {
"type": "string",
"description": "The location of the org"
},
"company": {
"type": "string",
"description": "The company of the org"
},
"profile_url": {
"type": "string",
"description": "The profile URL of the org"
},
"date_joined": {
"type": "string",
"description": "The date joined of the namespace"
},
"gravatar_email": {
"type": "string",
"description": "The gravatar email of the namespace"
},
"gravatar_url": {
"type": "string",
"description": "The gravatar URL of the namespace"
},
"type": {
"type": "string",
"description": "The type of the namespace"
},
"badge": {
"type": "string",
"description": "The badge of the namespace"
},
"is_active": {
"type": "boolean",
"description": "Whether the namespace is active"
},
"user_role": {
"type": "string",
"description": "The user role of the namespace"
},
"user_groups": {
"type": "array",
"items": {
"type": "string"
},
"description": "The user groups of the namespace"
},
"org_groups_count": {
"type": "number",
"description": "The number of org groups of the namespace"
},
"plan_name": {
"type": [
"string",
"null"
],
"description": "The plan name of the namespace"
},
"parent_name": {
"type": [
"string",
"null"
],
"description": "The parent name of the namespace"
}
},
"required": [
"id",
"uuid",
"orgname",
"full_name",
"location",
"company",
"profile_url",
"date_joined",
"gravatar_email",
"gravatar_url",
"type",
"badge",
"is_active",
"user_role",
"user_groups",
"org_groups_count",
"plan_name",
"parent_name"
],
"additionalProperties": false
}
}
]
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "List Namespaces"
} | — | — | |
listRepositoriesByNamespaceList paginated repositories by namespaceInput schema{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"description": "The namespace to list repositories from"
},
"page": {
"type": "number",
"description": "The page number to list repositories from"
},
"page_size": {
"type": "number",
"description": "The page size to list repositories from"
},
"ordering": {
"type": "string",
"enum": [
"last_updated",
"-last_updated",
"name",
"-name",
"pull_count",
"-pull_count"
],
"description": "The ordering of the repositories. Use \"-\" to reverse the ordering. For example, \"last_updated\" will order the repositories by last updated in descending order while \"-last_updated\" will order the repositories by last updated in ascending order."
},
"media_types": {
"type": "string",
"default": "",
"description": "Comma-delimited list of media types. Only repositories containing one or more artifacts with one of these media types will be returned. Default is empty to get all repositories."
},
"content_types": {
"type": "string",
"default": "",
"description": "Comma-delimited list of content types. Only repositories containing one or more artifacts with one of these content types will be returned. Default is empty to get all repositories."
}
},
"required": [
"namespace"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema{
"type": "object",
"properties": {
"count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
]
},
"next": {
"type": [
"string",
"null"
]
},
"previous": {
"type": [
"string",
"null"
]
},
"results": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The name of the repository"
},
"namespace": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The namespace of the repository"
},
"repository_type": {
"anyOf": [
{
"type": "string",
"enum": [
"image",
"docker engine plugin"
]
},
{
"type": "null"
}
],
"description": "The type of the repository"
},
"full_description": {
"type": [
"string",
"null"
],
"description": "The full description of the repository"
},
"immutable_tags_settings": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the repository has immutable tags"
},
"rules": {
"type": "array",
"items": {
"type": "string"
},
"description": "The rules of the immutable tags"
}
},
"required": [
"enabled",
"rules"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
],
"description": "The immutable tags settings of the repository"
},
"is_private": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the repository is private"
},
"status": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The status of the repository"
},
"status_description": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The status description of the repository"
},
"description": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The description of the repository"
},
"star_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of stars the repository has"
},
"pull_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of pulls the repository has"
},
"last_updated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The last updated date of the repository"
},
"last_modified": {
"type": [
"string",
"null"
],
"description": "The last modified date of the repository"
},
"date_registered": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The date the repository was registered"
},
"affiliation": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The affiliation of the repository"
},
"media_types": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "The media types of the repository"
},
"content_types": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "The content types of the repository"
},
"categories": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the category"
},
"slug": {
"type": "string",
"description": "The slug of the category in search engine"
}
},
"required": [
"name",
"slug"
],
"additionalProperties": false
}
}
]
},
{
"type": "null"
}
],
"description": "The categories of the repository"
},
"storage_size": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": [
"number",
"null"
]
}
]
},
{
"type": "null"
}
],
"description": "The storage size of the repository"
},
"user": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The user of the repository"
},
"hub_user": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The repository username on hub"
},
"has_starred": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the user has starred the repository"
},
"is_automated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the repository is automated"
},
"collaborator_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of collaborators on the repository. Only valid when repository_type is 'User'"
},
"permissions": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"read": {
"type": "boolean",
"description": "if user can read and pull from repository"
},
"write": {
"type": "boolean",
"description": "if user can update and push to repository"
},
"admin": {
"type": "boolean",
"description": "if user is an admin of the repository"
}
},
"required": [
"read",
"write",
"admin"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"source": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The source of the repository"
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
}
]
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "List Repositories by Namespace"
} | — | — | |
listRepositoryTagsList paginated tags by repositoryInput schema{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"description": "The namespace of the repository. If not provided the 'library' namespace will be used for official images."
},
"repository": {
"type": "string",
"description": "The repository to list tags from"
},
"page": {
"type": "number",
"description": "The page number to list tags from"
},
"page_size": {
"type": "number",
"description": "The page size to list tags from"
},
"architecture": {
"type": "string",
"description": "The architecture to list tags from. If not provided, all architectures will be listed."
},
"os": {
"type": "string",
"description": "The operating system to list tags from. If not provided, all operating systems will be listed."
}
},
"required": [
"repository"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema{
"type": "object",
"properties": {
"count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
]
},
"next": {
"type": [
"string",
"null"
]
},
"previous": {
"type": [
"string",
"null"
]
},
"results": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The tag ID"
},
"images": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"architecture": {
"type": "string",
"description": "The architecture of the tag"
},
"features": {
"type": "string",
"description": "The features of the tag"
},
"variant": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The variant of the tag"
},
"digest": {
"type": [
"string",
"null"
],
"description": "image layer digest"
},
"layers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"description": "The digest of the layer"
},
"size": {
"type": "number",
"description": "The size of the layer"
},
"instruction": {
"type": "string",
"description": "Dockerfile instruction"
}
},
"required": [
"digest",
"size",
"instruction"
],
"additionalProperties": false
}
},
"os": {
"type": [
"string",
"null"
],
"description": "operating system of the tagged image"
},
"os_features": {
"type": [
"string",
"null"
],
"description": "features of the operating system of the tagged image"
},
"os_version": {
"type": [
"string",
"null"
],
"description": "version of the operating system of the tagged image"
},
"size": {
"type": "number",
"description": "size of the image"
},
"status": {
"type": "string",
"enum": [
"active",
"inactive"
],
"description": "status of the image"
},
"last_pulled": {
"type": [
"string",
"null"
],
"description": "datetime of last pull"
},
"last_pushed": {
"type": [
"string",
"null"
],
"description": "datetime of last push"
}
},
"required": [
"architecture",
"features",
"digest",
"os",
"os_features",
"os_version",
"size",
"status",
"last_pulled",
"last_pushed"
],
"additionalProperties": false
}
}
]
},
{
"type": "null"
}
]
},
"creator": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "ID of the user that pushed the tag"
},
"last_updated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The last updated date of the tag"
},
"last_updater": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "ID of the last user that updated the tag"
},
"last_updater_username": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "Hub username of the user that updated the tag"
},
"name": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The name of the tag"
},
"repository": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The repository ID"
},
"full_size": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "compressed size (sum of all layers) of the tagged image"
},
"v2": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Repository API version"
},
"tag_status": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string",
"enum": [
"active",
"inactive"
]
}
]
},
{
"type": "null"
}
],
"description": "whether a tag has been pushed to or pulled in the past month"
},
"tag_last_pulled": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "datetime of last pull"
},
"tag_last_pushed": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "datetime of last push"
},
"media_type": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "media type of this tagged artifact"
},
"content_type": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string",
"enum": [
"image",
"plugin",
"helm",
"volume",
"wasm",
"compose",
"unrecognized",
"model"
]
}
]
},
{
"type": "null"
}
],
"description": "Content type of a tagged artifact based on it's media type. unrecognized means the media type is unrecognized by Docker Hub."
},
"digest": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The digest of the tag"
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
}
]
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "List Repository Tags"
} | — | — | |
searchSearch for repositories in Docker Hub. It sorts results by best match if no sort criteria is provided. If user asks for secure, production-ready images the "dockerHardenedImages" tool should be called first to get the list of DHI images available in the user organisations (if any) and fallback to search tool if no DHI images are available or user is not authenticated.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The query to search for"
},
"badges": {
"type": "array",
"items": {
"type": "string",
"enum": [
"official",
"verified_publisher",
"open_source"
]
},
"description": "The trusted content to search for"
},
"type": {
"type": "string",
"description": "The type of the repository to search for"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "The categories names to filter search results"
},
"architectures": {
"type": "array",
"items": {
"type": "string"
},
"description": "The architectures to filter search results"
},
"operating_systems": {
"type": "array",
"items": {
"type": "string"
},
"description": "The operating systems to filter search results"
},
"extension_reviewed": {
"type": "boolean",
"description": "Whether to filter search results to only include reviewed extensions"
},
"from": {
"type": "number",
"description": "The number of repositories to skip"
},
"size": {
"type": "number",
"description": "The number of repositories to return"
},
"sort": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string",
"enum": [
"pull_count",
"updated_at"
]
}
]
},
{
"type": "null"
}
],
"description": "The criteria to sort the search results by. If the `sort` field is not set, the best match is used by default. When search extensions, documents are sort alphabetically if none is provided. Do not use it unless user explicitly asks for it."
},
"order": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string",
"enum": [
"asc",
"desc"
]
}
]
},
{
"type": "null"
}
],
"description": "The order to sort the search results by"
},
"images": {
"type": "array",
"items": {
"type": "string"
},
"description": "The images to filter search results"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema{
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "The total number of repositories found"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The id of the repository"
},
"name": {
"type": "string",
"description": "The name of the repository in the format of namespace/repository"
},
"slug": {
"type": "string",
"description": "The slug of the repository"
},
"type": {
"type": "string",
"enum": [
"image",
"plugin",
"extension"
],
"description": "The type of the repository. Can be \"image\", \"plugin\" or \"extension\""
},
"publisher": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The id of the publisher"
},
"name": {
"type": "string",
"description": "The name of the publisher"
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
},
"created_at": {
"type": "string",
"description": "The date and time the repository was created"
},
"updated_at": {
"type": "string",
"description": "The date and time the repository was last updated"
},
"short_description": {
"type": "string",
"description": "The short description of the repository"
},
"badge": {
"anyOf": [
{
"type": "string",
"enum": [
"official",
"verified_publisher",
"open_source",
"none"
]
},
{
"type": "null"
}
],
"description": "The badge of the repository. If the repository is from community publisher, the badge is either 'none' or null."
},
"star_count": {
"type": "number",
"description": "The number of stars the repository has"
},
"pull_count": {
"type": "string",
"description": "The number of pulls the repository has"
},
"operating_systems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the operating system"
},
"label": {
"type": "string",
"description": "The label of the operating system"
}
},
"required": [
"name",
"label"
],
"additionalProperties": false
}
},
"architectures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the architecture"
},
"label": {
"type": "string",
"description": "The label of the architecture"
}
},
"required": [
"name",
"label"
],
"additionalProperties": false
}
},
"logo_url": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"large": {
"type": [
"string",
"null"
],
"description": "The URL of the large logo"
},
"small": {
"type": [
"string",
"null"
],
"description": "The URL of the small logo"
}
},
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"extension_reviewed": {
"type": "boolean",
"description": "Whether the repository is reviewed"
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the category"
},
"name": {
"type": "string",
"description": "The name of the category"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
}
},
"archived": {
"type": "boolean",
"description": "Whether the repository is archived"
}
},
"required": [
"id",
"name",
"slug",
"type",
"publisher",
"created_at",
"updated_at",
"short_description",
"badge",
"star_count",
"pull_count",
"operating_systems",
"architectures",
"extension_reviewed",
"categories",
"archived"
],
"additionalProperties": false
},
"description": "The repositories found"
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Search Repositories"
} | — | — | |
updateRepositoryInfoUpdate the details of a repository in the given namespace. Description, overview and status are the only fields that can be updated. While description and overview changes are fine, a status change is a dangerous operation so the user must explicitly ask for it.Input schema{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"description": "The namespace of the repository (required)"
},
"repository": {
"type": "string",
"description": "The repository name (required)"
},
"description": {
"type": "string",
"description": "The description of the repository. If user asks for updating the description of the repository, this is the field that should be updated."
},
"full_description": {
"type": "string",
"maxLength": 25000,
"description": "The full description (overview)of the repository. If user asks for updating the full description or the overview of the repository, this is the field that should be updated. "
},
"status": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string",
"enum": [
"active",
"inactive"
]
}
]
},
{
"type": "null"
}
],
"description": "The status of the repository. If user asks for updating the status of the repository, this is the field that should be updated. This is a dangerous operation and should be done with caution so user must be prompted to confirm the operation. Valid status are `active` (1) and `inactive` (0). Normally do not update the status if it is not strictly required by the user. It is not possible to change an `inactive` repository to `active` if it has no images."
}
},
"required": [
"namespace",
"repository"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The name of the repository"
},
"namespace": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The namespace of the repository"
},
"repository_type": {
"anyOf": [
{
"type": "string",
"enum": [
"image",
"docker engine plugin"
]
},
{
"type": "null"
}
],
"description": "The type of the repository"
},
"full_description": {
"type": [
"string",
"null"
],
"description": "The full description of the repository"
},
"immutable_tags_settings": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the repository has immutable tags"
},
"rules": {
"type": "array",
"items": {
"type": "string"
},
"description": "The rules of the immutable tags"
}
},
"required": [
"enabled",
"rules"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
],
"description": "The immutable tags settings of the repository"
},
"is_private": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the repository is private"
},
"status": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The status of the repository"
},
"status_description": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The status description of the repository"
},
"description": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The description of the repository"
},
"star_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of stars the repository has"
},
"pull_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of pulls the repository has"
},
"last_updated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The last updated date of the repository"
},
"last_modified": {
"type": [
"string",
"null"
],
"description": "The last modified date of the repository"
},
"date_registered": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The date the repository was registered"
},
"affiliation": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The affiliation of the repository"
},
"media_types": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "The media types of the repository"
},
"content_types": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
{
"type": "null"
}
],
"description": "The content types of the repository"
},
"categories": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the category"
},
"slug": {
"type": "string",
"description": "The slug of the category in search engine"
}
},
"required": [
"name",
"slug"
],
"additionalProperties": false
}
}
]
},
{
"type": "null"
}
],
"description": "The categories of the repository"
},
"storage_size": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": [
"number",
"null"
]
}
]
},
{
"type": "null"
}
],
"description": "The storage size of the repository"
},
"user": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The user of the repository"
},
"hub_user": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The repository username on hub"
},
"has_starred": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the user has starred the repository"
},
"is_automated": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
],
"description": "Whether the repository is automated"
},
"collaborator_count": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "The number of collaborators on the repository. Only valid when repository_type is 'User'"
},
"permissions": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"read": {
"type": "boolean",
"description": "if user can read and pull from repository"
},
"write": {
"type": "boolean",
"description": "if user can update and push to repository"
},
"admin": {
"type": "boolean",
"description": "if user is an admin of the repository"
}
},
"required": [
"read",
"write",
"admin"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"source": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "The source of the repository"
},
"error": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Repository Info"
} | — | — |
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| https://docs.docker.com/ai/gordon/mcp/yaml/ | — | not_observed | HealthyHTTP 404 · 508 ms | Aug 13, 2026 |
Docker Hub MCP Server is represented by a linked remote endpoint; no verified local package installation command is available.
Docker Hub MCP Server exposed 13 tools during independent protocol observation, including checkRepository, checkRepositoryTag, createRepository, dockerHardenedImages, getPersonalNamespace, getRepositoryInfo, getRepositoryTag, listAllNamespacesMemberOf, and others.
Our scanner tested version 5a7c80f57d9fc31558aebfaf3fd5dc6198aaaf30 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.
These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.
Association is based on retained identity fields; it does not by itself prove first-party publication.
Curated product and capability guides containing this catalog record.