Skip to content

Commit b6c0227

Browse files
authored
add MCP Gateway (#22935)
<!--Delete sections as needed --> ## Description <!-- Tell us what you did and why --> ## Related issues or tickets <!-- Related issues, pull requests, or Jira tickets --> ## Reviews <!-- Notes for reviewers here --> <!-- List applicable reviews (optionally @tag reviewers) --> - [ ] Technical review - [ ] Editorial review - [ ] Product review
1 parent 4bcf2e1 commit b6c0227

File tree

4 files changed

+132
-13
lines changed

4 files changed

+132
-13
lines changed

assets/css/components.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
}
9696
}
9797
.button {
98-
@apply mt-1 inline-block rounded-sm bg-blue-500 p-1 px-3 text-blue-50 text-white hover:bg-blue-600 dark:bg-blue-500 hover:dark:bg-blue-400;
98+
@apply my-2 mr-2 inline-block rounded-sm bg-blue-500 p-1 px-3 text-blue-50 text-white hover:bg-blue-600 dark:bg-blue-500 hover:dark:bg-blue-400;
9999
}
100100

101101
.summary-bar {

content/manuals/_index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ params:
3131
description: Run containers programmatically in your preferred programming language.
3232
icon: /icons/Testcontainers.svg
3333
link: /testcontainers/
34+
- title: MCP Gateway
35+
description: Manage and secure your AI tools with a single gateway.
36+
icon: /icons/toolkit.svg
37+
link: /ai/mcp-gateway/
38+
3439
ai:
3540
- title: Ask Gordon
3641
description: Streamline your workflow and get the most out of the Docker ecosystem with your personal AI assistant.

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

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ aliases:
77
- /ai/gordon/mcp/gordon-mcp-server/
88
---
99

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.
10+
The Docker MCP Toolkit is a gateway 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.
1111

1212
## Key features
1313

@@ -18,7 +18,7 @@ The Docker MCP Toolkit enables seamless setup, management, and execution of cont
1818

1919
## How the MCP toolkit works
2020

21-
MCP introduces two core concepts: MCP clients and MCP servers.
21+
MCP introduces two core concepts: MCP clients and MCP servers.
2222

2323
- MCP clients are typically embedded in LLM-based applications, such as
2424
the Claude Desktop App. They request resources or actions.
@@ -55,7 +55,7 @@ surfaces and ensure safe runtime behavior.
5555

5656
### Passive security
5757

58-
- Image signing and attestation: All MCP server images under `mcp/` in the [catalog](catalog.md)
58+
- Image signing and attestation: All MCP server images under `mcp/` in the [catalog](catalog.md)
5959
are built by Docker and digitally
6060
signed to verify their source and integrity. Each image includes a Software
6161
Bill of Materials (SBOM) for full transparency.
@@ -95,7 +95,7 @@ To install an MCP server:
9595
When you select a server you can see the following
9696
information:
9797

98-
- Tool name and description
98+
- Tool name and description
9999
- Partner/publisher
100100
- The list of callable tools the server provides.
101101

@@ -140,21 +140,21 @@ Your client can now interact with the MCP Toolkit.
140140

141141
### Example: Use Claude Desktop as a client
142142

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

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

154154
```text
155155
Take a screenshot of docs.docker.com and then invert the colors
156156
```
157-
5. From the **Clients** tab, select **Connect** next to **Claude Desktop**. Restart
157+
5. From the **Clients** tab, select **Connect** next to **Claude Desktop**. Restart
158158
Claude Desktop if it's running, and it can now access all the servers in the MCP Toolkit.
159159
6. Within Claude Desktop, run a test by submitting the following prompt using the Sonnet 3.5 model:
160160

@@ -173,7 +173,7 @@ You can interact with all your installed MCP servers in VS Code:
173173
{{< tab name="Enable globally">}}
174174

175175
1. Insert the following in your VS Code's User`settings.json`:
176-
176+
177177
```json
178178
"mcp": {
179179
"servers": {
@@ -195,11 +195,11 @@ You can interact with all your installed MCP servers in VS Code:
195195

196196
1. In your terminal, navigate to your project's folder.
197197
1. Run:
198-
198+
199199
```bash
200200
docker mcp client connect vscode
201201
```
202-
202+
203203
> [!NOTE]
204204
> This command creates a `.vscode/mcp.json` file in the current directory. We
205205
> recommend you add it to your `.gitignore` file.
@@ -208,7 +208,7 @@ You can interact with all your installed MCP servers in VS Code:
208208
{{</tabs >}}
209209

210210
1. In Visual Studio Code, open a new Chat and select the **Agent** mode:
211-
211+
212212
![Copilot mode switching](./images/copilot-mode.png)
213213

214214
1. You can also check the available MCP tools:
@@ -224,11 +224,15 @@ You can connect the MCP Toolkit to your development workflow via
224224
OAuth integration. For now, the MCP Toolkit only supports GitHub OAuth.
225225

226226
1. On https://github.com/, ensure you are signed in.
227-
1. In Docker Desktop, select **MCP Toolkit** and select the **OAuth** tab.
227+
1. In Docker Desktop, select **MCP Toolkit** and select the **OAuth** tab.
228228
1. In the GitHub entry, select **Authorize**. Your browser opens the GitHub authorization page.
229229
1. In the GitHub authorization page, select **Authorize Docker**. Once the authorization
230230
is successful, you are automatically redirected to Docker Desktop.
231231
1. Install the **GitHub Official** MCP server, see [Install an MCP server](#install-an-mcp-server).
232232

233233
The MCP Toolkit now has access to your GitHub account. To revoke access, select **Revoke** in the **OAuth** tab.
234234
See an example in [Use the **GitHub Official** MCP server](#example-use-the-github-official-mcp-server).
235+
236+
## Related pages
237+
238+
- [Open-source MCP Gateway](/manuals/ai/mcp-gateway/_index.md)
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
title: MCP Gateway
3+
description: "Docker's MCP Gateway provides secure, centralized, and scalable orchestration of AI tools through containerized MCP servers—empowering developers, operators, and security teams."
4+
keywords: MCP Gateway
5+
params:
6+
sidebar:
7+
group: Open source
8+
---
9+
10+
The MCP Gateway is Docker's open-source enterprise-ready solution for orchestrating and
11+
managing [Model Context Protocol (MCP)](https://spec.modelcontextprotocol.io/) servers
12+
securely across development and production environments.
13+
It is designed to help organizations connect MCP servers from the [Docker MCP Catalog](https://hub.docker.com/mcp) to MCP Clients without compromising security, visibility, or control.
14+
15+
By unifying multiple MCP servers into a single, secure endpoint, the MCP Gateway offers
16+
the following benefits:
17+
18+
- Secure by default: MCP servers run in isolated Docker containers with restricted
19+
privileges, network access, and resource usage.
20+
- Unified management: One gateway endpoint centralizes configuration, credentials,
21+
and access control for all MCP servers.
22+
- Enterprise observability: Built-in monitoring, logging, and filtering tools ensure
23+
full visibility and governance of AI tool activity.
24+
25+
## Who is the MCP Gateway designed for?
26+
27+
The MCP Gateway solves problems encountered by various groups:
28+
29+
- Developers: Deploy MCP servers locally and in production using Docker Compose,
30+
with built-in support for protocol handling, credential management, and security policies.
31+
- Security teams: Achieve enterprise-grade isolation and visibility into AI tool
32+
behavior and access patterns.
33+
- Operators: Scale effortlessly from local development environments to production
34+
infrastructure with consistent, low-touch operations.
35+
36+
## Key features
37+
38+
- Server management: List, inspect, and call MCP tools, resources and prompts from multiple servers
39+
- Container-based servers: Run MCP servers as Docker containers with proper isolation
40+
- Secrets management: Secure handling of API keys and credentials via Docker Desktop
41+
- Dynamic discovery and reloading: Automatic tool, prompt, and resource discovery from running servers
42+
- Monitoring: Built-in logging and call tracing capabilities
43+
44+
## Install a pre-release version of the MCP Gateway
45+
46+
If you use Docker Desktop, the MCP Gateway is readily available. Use the
47+
following instructions to test pre-release versions.
48+
49+
### Prerequisites
50+
51+
- Docker Desktop with the [MCP Toolkit feature enabled](../mcp-catalog-and-toolkit/toolkit.md#enable-docker-mcp-toolkit).
52+
- Go 1.24+ (for development)
53+
54+
### Install using a pre-built binary
55+
56+
You can download the latest binary from the [GitHub releases page](https://github.com/docker/mcp-gateway/releases/latest).
57+
58+
Rename the relevant binary and copy it to the destination matching your OS:
59+
60+
| OS | Binary name | Destination folder |
61+
|---------|---------------------|-------------------------------------|
62+
| Linux | `docker-mcp` | `$HOME/.docker/cli-plugins` |
63+
| macOS | `docker-mcp` | `$HOME/.docker/cli-plugins` |
64+
| Windows | `docker-mcp.exe` | `%USERPROFILE%\.docker\cli-plugins` |
65+
66+
Or copy it into one of these folders for installing it system-wide:
67+
68+
69+
{{< tabs group="" >}}
70+
{{< tab name="On Unix environments">}}
71+
72+
73+
* `/usr/local/lib/docker/cli-plugins` OR `/usr/local/libexec/docker/cli-plugins`
74+
* `/usr/lib/docker/cli-plugins` OR `/usr/libexec/docker/cli-plugins`
75+
76+
> [!NOTE]
77+
> You may have to make the binaries executable with `chmod +x`:
78+
79+
> ```bash
80+
> $ chmod +x ~/.docker/cli-plugins/docker-mcp
81+
> ```
82+
83+
{{< /tab >}}
84+
{{< tab name="On Windows">}}
85+
86+
* `C:\ProgramData\Docker\cli-plugins`
87+
* `C:\Program Files\Docker\cli-plugins`
88+
89+
{{< /tab >}}
90+
{{</tabs >}}
91+
92+
You can now use the `mcp` command:
93+
94+
```bash
95+
docker mcp --help
96+
```
97+
98+
## Use the MCP Gateway
99+
100+
Run:
101+
102+
```bash
103+
docker mcp gateway run
104+
```
105+
106+
To view all the commands and configuration options, go to the [mcp-gateway repository](https://github.com/docker/mcp-gateway?tab=readme-ov-file#usage).
107+
108+
## Related pages
109+
110+
- [Docker MCP toolkit and catalog](/manuals/ai/mcp-catalog-and-toolkit/_index.md)

0 commit comments

Comments
 (0)