Docker MCP Gateway
The docker mcp CLI plugin and gateway: MCP servers from Docker's catalog in isolated containers behind one connection point
Install
docker mcp gateway runThe plugin ships with recent Docker Desktop. The gateway runs over stdio with the default profile.
This is third-party code. Review the repository files before installing.
What it does
This is the code of the docker mcp plugin behind the MCP Toolkit in Docker Desktop. Each local server runs in its own container, and clients connect to a single gateway that routes calls. Servers are grouped into profiles that can be connected to Cursor or Claude Code, exported and pushed to an OCI registry. Secrets live in Docker Desktop's secret store, with built-in OAuth flows, tool allowlists and call logging. You can build your own catalogs, including from the open MCP registry.
Who it is for. For developers and DevOps engineers who run many MCP servers and want them isolated with centralized setup.
Good fit when
- You don't want to run third-party npx and uvx servers directly on the host
- One set of servers must work across several clients
- You want to share a server profile with the team through a registry
Not a fit when
- You need a single remote HTTP server that connects in one line
- Docker is unavailable or disallowed on the machine
Example request
Create a dev-tools profile with GitHub and Notion servers from the Docker catalog and connect it to Claude CodeLimitations
Requires Docker Desktop 4.59 or newer with MCP Toolkit enabled; without Desktop some features need flags. Building from source needs Go. Docker Hub has restricted access from Russia, so pulling catalog images without a VPN may fail.
How to disable. Disconnect the client with docker mcp client disconnect <client-name>, delete profiles with docker mcp profile remove, and turn off MCP Toolkit in Docker Desktop settings.
MCP
- Transport
- stdio, http, sse
- Authentication
- not required
| Environment variables | |
|---|---|
| DOCKER_MCP_IN_CONTAINER | 1 bypasses Docker Desktop checks in WSL2, Docker CE and containers |
| CLAUDE_CONFIG_DIR | Alternate Claude Code config directory when connecting the client |
Security check
- Runs third-party MCP servers in containers
- Stores secrets and OAuth tokens for connected services
README in short
The README explains how the plugin relates to MCP Toolkit and Docker MCP Catalog and lists features and requirements. It details commands for profiles, servers within profiles, configuration, tool allowlists, catalogs, running the gateway, connecting clients, secrets and OAuth. It closes with the gateway architecture and the CLAUDE_CONFIG_DIR variable. MIT licensed.
FAQ
Can I use it without Docker Desktop?
Yes, in Docker CE, WSL2 or a container set DOCKER_MCP_IN_CONTAINER=1 and enable profiles with docker mcp feature enable profiles.
How do I restrict a server's tools?
Use docker mcp profile tools with --enable and --disable for specific tools.
Related
An MCP server built into the Netdata agent: metrics, logs, alerts and live process, service and container data for an AI assistant
GitHub's official MCP server: code, issues, pull requests, Actions and security alerts straight from the agent
AWS's official MCP server suite: docs, IaC, containers, serverless, databases, cost and monitoring
A GitHub Action that runs Claude Code in pull requests and issues: answers mentions, reviews and makes changes