Skip to content

Commit fce604b

Browse files
authored
MCP: MCP Toolkit in Docker Desktop (#22673)
Docs for the new GUI for the MCP Toolkit. https://deploy-preview-22673--docsdocker.netlify.app/ai/mcp-catalog-and-toolkit/
1 parent a1f46e6 commit fce604b

File tree

13 files changed

+140
-164
lines changed

13 files changed

+140
-164
lines changed
File renamed without changes.

content/manuals/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ params:
4242
link: /model-runner/
4343
- title: MCP Catalog and Toolkit
4444
description: Augment your AI workflow with MCP servers.
45-
icon: /assets/icons/toolbox.svg
45+
icon: /icons/toolkit.svg
4646
link: /ai/mcp-catalog-and-toolkit/
4747
products:
4848
- title: Docker Desktop

content/manuals/ai/gordon/mcp/_index.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ grid:
1111
description: Configure MCP tools on a per-project basis.
1212
icon: manufacturing
1313
link: /ai/gordon/mcp/yaml
14-
- title: MCP Server
15-
description: Use Gordon as an MCP server
16-
icon: dns
17-
link: /ai/gordon/mcp/gordon-mcp-server/
1814
aliases:
1915
- /desktop/features/gordon/mcp/
2016
---
@@ -33,4 +29,4 @@ external APIs, etc.
3329
Gordon, along with other MCP clients like Claude Desktop or Cursor, can interact
3430
with MCP servers running as containers.
3531

36-
{{< grid >}}
32+
{{< grid >}}

content/manuals/ai/gordon/mcp/gordon-mcp-server.md

Lines changed: 0 additions & 45 deletions
This file was deleted.

content/manuals/ai/mcp-catalog-and-toolkit/_index.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,48 @@ params:
55
sidebar:
66
group: AI
77
badge:
8-
color: green
9-
text: New
8+
color: blue
9+
text: Beta
1010
weight: 30
11-
description: Learn about Docker's MCP catalog on Docker Hub and how to use it with the MCP Toolkit extension
11+
description: Learn about Docker's MCP catalog on Docker Hub
1212
keywords: Docker, ai, mcp servers, ai agents, extension, docker desktop, llm, docker hub
1313
grid:
1414
- title: MCP Catalog
1515
description: Learn about the benefits of the MCP Catalog, how you can use it, and how you can contribute
1616
icon: hub
1717
link: /ai/mcp-catalog-and-toolkit/catalog/
1818
- title: MCP Toolkit
19-
description: Learn about how to use the MCP Toolkit extension on Docker Desktop
20-
icon: manufacturing
19+
description: Learn about the MCP toolkit to manage MCP servers and clients
20+
icon: /icons/toolkit.svg
2121
link: /ai/mcp-catalog-and-toolkit/toolkit/
2222
---
2323

2424
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.
2525

2626
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.
2727

28+
> **Example**
29+
>
30+
> In simple terms, an MCP server is a way for an LLM to interact with an external system.
31+
>
32+
> For example:
33+
> If you ask a model to create a meeting, it needs to communicate with your calendar app to do that.
34+
> An MCP server for your calendar app provides _tools_ that perform atomic actions, such as:
35+
> "getting the details of a meeting" or "creating a new meeting".
36+
2837
## What is Docker MCP Catalog and Toolkit?
2938

30-
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:
39+
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:
3140

3241
- Discovery: A central catalog with verified, versioned tools
3342
- Credential Management: OAuth-based and secure by default
3443
- Execution: Tools run in isolated, containerized environments
3544
- Portability: Use MCP tools across Claude, Cursor, VS Code, and more — no code changes needed
3645

37-
With Docker Hub and the Docker Desktop extension, you can:
46+
With Docker Hub and the MCP Toolkit, you can:
3847

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

4352
{{< grid >}}

content/manuals/ai/mcp-catalog-and-toolkit/catalog.md

Lines changed: 12 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,32 @@ description: Learn about the benefits of the MCP Catalog, how you can use it, an
44
keywords: docker hub, mcp, mcp servers, ai agents, calatog, docker
55
---
66

7-
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.
7+
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.
88

9-
The catalog also solves common MCP server challenges:
9+
The catalog solves common MCP server challenges:
1010

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

16-
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.
16+
With Docker, each MCP server runs as a self-contained container so it is
17+
portable, isolated, and consistent. You can launch tools instantly using Docker
18+
CLI or Docker Desktop, without worrying about dependencies or compatibility.
1719

1820
## Key features
1921

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

2527
## How it works
2628

27-
Each tool in the MCP Catalog is packaged as a Docker image with metadata. Developers can:
29+
Each tool in the MCP Catalog is packaged as a Docker image with metadata:
2830

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

3335
Each catalog entry provides:
@@ -36,59 +38,10 @@ Each catalog entry provides:
3638
- Version history
3739
- Example configuration for agent integration
3840

39-
## Example: How to use an MCP server from Docker Hub
41+
## Use an MCP server from the catalog
4042

41-
The following example uses the Puppeteer MCP server to take a screenshot of a website and invert the colors using Claude Desktop.
42-
43-
{{< tabs >}}
44-
{{< tab name="Using the MCP Toolkit (Recommended)" >}}
45-
46-
1. Make sure you have [installed the Docker Desktop Docker MCP Toolkit extension](toolkit.md).
47-
2. From the extension, search for the Puppeteer MCP server in the **MCP Servers** tab, and toggle it on to enable.
48-
3. From the **MCP Clients** tab, select the **Connect** button for Claude Desktop.
49-
4. Within Claude Desktop, submit the following prompt using the Sonnet 3.5 model:
50-
51-
```text
52-
Take a screenshot of docs.docker.com and then invert the colors
53-
```
54-
55-
{{< /tab >}}
56-
{{< tab name="Manually set it up" >}}
57-
58-
1. Update the `claude_desktop_config.json` file to include the following configuration:
59-
60-
```json
61-
{
62-
"mcpServers": {
63-
"puppeteer": {
64-
"command": "docker",
65-
"args": [
66-
"run",
67-
"-i",
68-
"--rm",
69-
"-e",
70-
"DOCKER_CONTAINER",
71-
"mcp/puppeteer"
72-
],
73-
"env": {
74-
"DOCKER_CONTAINER": "true"
75-
}
76-
}
77-
}
78-
}
79-
```
80-
2. Restart Claude Desktop to apply the changed config file.
81-
3. Submit the following prompt using the Sonnet 3.5 model:
82-
83-
```text
84-
Take a screenshot of docs.docker.com and then invert the colors
85-
```
86-
87-
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.
88-
89-
{{< /tab >}}
90-
{{< /tabs >}}
43+
To use an MCP server from the catalog, see [MCP toolkit](toolkit.md).
9144

9245
## Contribute an MCP server to the catalog
9346

94-
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).
47+
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).
Lines changed: 101 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,125 @@
11
---
22
title: MCP Toolkit
3-
description:
4-
keywords:
3+
description: Use the MCP Toolkit to set up MCP servers and MCP clients.
4+
keywords: Docker MCP Toolkit, MCP server, MCP client, AI agents
5+
aliases:
6+
- /desktop/features/gordon/mcp/gordon-mcp-server/
7+
- /ai/gordon/mcp/gordon-mcp-server/
58
---
69

