|
1 | 1 | --- |
2 | 2 | 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/ |
5 | 8 | --- |
6 | 9 |
|
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. |
8 | 11 |
|
9 | 12 | ## Key features |
10 | 13 |
|
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. |
14 | 18 |
|
15 | | -## How it works |
| 19 | + |
16 | 20 |
|
17 | | -The **MCP Servers** tab lists all available servers from the Docker MCP Catalog. Each entry includes: |
| 21 | +## Security |
18 | 22 |
|
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. |
22 | 25 |
|
23 | | -To enable an MCP server, simply use the toggle switch to toggle it on. |
| 26 | +### Passive security |
24 | 27 |
|
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. |
28 | 32 |
|
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 |
30 | 34 |
|
31 | | -## Installation |
| 35 | +Security at runtime is enforced through resource and access limitations: |
32 | 36 |
|
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. |
34 | 40 |
|
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. |
38 | 42 |
|
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. |
40 | 45 |
|
41 | | -### Example |
| 46 | +- Interception of tool requests: Requests to and from tools that contain sensitive |
| 47 | + information such as secrets are blocked. |
42 | 48 |
|
43 | | -The following example assumes you have already installed and set up Claude Desktop. |
| 49 | +## Enable Docker MCP Toolkit |
44 | 50 |
|
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: |
48 | 91 |
|
49 | 92 | ```text |
50 | | - Take a screenshot of docs.docker.com and then invert the colors |
| 93 | + What's my GitHub handle? |
51 | 94 | ``` |
52 | 95 |
|
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