Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .vscode/docker.code-snippets
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,9 @@
"body": ["{{< button url=\"$1\" text=\"$2\" >}}"],
"description": "Insert a Hugo button",
},
"Insert Visual Studio Code": {
"prefix": ["vscode", "vs"],
"body": ["Visual Studio Code"],
"description": "Insert 'Visual Studio Code'",
},
}
6 changes: 5 additions & 1 deletion _vale/config/vocabularies/Docker/accept.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
(?i)[A-Z]{2,}'?s

[Dd]ev
Adreno
Aleksandrov
Amazon
Expand All @@ -16,11 +17,13 @@ Bugsnag
BuildKit
buildkitd
BusyBox
CD
CentOS
Ceph
cgroup
Chrome
Chrome DevTools
CI
CI/CD
Citrix
cli
Expand Down Expand Up @@ -144,6 +147,7 @@ osquery
osxfs
OTel
Paketo
PAT
perl
pgAdmin
PKG
Expand Down Expand Up @@ -193,9 +197,9 @@ Uncaptured
undeterminable
Unix
unmanaged
Visual Studio Code
VMware
vpnkit
VSCode
vSphere
Vue
Wasm
Expand Down
8 changes: 8 additions & 0 deletions assets/css/components.css
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,13 @@
align-items: center;
justify-content: center;
}
.admonition p{
margin-bottom: 1em;
}
.admonition ul{
@apply list-disc pl-5 mb-1;
}


