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

FieldValue
Packagemcp-server-docker
Installnpx mcp-server-docker
Compatible withClaude Code
Statusactive
GitHubhttps://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 the docker group, 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 default may 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 npx will 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-code channels occasionally surface MCP server usage questions and community configs

This article contains affiliate links. We may earn a commission at no extra cost to you. Learn more.

Share: X