Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
File renamed without changes
2 changes: 1 addition & 1 deletion content/manuals/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ params:
link: /model-runner/
- title: MCP Catalog and Toolkit
description: Augment your AI workflow with MCP servers.
icon: /assets/icons/toolbox.svg
icon: /icons/toolkit.svg
link: /ai/mcp-catalog-and-toolkit/
products:
- title: Docker Desktop
Expand Down
6 changes: 1 addition & 5 deletions content/manuals/ai/gordon/mcp/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ grid:
description: Configure MCP tools on a per-project basis.
icon: manufacturing
link: /ai/gordon/mcp/yaml
- title: MCP Server
description: Use Gordon as an MCP server
icon: dns
link: /ai/gordon/mcp/gordon-mcp-server/
aliases:
- /desktop/features/gordon/mcp/
---
Expand All @@ -33,4 +29,4 @@ external APIs, etc.
Gordon, along with other MCP clients like Claude Desktop or Cursor, can interact
with MCP servers running as containers.

{{< grid >}}
{{< grid >}}
45 changes: 0 additions & 45 deletions content/manuals/ai/gordon/mcp/gordon-mcp-server.md

This file was deleted.

25 changes: 17 additions & 8 deletions content/manuals/ai/mcp-catalog-and-toolkit/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,39 +5,48 @@ params:
sidebar:
group: AI
badge:
color: green
text: New
color: blue
text: Beta
weight: 30
description: Learn about Docker's MCP catalog on Docker Hub and how to use it with the MCP Toolkit extension
description: Learn about Docker's MCP catalog on Docker Hub
keywords: Docker, ai, mcp servers, ai agents, extension, docker desktop, llm, docker hub
grid:
- title: MCP Catalog
description: Learn about the benefits of the MCP Catalog, how you can use it, and how you can contribute
icon: hub
link: /ai/mcp-catalog-and-toolkit/catalog/
- title: MCP Toolkit
description: Learn about how to use the MCP Toolkit extension on Docker Desktop
icon: manufacturing
description: Learn about the MCP toolkit to manage MCP servers and clients
icon: /icons/toolkit.svg
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 execute services across diverse 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?

Docker MCP Catalog and Toolkit is a comprehensive solution for securely building, sharing, and running MCP tools. It simplifies the developer experience across four key areas:
Docker MCP Catalog and Toolkit is a comprehensive solution for securely building, sharing, and running MCP tools. It simplifies the developer experience across these key 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 changes needed

With Docker Hub and the Docker Desktop extension, you can:
With Docker Hub and the MCP Toolkit, you can:

- Launch MCP servers in seconds
- Add tools via CLI or GUI
- Rely on Dockers pull-based infrastructure for trusted delivery
- Rely on Docker's pull-based infrastructure for trusted delivery

{{< grid >}}
71 changes: 12 additions & 59 deletions content/manuals/ai/mcp-catalog-and-toolkit/catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,32 @@ description: Learn about the benefits of the MCP Catalog, how you can use it, an
keywords: docker hub, mcp, mcp servers, ai agents, calatog, docker
---