7-
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.
10+
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.
811

912
## Key features
1013

11-
- Cross-LLM compatibility: Works out of the box with Claude Desktop, Cursor, Continue.dev, and [Gordon](/manuals/ai/gordon/_index.md).
12-
- Integrated tool discovery: Browse and launch MCP servers that are available in the Docker MCP Catalog, directly from Docker Desktop.
13-
- No manual setup: Skip dependency management, runtime setup, and manual server configuration.
14+
- Cross-LLM compatibility: Instantly works with Claude Desktop, Cursor, Continue.dev, and [Gordon](/manuals/ai/gordon/_index.md).
15+
- Integrated tool discovery: Browse and launch MCP servers from the Docker MCP Catalog directly in Docker Desktop.
16+
- Zero manual setup: No dependency management, runtime configuration, or server setup required.
17+
- Functions as both an MCP server aggregator and a gateway for clients to access installed MCP servers.
1418

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

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

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

23-
To enable an MCP server, simply use the toggle switch to toggle it on.
26+
### Passive security
2427

25-
> [!NOTE]
26-
>
27-
> 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.
28+
- Image signing and attestation: All MCP server images under `mcp/` in the [catalog](catalog.md)
29+
are built by Docker and digitally
30+
signed to verify their source and integrity. Each image includes a Software
31+
Bill of Materials (SBOM) for full transparency.
2832