.download-links {
@apply block;
Expand All @@ -93,6 +100,7 @@
.card-image {
@apply h-12 w-12 overflow-hidden;
}

}
.button {
@apply my-2 mr-2 inline-block rounded-sm bg-blue-500 p-1 px-3 text-white hover:bg-blue-600 dark:bg-blue-500 hover:dark:bg-blue-400;
Expand Down
48 changes: 25 additions & 23 deletions content/manuals/ai/mcp-catalog-and-toolkit/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,35 +21,17 @@ grid:
link: /ai/mcp-catalog-and-toolkit/toolkit/
---

The Model Context Protocol (MCP) is a modern standard that transforms AI agents
from passive responders into action-oriented systems. By standardizing how tools
are described, discovered, and invoked, MCP enables agents to securely query
APIs, access data, and run services across different environments.

As agents move into production, MCP solves common integration challenges —
interoperability, reliability, and security — by providing a consistent,
decoupled, and scalable interface between agents and tools. Just as containers
redefined software deployment, MCP is reshaping how AI systems interact with the
world.

> **Example**
>
> In simple terms, an MCP server is a way for an LLM to interact with an external system.
>
> For example:
> If you ask a model to create a meeting, it needs to communicate with your calendar app to do that.
> An MCP server for your calendar app provides _tools_ that perform atomic actions, such as:
> "getting the details of a meeting" or "creating a new meeting".

## What is Docker MCP Catalog and Toolkit?
{{< summary-bar feature_name="Docker MCP Catalog and Toolkit" >}}

Docker MCP Catalog and Toolkit is a solution for securely building, sharing, and
running MCP tools. It simplifies the developer experience across these areas:
running MCP tools.

It simplifies the developer experience across these areas:

- Discovery: A central catalog with verified, versioned tools.
- Credential management: OAuth-based and secure by default.
- Execution: Tools run in isolated, containerized environments.
- Portability: Use MCP tools across Claude, Cursor, VS Code, and more—no code
- Portability: Use MCP tools across Claude, Cursor, Visual Studio Code, and more—no code
changes needed.

With Docker Hub and the MCP Toolkit, you can:
Expand All @@ -58,4 +40,24 @@ With Docker Hub and the MCP Toolkit, you can:
- Add tools using the CLI or GUI.
- Rely on Docker's pull-based infrastructure for trusted delivery.

## MCP servers

MCP servers are systems that use the [Model Context Protocol](https://www.anthropic.com/news/model-context-protocol) (MCP) to help manage
and run AI or machine learning models more efficiently. MCP allows different
parts of a system, like the model, data, and runtime environment, to
communicate in a standardized way. You can see them as
add-ons that provide specific tools to an LLM.

> [!TIP]
> Example:
> If you ask a model to create a meeting, it needs to communicate with your calendar app to do that.
>
> An MCP server provided by your calendar app provides _tools_ to your model to perform atomic
> actions, like:
>
> - `get the details of a meeting`
> - `create a new meeting`
> - ...


{{< grid >}}
4 changes: 4 additions & 0 deletions content/manuals/ai/mcp-catalog-and-toolkit/catalog.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
---
title: Docker MCP Catalog
linkTitle: MCP Catalog
description: Learn about the benefits of the MCP Catalog, how you can use it, and how you can contribute
keywords: docker hub, mcp, mcp servers, ai agents, catalog, docker
weight: 10
---

{{< summary-bar feature_name="Docker MCP Catalog" >}}

The [Docker MCP Catalog](https://hub.docker.com/mcp) is a centralized, trusted
registry for discovering, sharing, and running MCP-compatible tools. Integrated
with Docker Hub, it offers verified, versioned, and curated MCP servers
Expand Down
179 changes: 104 additions & 75 deletions content/manuals/ai/mcp-catalog-and-toolkit/hub-mcp.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
---
title: Docker Hub MCP server
description: Use the MCP Toolkit to set up MCP servers and MCP clients.
linkTitle: Hub MCP server
description: The Docker Hub MCP Server makes Docker Hub image metadata accessible to LLMs for content discovery.
keywords: Docker Hub MCP Server, Hub MCP server, Hub MCP
weight: 30
---

The Docker Hub MCP Server is a Model Context Protocol (MCP) server that interfaces with Docker Hub APIs to make rich image metadata 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.
The Docker Hub MCP Server is a Model Context Protocol (MCP) server that
interfaces with Docker Hub APIs to make rich image metadata 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.

## Key features

- Advanced LLM context: Our MCP Server provides LLMs with detailed, structured context for Docker Hub images, enabling smarter, more relevant recommendations for developers, whether they're choosing a base image or automating CI/CD workflows.
- Advanced LLM context: Docker's MCP Server provides LLMs with detailed, structured context for Docker Hub images, enabling smarter, more relevant recommendations for developers, whether they're choosing a base image or automating CI/CD workflows.
- Natural language image discovery: Developers can find the right container image using natural language, no need to remember tags or repository names. Just describe what you need, and Docker Hub will return images that match your intent.
- Simplified repository management: Hub MCP Server enables agents to manage repositories through natural language fetching image details, viewing stats, searching content, and performing key operations quickly and easily.

Expand All @@ -28,95 +36,116 @@ The Docker Hub MCP Server is a Model Context Protocol (MCP) server that interfac
> By default, the Gordon [client](/manuals/ai/mcp-catalog-and-toolkit/toolkit.md#install-an-mcp-client) is enabled,
> which means Gordon can automatically interact with your MCP servers.

## Using other clients

If want to integrate the Docker Hub MCP Server into your own development environment, you can find the source code and installation instructions on our [GitHub repository](https://github.com/docker/hub-mcp).

## Use Claude Desktop as a client

1. Add the Docker Hub MCP Server configuration to your `claude_desktop_config.json`:

### For public repositories only

- `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` - The complete path to where you cloned this repository
```json
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
}
}
}
```
{{< tabs >}}
{{< tab name="For public repositories only">}}

```json
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
}
}
}
```

Where :
- `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` is the complete path to where you cloned the repository

{{< /tab >}}
{{< tab name="For authenticated access">}}

```json
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio", "--username=YOUR_DOCKER_HUB_USERNAME"],
"env": {
"HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN"
}
}
}
}
```

Where :
- `YOUR_DOCKER_HUB_USERNAME` is your Docker Hub username.
- `YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN` is Docker Hub personal access token
- `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` is the complete path to where you cloned the repository

### For authenticated access

Replace the following values:
- `YOUR_DOCKER_HUB_USERNAME` - Your Docker Hub username
- `YOUR_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 this

```json
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio", "--username=YOUR_DOCKER_HUB_USERNAME"],
"env": {
"HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN"
}
}
}
}
```

{{< /tab >}}
{{</tabs >}}

1. Save the configuration file and completely restart Claude Desktop for the changes to take effect.

## Usage with VS Code
## Usage with Visual Studio Code

1. Add the Docker Hub MCP Server configuration to your User Settings (JSON) file in VS Code. You can do this by opening the `Command Palette` and typing `Preferences: Open User Settings (JSON)`.
1. Add the Docker Hub MCP Server configuration to your User Settings (JSON)
file in Visual Studio Code. You can do this by opening the `Command Palette` and
typing `Preferences: Open User Settings (JSON)`.

### For public repositories only

{{< tabs >}}
{{< tab name="For public repositories only">}}

- `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` - The complete path to where you cloned this repository
```json
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
}
}
}
```
```json
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
}
}
}
```

Where :
- `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` is the complete path to where you cloned the repository

{{< /tab >}}
{{< tab name="For authenticated access">}}

```json
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"],
"env": {
"HUB_USERNAME": "YOUR_DOCKER_HUB_USERNAME",
"HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN"
}
}
}
}
```

Where :
- `YOUR_DOCKER_HUB_USERNAME` is your Docker Hub username.
- `YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN` is Docker Hub personal access token
- `/FULL/PATH/TO/YOUR/docker-hub-mcp-server` is the complete path to where you cloned the repository

### For authenticated access

Replace the following values:
- `YOUR_DOCKER_HUB_USERNAME` - Your Docker Hub username
- `YOUR_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 this

```json
{
"mcpServers": {
"docker-hub": {
"command": "node",
"args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"],
"env": {
"HUB_USERNAME": "YOUR_DOCKER_HUB_USERNAME",
"HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN"
}
}
}
}
```

{{< /tab >}}
{{</tabs >}}

1. Open the `Command Palette` and type `MCP: List Servers`.
1. Select `docker-hub` and select `Start Server`.

## Using other clients

To integrate the Docker Hub MCP Server into your own development
environment, see the source code and installation instructions on the
[`hub-mcp` GitHub repository](https://github.com/docker/hub-mcp).


## Usage examples

This section provides task-oriented examples for common operations with Docker Hub
Expand Down
Loading