The [Docker MCP Catalog](https://hub.docker.com/catalogs/mcp) is a centralized, trusted registry for discovering, sharing, and running MCP-compatible tools. Seamlessly integrated into Docker Hub, it offers verified, versioned, and curated MCP servers packaged as Docker images.
The [Docker MCP Catalog](https://hub.docker.com/catalogs/mcp) is a centralized, trusted registry for discovering, sharing, and running MCP-compatible tools. Seamlessly integrated into Docker Hub, it offers verified, versioned, and curated MCP servers packaged as Docker images. The catalog is also available in Docker Desktop.

The catalog also solves common MCP server challenges:
The catalog solves common MCP server challenges:

- Environment conflicts: Tools often need specific runtimes that may clash with existing setups.
- Lack of isolation: Traditional setups risk exposing the host system.
- Setup complexity: Manual installation and configuration result in slow adoption.
- Inconsistency across platforms: Tools may behave unpredictably on different OSes.

With Docker, each MCP server runs as a self-contained container so it is portable, isolated, and consistent. You can launch tools instantly using Docker CLI or Docker Desktop, without worrying about dependencies or compatibility.
With Docker, each MCP server runs as a self-contained container so it is
portable, isolated, and consistent. You can launch tools instantly using Docker
CLI or Docker Desktop, without worrying about dependencies or compatibility.

## Key features

- Over 100 verified MCP servers in one place
- Publisher verification and versioned releases
- Pull-based distribution using Dockers infrastructure
- Pull-based distribution using Docker's infrastructure
- Tools provided by partners such as New Relic, Stripe, Grafana, and more

## How it works

Each tool in the MCP Catalog is packaged as a Docker image with metadata. Developers can:
Each tool in the MCP Catalog is packaged as a Docker image with metadata:

- Discover tools via Docker Hub under the mcp/ namespace.
- Connect tools to their preferred agents with simple configuration through the [MCP Toolkit](toolkit.md)
- Discover tools via Docker Hub under the `mcp/` namespace.
- Connect tools to their preferred agents with simple configuration through the [MCP Toolkit](toolkit.md).
- Pull and run tools using Docker Desktop or the CLI.

Each catalog entry provides:
Expand All @@ -36,59 +38,10 @@ Each catalog entry provides:
- Version history
- Example configuration for agent integration

## Example: How to use an MCP server from Docker Hub
## Use an MCP server from the catalog

The following example uses the Puppeteer MCP server to take a screenshot of a website and invert the colors using Claude Desktop.

{{< tabs >}}
{{< tab name="Using the MCP Toolkit (Recommended)" >}}

1. Make sure you have [installed the Docker Desktop Docker MCP Toolkit extension](toolkit.md).
2. From the extension, search for the Puppeteer MCP server in the **MCP Servers** tab, and toggle it on to enable.
3. From the **MCP Clients** tab, select the **Connect** button for Claude Desktop.
4. Within Claude Desktop, submit the following prompt using the Sonnet 3.5 model:

```text
Take a screenshot of docs.docker.com and then invert the colors
```

{{< /tab >}}
{{< tab name="Manually set it up" >}}

1. Update the `claude_desktop_config.json` file to include the following configuration:

```json
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DOCKER_CONTAINER",
"mcp/puppeteer"
],
"env": {
"DOCKER_CONTAINER": "true"
}
}
}
}
```
2. Restart Claude Desktop to apply the changed config file.
3. Submit the following prompt using the Sonnet 3.5 model:

```text
Take a screenshot of docs.docker.com and then invert the colors
```

Once you've given your consent to use the new tools, Claude spins up the Puppeteer MCP server inside a container, navigates to the target URL, captures and modify the page, and returns the screenshot.

{{< /tab >}}
{{< /tabs >}}
To use an MCP server from the catalog, see [MCP toolkit](toolkit.md).

## Contribute an MCP server to the catalog

If you would like to add you MCP server to the Docker MCP Catalog, fill out the Docker [MCP submission form](https://www.docker.com/products/mcp-catalog-and-toolkit/#get_updates).
To add an MCP server to the Docker MCP catalog, fill out the Docker [MCP submission form](https://www.docker.com/products/mcp-catalog-and-toolkit/#get_updates).
129 changes: 100 additions & 29 deletions content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,124 @@
---
title: MCP Toolkit
description:
keywords:
description: Use the MCP Toolkit to set up MCP servers and MCP clients.
keywords: Docker MCP Toolkit, MCP server, MCP client, AI agents
aliases:
- /desktop/features/gordon/mcp/gordon-mcp-server/
- /ai/gordon/mcp/gordon-mcp-server/
---

The Docker MCP Toolkit is a Docker Desktop extension local that enables seamless setup, management, and execution of containerized MCP servers and their connections to AI agents. It removes the friction from tool usage by offering secure defaults, one-click setup, and support for a growing ecosystem of LLM-based clients. It is the fastest path from MCP tool discovery to local execution.
The Docker MCP Toolkit enables seamless setup, management, and execution of containerized MCP servers and their connections to AI agents. It removes the friction from tool usage by offering secure defaults, one-click setup, and support for a growing ecosystem of LLM-based clients. It is the fastest path from MCP tool discovery to local execution.

Check warning on line 10 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.RecommendedWords] Consider using 'select' instead of 'click' Raw Output: {"message": "[Docker.RecommendedWords] Consider using 'select' instead of 'click'", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 10, "column": 212}}}, "severity": "INFO"}

