What Is Docker MCP Server?
Docker MCP Server is an MCP server that exposes Docker management capabilities to Claude Code, enabling container, image, and volume operations through natural language prompts. It is maintained by ckreiling as an open-source project.
Quick Facts
| Field | Value |
|---|---|
| Package | mcp-server-docker |
| Install | npx mcp-server-docker |
| Compatible with | Claude Code |
| Status | active |
| GitHub | https://github.com/ckreiling/mcp-server-docker |
What You Can Do With It
- Container management: Start, stop, inspect, and remove Docker containers without leaving your Claude Code session.
- Image inspection: Query metadata about local Docker images, including tags, digests, and layer information.
- Log viewing: Retrieve stdout/stderr logs from running or stopped containers to debug failures directly in context.
- Service orchestration: Manage multi-container setups, making it possible to coordinate services during development workflows.
How to Set It Up
Prerequisites: Docker must be installed and the Docker daemon must be running on your machine. Node.js (with npx) is required to run the server.
Step 1 — Verify Docker is running:
docker info
**Step 2 — Test the server manually (optional):**
```bash
npx mcp-server-docker
Step 3 — Add it to your Claude Code MCP config:
Open (or create) .claude/mcp.json in your project root, or your global Claude Code configuration file, and add the following entry:
{
"mcpServers": {
"docker": {
"command": "npx",
"args": ["mcp-server-docker"]
}
}
}
Restart Claude Code after saving the config. The Docker tools should appear in your available MCP tool list.
Works Best With
Docker MCP Server is documented as compatible with Claude Code. It communicates over stdio, which is the standard transport layer Claude Code uses for local MCP servers. If you run other MCP clients that support stdio-based servers (such as the Claude Desktop app), the same JSON config pattern applies — adjust the config file path accordingly (claude_desktop_config.json for Claude Desktop).
Known Limitations
- Docker daemon dependency: The server communicates with Docker via the local Docker socket. If the Docker daemon is not running, all tool calls will fail. Ensure Docker Desktop or Docker Engine is active before starting Claude Code.
- Permissions: On Linux, the user running Claude Code must have access to the Docker socket (
/var/run/docker.sock). This typically means being in thedockergroup, or running with elevated privileges. - No remote Docker hosts out of the box: The server targets the local Docker context. Managing remote Docker hosts or Docker contexts other than
defaultmay require additional configuration not documented in the current release. - No built-in rate limiting: This server connects directly to your local daemon, so there are no API rate limits — but destructive operations (container removal, image pruning) execute immediately with no confirmation step beyond what Claude Code provides.
- npx cold starts: Running via
npxwill download the package on first use if it is not cached. Pin a specific version in your config (npx mcp-server-docker@<version>) for reproducible behavior in team environments.
Community Resources
- GitHub Repository — source code, open issues, and release history
- GitHub Issues — report bugs or check known problems before opening a new ticket
- r/docker — general Docker community; search for “MCP” threads for related discussion
- Anthropic Discord —
#claude-codechannels occasionally surface MCP server usage questions and community configs



