ptyyktIo1KjH0$v+0
z6MN#zSqRCK1+xK*hlNF@Jy{R{ADBGlq*eb;9yQ>z@=+E06CmbVU!^__O}};d7eHA6
zKzbpUr@08ngf@m^(d5w+`2>J60GMQN|Hu;nnI>?A6ik{?bN>QH4@a0)csWP#)SFsH
zk+->Ixbv5&C%q>*=)6vQEy{nU)
z$JS`LeO8yN2qTl6Q?%D!iw+c=U3j?5Ms!j)f{gWHrj%Fi(ODg(|%>^OyM2
zfzN5i#Aj3S;3${2n$422n{gvs=RuIPf5yo_-af_!q>y#s(6XnnL=Fe^{Z(aQZordi
zY;ZEMEmLrGD4u*9{srLMpOs}$pKS4mTIB5%7froNkw~)gp@$c|t87uN&=JZIB=Iy~
zZ5$`6iU0==F-8dh;L0-nBf<73$wcxGes#{T=viYd)J2Zv3>}wrmI5#zVW&7g85{{bsE5fgmt9;bduSE|o$??Sit%y`ZC;bDs^&?E^;OGkALZu_6JXF1c5J7DFS;t7me1
zq|MV)V~b322F95N74T6$GZ8peig%w%
zWRg-WvG~=wFK?*jmNy7Me#`{T{tEgQief7|0?
h^#95vnL>UKa3))oU#vPTKR*LrGLniC [!NOTE]
+> If you use Docker Desktop with MCP Toolkit enabled, the Gateway runs
+> automatically in the background. You don't need to start or configure it
+> manually. This documentation is for users who want to understand how the
+> Gateway works or run it directly for advanced use cases.
+
+> [!TIP]
> E2B sandboxes now include direct access to the Docker MCP Catalog, giving developers
> access to over 200 tools and services to seamlessly build and run AI agents. For
> more information, see [E2B Sandboxes](sandboxes.md).
-## Who is the MCP Gateway designed for?
-
-The MCP Gateway solves problems encountered by various groups:
-
-- Developers: Deploy MCP servers locally and in production using Docker Compose,
- with built-in support for protocol handling, credential management, and security policies.
-- Security teams: Achieve enterprise-grade isolation and visibility into AI tool
- behavior and access patterns.
-- Operators: Scale effortlessly from local development environments to production
- infrastructure with consistent, low-touch operations.
-
-## Key features
-
-- Server management: List, inspect, and call MCP tools, resources and prompts from multiple servers
-- Container-based servers: Run MCP servers as Docker containers with proper isolation
-- Secrets management: Secure handling of API keys and credentials via Docker Desktop
-- Dynamic discovery and reloading: Automatic tool, prompt, and resource discovery from running servers
-- Monitoring: Built-in logging and call tracing capabilities
-
-## Install a pre-release version of the MCP Gateway
-
-If you use Docker Desktop, the MCP Gateway is readily available. Use the
-following instructions to test pre-release versions.
-
-### Prerequisites
+## How it works
-- Docker Desktop with the [MCP Toolkit feature enabled](../mcp-catalog-and-toolkit/toolkit.md#enable-docker-mcp-toolkit).
-- Go 1.24+ (for development)
+MCP Gateway runs MCP servers in isolated Docker containers with restricted
+privileges, network access, and resource usage. It includes built-in logging
+and call-tracing capabilities to ensure full visibility and governance of AI
+tool activity.
-### Install using a pre-built binary
+The MCP Gateway manages the server's entire lifecycle. When an AI application
+needs to use a tool, it sends a request to the Gateway. The Gateway identifies
+which server handles that tool and, if the server isn't already running, starts
+it as a Docker container. The Gateway then injects any required credentials,
+applies security restrictions, and forwards the request to the server. The
+server processes the request and returns the result through the Gateway back to
+the AI application.
-You can download the latest binary from the [GitHub releases page](https://github.com/docker/mcp-gateway/releases/latest).
+The MCP Gateway solves a fundamental problem: MCP servers are just programs
+that need to run somewhere. Running them directly on your machine means dealing
+with installation, dependencies, updates, and security risks. By running them
+as containers managed by the Gateway, you get isolation, consistent
+environments, and centralized control.
-Rename the relevant binary and copy it to the destination matching your OS:
+## Usage
-| OS | Binary name | Destination folder |
-|---------|------------------|-------------------------------------|
-| Linux | `docker-mcp` | `$HOME/.docker/cli-plugins` |
-| macOS | `docker-mcp` | `$HOME/.docker/cli-plugins` |
-| Windows | `docker-mcp.exe` | `%USERPROFILE%\.docker\cli-plugins` |
+To use the MCP Gateway, you'll need Docker Desktop with MCP Toolkit enabled.
+Follow the [MCP Toolkit guide](toolkit.md) to enable and configure servers
+through the graphical interface.
-Or copy it into one of these folders for installing it system-wide:
+### Manage the MCP Gateway from the CLI
+With MCP Toolkit enabled, you can also interact with the MCP Gateway using the
+CLI. The `docker mcp` suite of commands lets you manage servers and tools
+directly from your terminal. You can also manually run Gateways with custom
+configurations, including security restrictions, server catalogs, and more.
-{{< tabs group="" >}}
-{{< tab name="On Unix environments">}}
+To run an MCP Gateway manually, with customized parameters, use the `docker
+mcp` suite of commands.
-* `/usr/local/lib/docker/cli-plugins` OR `/usr/local/libexec/docker/cli-plugins`
-* `/usr/lib/docker/cli-plugins` OR `/usr/libexec/docker/cli-plugins`
+1. Browse the [MCP Catalog](https://hub.docker.com/mcp) for a server that you
+ want to use, and copy the install command from the **Manual installation**
+ section.
-> [!NOTE]
-> You may have to make the binaries executable with `chmod +x`:
-> ```bash
-> $ chmod +x ~/.docker/cli-plugins/docker-mcp
-> ```
-
-{{< /tab >}}
-{{< tab name="On Windows">}}
-
-* `C:\ProgramData\Docker\cli-plugins`
-* `C:\Program Files\Docker\cli-plugins`
-
-{{< /tab >}}
-{{}}
-
-You can now use the `mcp` command:
-
-```bash
-docker mcp --help
-```
-
-## Use the MCP Gateway
-
-1. Select a server of your choice from the [MCP Catalog](https://hub.docker.com/mcp)
- and copy the install command from the **Manual installation** section.
-
-1. For example, run this command in your terminal to install the `duckduckgo`
+ For example, run this command in your terminal to install the `duckduckgo`
MCP server:
```console
docker mcp server enable duckduckgo
```
-1. Connect a client, like Visual Studio Code:
+2. Connect a client, like Claude Code:
```console
- docker mcp client connect vscode
+ docker mcp client connect claude-code
```
-1. Run the gateway:
+3. Run the gateway:
```console
docker mcp gateway run
```
Now your MCP gateway is running and you can leverage all the servers set up
-behind it from Visual Studio Code.
+behind it from Claude Code.
+
+### Install the MCP Gateway manually
+
+For Docker Engine without Docker Desktop, you'll need to download and install
+the MCP Gateway separately before you can run it.
+
+1. Download the latest binary from the [GitHub releases page](https://github.com/docker/mcp-gateway/releases/latest).
+
+2. Move or symlink the binary to the destination matching your OS:
-[View the complete docs on GitHub.](https://github.com/docker/mcp-gateway?tab=readme-ov-file#usage)
+ | OS | Binary destination |
+ | ------- | ----------------------------------- |
+ | Linux | `~/.docker/cli-plugins/docker-mcp` |
+ | macOS | `~/.docker/cli-plugins/docker-mcp` |
+ | Windows | `%USERPROFILE%\.docker\cli-plugins` |
+
+3. Make the binaries executable:
+
+ ```bash
+ $ chmod +x ~/.docker/cli-plugins/docker-mcp
+ ```
+
+You can now use the `docker mcp` command:
+
+```bash
+docker mcp --help
+```
-## Related pages
+## Additional information
-- [Docker MCP Toolkit and catalog](/manuals/ai/mcp-catalog-and-toolkit/_index.md)
+For more details on how the MCP Gateway works and available customization
+options, see the complete documentation [on GitHub](https://github.com/docker/mcp-gateway).
diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md b/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md
index 595b957b5fdd..86b2e1ea0ee8 100644
--- a/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md
+++ b/content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md
@@ -11,21 +11,17 @@ aliases:
{{< summary-bar feature_name="Docker MCP Toolkit" >}}
-The Docker MCP Toolkit is a gateway that lets you set up, manage, and run
-containerized MCP servers and connect them to AI agents. It removes 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 way from MCP tool
-discovery to local execution.
-
-> [!NOTE]
-> If you need to run your own MCP gateway,
-> see [Docker MCP Gateway](/manuals/ai/mcp-catalog-and-toolkit/mcp-gateway.md).
+The Docker MCP Toolkit is a management interface integrated into Docker Desktop
+that lets you set up, manage, and run containerized MCP servers and connect
+them to AI agents. It removes friction from tool usage by offering secure
+defaults, easy setup, and support for a growing ecosystem of LLM-based clients.
+It is the fastest way from MCP tool discovery to local execution.
## Key features
-- Cross-LLM compatibility: Instantly works with Claude Desktop, Cursor, Continue.dev, and [Gordon](/manuals/ai/gordon/_index.md).
+- Cross-LLM compatibility: Works with Claude, Cursor, and other MCP clients.
- 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.
+- Zero manual setup: No dependency management, runtime configuration, or setup required.
- Functions as both an MCP server aggregator and a gateway for clients to access installed MCP servers.
## How the MCP Toolkit works
@@ -44,24 +40,7 @@ can run a container directly, without managing dependencies or configuring
runtimes.
Depending on the MCP server, the tools it provides might run within the same
-container as the server or in dedicated containers:
-
-{{< tabs group="" >}}
-{{< tab name="Single container">}}
-
-
-
-{{< /tab >}}
-{{< tab name="Separate containers">}}
-
-
-
-{{< /tab >}}
-{{}}
-
->[!NOTE]
->
-> The Docker MCP Toolkit was originally released as an extension. This extension is now deprecated and should be uninstalled.
+container as the server or in dedicated containers for better isolation.
## Security
@@ -70,14 +49,18 @@ surfaces and ensure safe runtime behavior.
### Passive security
-- 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.
+Passive security refers to measures implemented at build-time, when the MCP
+server code is packaged into a Docker image.
+
+- Image signing and attestation: All MCP server images under `mcp/` in the [MCP
+ 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.
### Active security
-Security at runtime is enforced through resource and access limitations:
+Active security refers to security measures at runtime, before and after tools
+are invoked, enforced through resource and access limitations.
- CPU allocation: MCP tools are run in their own container. They are
restricted to 1 CPU, limiting the impact of potential misuse of computing
@@ -91,30 +74,45 @@ Security at runtime is enforced through resource and access limitations:
- Interception of tool requests: Requests to and from tools that contain sensitive
information such as secrets are blocked.
-To learn more about the MCP server catalog, see [Catalog](catalog.md).
+### OAuth authentication
+
+Some MCP servers require authentication to access external services. The MCP
+Toolkit handles OAuth flows for supported services, currently limited to
+GitHub. When you authorize the MCP Toolkit to access your GitHub account, any
+installed MCP server that needs GitHub access can use those credentials without
+requiring separate authentication.
+
+To set up OAuth for a service, use the **OAuth** tab in the MCP Toolkit section
+in Docker Desktop. Once authorized, the credentials are available to any MCP
+server that needs them. You can revoke access at any time from the same tab.
-### Example: Use the **GitHub Official** MCP server
+## Usage examples
-Imagine you want to enable [Ask Gordon](/manuals/ai/gordon/_index.md) to interact with your GitHub account:
+### Example: Use the GitHub Official MCP server with Ask Gordon
-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, [connect via OAuth](#authenticate-via-oauth).
+To illustrate how the MCP Toolkit works, here's how to enable the GitHub
+Official MCP server and use [Ask Gordon](/manuals/ai/gordon/_index.md) to
+interact with your GitHub account:
+
+1. From the **MCP Toolkit** menu in Docker Desktop, select the **Catalog** tab
+ and find the **GitHub Official** server and add it.
+2. In the server's **Config** tab, authenticate via OAuth.
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 Official server. To test it, ask Gordon:
+ GitHub account, in accordance to the tools provided by the GitHub Official
+ server. To test it, ask Gordon:
```text
What's my GitHub handle?
```
- Make sure to allow Gordon to interact with GitHub by selecting **Always allow** in Gordon's answer.
+ Make sure to allow Gordon to interact with GitHub by selecting **Always
+ allow** in Gordon's answer.
> [!TIP]
-> By default, the Gordon client is enabled,
+> The Gordon client is enabled by default,
> which means Gordon can automatically interact with your MCP servers.
-
### Example: Use Claude Desktop as a client
Imagine you have Claude Desktop installed, and you want to use the GitHub MCP server,
@@ -136,15 +134,12 @@ and add Claude Desktop as a client:
You can interact with all your installed MCP servers in Visual Studio Code:
-
-
1. To enable the MCP Toolkit:
-
{{< tabs group="" >}}
{{< tab name="Enable globally">}}
- 1. Insert the following in your Visual Studio Code's User`mcp.json`:
+ 1. Insert the following in your Visual Studio Code's User `mcp.json`:
```json
"mcp": {
@@ -173,8 +168,13 @@ You can interact with all your installed MCP servers in Visual Studio Code:
```
> [!NOTE]
- > This command creates a `.vscode/mcp.json` file in the current directory. We
- > recommend you add it to your `.gitignore` file.
+ > This command creates a `.vscode/mcp.json` file in the current
+ > directory. As this is a user-specific file, add it to your `.gitignore`
+ > file to prevent it from being committed to the repository.
+ >
+ > ```console
+ > echo ".vscode/mcp.json" >> .gitignore
+ > ```
{{< /tab >}}
{{}}
@@ -190,23 +190,7 @@ You can interact with all your installed MCP servers in Visual Studio Code:
For more information about the Agent mode, see the
[Visual Studio Code documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_use-mcp-tools-in-agent-mode).
-
-
-## Authenticate via OAuth
-
-You can connect the MCP Toolkit to your development workflow via
-OAuth integration. For now, the MCP Toolkit only supports GitHub OAuth.
-
-1. On https://github.com/, ensure you are signed in.
-1. In Docker Desktop, select **MCP Toolkit** and select the **OAuth** tab.
-1. In the GitHub entry, select **Authorize**. Your browser opens the GitHub authorization page.
-1. In the GitHub authorization page, select **Authorize Docker**. Once the authorization
- is successful, you are automatically redirected to Docker Desktop.
-1. Install the **GitHub Official** MCP server, see [Install an MCP server](/manuals/ai/mcp-catalog-and-toolkit/get-started.md#install-an-mcp-server).
-
-The MCP Toolkit now has access to your GitHub account. To revoke access, select **Revoke** in the **OAuth** tab.
-See an example in [Use the **GitHub Official** MCP server](#example-use-the-github-official-mcp-server).
-
-## Related pages
+## Further reading
-- [Open-source MCP Gateway](/manuals/ai/mcp-catalog-and-toolkit/mcp-gateway.md)
+- [MCP Catalog](/manuals/ai/mcp-catalog-and-toolkit/catalog.md)
+- [MCP Gateway](/manuals/ai/mcp-catalog-and-toolkit/mcp-gateway.md)
diff --git a/hugo_stats.json b/hugo_stats.json
index 4907c59ce48d..e0b7375b82ea 100644
--- a/hugo_stats.json
+++ b/hugo_stats.json
@@ -108,8 +108,6 @@
"Okta",
"Okta-SAML",
"Old-Dockerfile",
- "On-Unix-environments",
- "On-Windows",
"Other-providers",
"PHP",
"PowerShell",
@@ -128,9 +126,7 @@
"Run-Ollama-in-a-container",
"Run-Ollama-outside-of-a-container",
"Rust",
- "Separate-containers",
"Shell-script-deployment",
- "Single-container",
"Specific-version",
"Svelte",
"Testcontainers-Cloud",