## Key features

- Cross-LLM compatibility: Works out of the box with Claude Desktop, Cursor, Continue.dev, and [Gordon](/manuals/ai/gordon/_index.md).
- Integrated tool discovery: Browse and launch MCP servers that are available in the Docker MCP Catalog, directly from Docker Desktop.
- No manual setup: Skip dependency management, runtime setup, and manual server configuration.
- Cross-LLM compatibility: Instantly works with Claude Desktop, Cursor, Continue.dev, and [Gordon](/manuals/ai/gordon/_index.md).

Check failure on line 14 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Dev' instead of 'dev'. Raw Output: {"message": "[Vale.Terms] Use 'Dev' instead of 'dev'.", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 14, "column": 82}}}, "severity": "ERROR"}
- Integrated tool discovery: Browse and launch MCP servers from the Docker MCP Catalog directly in Docker Desktop.
- Zero manual setup: No dependency management, runtime configuration, or server setup required.
- Functions as both an MCP server aggregator and a gateway for clients to access installed MCP servers.

## How it works
![Visualisation of the MCP toolkit](/assets/images/mcp_servers.png)

The **MCP Servers** tab lists all available servers from the Docker MCP Catalog. Each entry includes:
## Security

- Tool name and description
- Partner/publisher
- Number of callable tools and what they are
The Docker MCP Toolkit combines passive and active measures to reduce attack
surfaces and ensure safe runtime behavior.

To enable an MCP server, simply use the toggle switch to toggle it on.
### Passive security

> [!NOTE]
>
> Some MCP servers requires secrets or tokens to be configured before it can be enabled. Instructions on how to do this can be found on each MCP servers' repository.
- Image signing and attestation: All MCP server images under `mcp/` in the [catalog](catalog.md)
are built by Docker and digitally
signed to verify their source and integrity. Each image includes a Software
Bill of Materials (SBOM) for full transparency.

The **MCP Clients** tab lets you connect your enabled MCP servers to supported agents. Connection is as simple as selecting **Connect**, so you can switch between LLM providers without altering your MCP server integrations or security configurations.
### Active security

## Installation
Security at runtime is enforced through resource and access limitations:

To install the Docker MCP Toolkit extension:
- CPU allocation: MCP tools are run in their own container. They are
restricted to 1 CPU, limiting the impact of potential misuse of computing
resources.

1. In the Docker Desktop Dashboard, select the **Extensions** view, and then select **Manage**.
2. Select the **Browse** tab and search for **Docker MCP Toolkit**.
3. On the **Docker MCP Toolkit** result, select install.
- Memory allocation: Containers for MCP tools are limited to 2 GB.

The extension then appears under the **My extensions** tab.
- Filesystem access: By default, MCP Servers have no access to the host filesystem.
The user explicitly selects the servers that will be granted file mounts.

### Example
- Interception of tool requests: Requests to and from tools that contain sensitive
information such as secrets are blocked.

The following example assumes you have already installed and set up Claude Desktop.
## Enable Docker MCP Toolkit

Check warning on line 49 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.HeadingSentenceCase] Use sentence case for headings: 'Enable Docker MCP Toolkit'. Raw Output: {"message": "[Docker.HeadingSentenceCase] Use sentence case for headings: 'Enable Docker MCP Toolkit'.", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 49, "column": 4}}}, "severity": "WARNING"}

1. In the Docker MCP Toolkit extension, search for the Puppeteer MCP server in the **MCP Servers** tab, and toggle it on to enable.
2. From the **MCP Clients** tab, select the **Connect** button for Claude Desktop.
3. Within Claude Desktop, submit the following prompt using the Sonnet 3.5 model:
1. Open the Docker Desktop settings and select **Beta features**.
2. Select **Enable Docker MCP Toolkit**.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. Select **Apply & restart**.

