-
Notifications
You must be signed in to change notification settings - Fork 8.1k
MCP: MCP Toolkit in Docker Desktop #22673
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| 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
|
||||||
|
|
||||||
| ## 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
|
||||||
| - 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 | ||||||
|  | ||||||
|
|
||||||
| 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
|
||||||
|
|
||||||
| 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**. | ||||||
|
|
||||||
| >[!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
|
||||||
|
||||||
| 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. |
Check failure on line 71 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md
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"}
Check failure on line 85 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md
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"}
Check warning on line 95 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md
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
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"}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.