29-
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.
33+
### Active security
3034

31-
## Installation
35+
Security at runtime is enforced through resource and access limitations:
3236

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

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

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

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

43-
The following example assumes you have already installed and set up Claude Desktop.
49+
## Enable Docker MCP Toolkit
4450

45-
1. In the Docker MCP Toolkit extension, search for the Puppeteer MCP server in the **MCP Servers** tab, and toggle it on to enable.
46-
2. From the **MCP Clients** tab, select the **Connect** button for Claude Desktop.
47-
3. Within Claude Desktop, submit the following prompt using the Sonnet 3.5 model:
51+
1. Open the Docker Desktop settings and select **Beta features**.
52+
2. Select **Enable Docker MCP Toolkit**.
53+
3. Select **Apply & restart**.
54+
55+
>[!NOTE]
56+
>If you have the MCP Toolkit _extension_ installed, you can uninstall it.
57+
58+
## Install an MCP server
59+
60+
To install an MCP server:
61+
62+
1. In Docker Desktop, select **MCP Toolkit** and select the **Catalog** tab.
63+
When you select a server you can see the following
64+
information:
65+
66+
- Tool name and description
67+
- Partner/publisher
68+
- The list of callable tools the server provides.
69+
70+
2. Find the MCP server of your choice and select the **Plus** icon.
71+
3. Optional: Some servers require extra configuration. To configure them, select
72+
the **Config** tab and follow the instructions available on the repository of the provider of the MCP server.
73+
74+
> [!TIP]
75+
> By default, the Gordon [client](#install-an-mcp-client) is enabled,
76+
> which means Gordon can automatically interact with your MCP servers.
77+
78+
To learn more about the MCP server catalog, see [Catalog](catalog.md).
79+
80+
### Example: Use the GitHub MCP server
81+
82+
Imagine you want to enable Ask Gordon to interact with your GitHub account:
83+
84+
1. From the **MCP Toolkit** menu, select the **Catalog** tab and find
85+
the **GitHub Official** server and add it.
86+
2. In the server's **Config** tab, insert your token generated from
87+
your [GitHub account](https://github.com/settings/personal-access-tokens).
88+
3. In the **Clients** tab, ensure Gordon is connected.
89+
4. From the **Ask Gordon** menu, you can now send requests related to your
90+
GitHub account, in accordance to the tools provided by the GitHub MCP server. To test it, ask Gordon:
4891

4992
```text
50-
Take a screenshot of docs.docker.com and then invert the colors
93+
What's my GitHub handle?
5194
```
5295

53-
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.
96+
Make sure to allow Gordon to interact with GitHub by selecting **Always allow** in Gordon's answer.
97+
98+
## Install an MCP client
99+
100+
When you have installed MCP servers, you can add clients to the MCP Toolkit. These clients
101+
can interact with the installed MCP servers, turning the MCP Toolkit into a gateway.
102+
103+
To install a client:
104+
105+
1. In Docker Desktop, select **MCP Toolkit** and select the **Clients** tab.
106+
2. Find the client of your choice and select **Connect**.
107+
108+
Your client can now interact with the MCP Toolkit.
109+
110+
### Example: Use Claude Desktop as a client
111+
112+
Imagine you have Claude Desktop installed, and you want to use the GitHub MCP server,
113+
and the Puppeteer MCP server, you do not have to install the servers in Claude Desktop.
114+
You can simply install these 2 MCP servers in the MCP Toolkit,
115+
and add Claude Desktop as a client:
116+
117+
1. From the **MCP Toolkit** menu, select the **Catalog** tab and find the **Puppeteer** server and add it.
118+
2. Repeat for the **GitHub** server.
119+
3. From the **Clients** tab, select **Connect** next to **Claude Desktop**. Restart
120+
Claude Desktop if it's running, and it can now access all the servers in the MCP Toolkit.
121+
4. Within Claude Desktop, run a test by submitting the following prompt using the Sonnet 3.5 model:
122+
123+
```text
124+
Take a screenshot of docs.docker.com and then invert the colors
125+
```

0 commit comments

Comments
 (0)