>[!NOTE]
>If you have the MCP Toolkit _extension_ installed, you can uninstall it.
## Install an MCP server

To install an MCP server:

1. In Docker Desktop, select **MCP Toolkit** and select the **Catalog** tab.
When you select a server you can see the following
information:

- Tool name and description
- Partner/publisher
- The list of callable tools the server provides.

2. Find the MCP server of your choice and click the **Plus** icon.

Check warning on line 69 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.RecommendedWords] Consider using 'select' instead of 'click' Raw Output: {"message": "[Docker.RecommendedWords] Consider using 'select' instead of 'click'", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 69, "column": 43}}}, "severity": "INFO"}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Find the MCP server of your choice and click the **Plus** icon.
2. Find the MCP server of your choice and select the **Plus** icon.

3. Optional: Some servers require extra configuration. To configure them, select
the **Config** tab and follow the instructions available on the repository of the provider of the MCP server.

Check failure on line 71 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'config' instead of 'Config'. Raw Output: {"message": "[Vale.Terms] Use 'config' instead of 'Config'.", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 71, "column": 10}}}, "severity": "ERROR"}

> [!TIP]
> By default, the Gordon [client](#install-an-mcp-client) is enabled,
> which means Gordon can automatically interact with your MCP servers.
To learn more about the MCP server catalog, see [Catalog](catalog.md).

### Example: Use the GitHub MCP server

Imagine you want to enable Ask Gordon to interact with your GitHub account:

1. From the **MCP Toolkit** menu, select the **Catalog** tab and find
the **GitHub Official** server and add it.
2. In the server's **Config** tab, insert your token generated from

Check failure on line 85 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'config' instead of 'Config'. Raw Output: {"message": "[Vale.Terms] Use 'config' instead of 'Config'.", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 85, "column": 22}}}, "severity": "ERROR"}
your [GitHub account](https://github.com/settings/personal-access-tokens).
3. In the **Clients** tab, ensure Gordon is connected.
4. From the **Ask Gordon** menu, you can now send requests related to your
GitHub account, in accordance to the tools provided by the GitHub MCP server. To test it, ask Gordon:

```text
Take a screenshot of docs.docker.com and then invert the colors
What's my GitHub handle?
```

Once you've given your consent to use the new tools, Claude spins up the Puppeteer MCP server inside a container, navigates to the target URL, captures and modify the page, and returns the screenshot.
Make sure to allow Gordon to interact with GitHub by selecting **Always allow** in Gordon's answer.

Check warning on line 95 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.RecommendedWords] Consider using 'let' instead of 'allow' Raw Output: {"message": "[Docker.RecommendedWords] Consider using 'let' instead of 'allow'", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 95, "column": 76}}}, "severity": "INFO"}

Check warning on line 95 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.RecommendedWords] Consider using 'let' instead of 'allow' Raw Output: {"message": "[Docker.RecommendedWords] Consider using 'let' instead of 'allow'", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 95, "column": 17}}}, "severity": "INFO"}

## Install an MCP client

When you have installed MCP servers, you can add clients to the MCP Toolkit. These clients
can interact with the installed MCP servers, turning the MCP Toolkit into a gateway.

To install a client:

1. In Docker Desktop, select **MCP Toolkit** and select the **Clients** tab.
2. Find the client of your choice and select **Connect**.

Your client can now interact with the MCP Toolkit.

### Example: Use Claude Desktop as a client

Imagine you have Claude Desktop installed, and you want to use the GitHub MCP server,
and the Puppeteer MCP server, you do not have to install the servers in Claude Desktop.
You can simply install these 2 MCP servers in the MCP Toolkit,
and add Claude Desktop as a client:

1. From the **MCP Toolkit** menu, select the **Catalog** tab and find the **Puppeteer** server and add it.
2. Repeat for the **GitHub** server.
3. From the **Clients** tab, select **Connect** next to **Claude Desktop**. Restart
Claude Desktop if it's running, and it can now access all the servers in the MCP Toolkit.
4. Within Claude Desktop, run a test by submitting the following prompt using the Sonnet 3.5 model:

```text
Take a screenshot of docs.docker.com and then invert the colors
```
Loading