When using mcp/docker as an MCP server on Windows, the container starts successfully but never responds to the
JSON-RPC initialize request, resulting in a 60-second timeout and disconnection.
Also attempted setup through the Docker MCP Toolkit UI (Docker Desktop → Extensions → MCP Toolkit → Clients → Claude
Code), which showed a successful connection status in the UI, but the initialize handshake still timed out.
Related to #263 — that issue reported a similar failure on Windows using alpine/socat, where Docker pipe was
unavailable. This issue reproduces with mcp/docker directly, using TCP transport (confirmed working), but the
container still hangs on initialize.
Environment
- OS: Windows 11 Home (10.0.26200)
- Docker Desktop: 4.51.0 (210443)
- Docker Engine API: 1.51
- Claude Desktop: installed via https://claude.ai/desktop
- Claude Code: CLI
Steps to Reproduce
Configure claude_desktop_config.json with any of the following approaches and restart Claude Desktop:
Attempt 1 — Unix socket mount:
{
"command": "docker",
"args": ["run", "-i", "--rm", "-v", "/var/run/docker.sock:/var/run/docker.sock", "mcp/docker"]
}
Attempt 2 — TCP via host.docker.internal:
{
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/docker"],
"env": { "DOCKER_HOST": "tcp://host.docker.internal:2375" }
}
Attempt 3 — via WSL:
{
"command": "wsl",
"args": ["-e", "docker", "run", "-i", "--rm", "-e", "DOCKER_HOST=tcp://host.docker.internal:2375", "mcp/docker"]
}
Attempt 4 — via Docker MCP Toolkit UI:
- Open Docker Desktop → MCP Toolkit → Clients
- Connect Claude Code as MCP client
- UI shows "Connected" status
- Attempt to use Docker tools — same initialize timeout occurs
Note: TCP endpoint confirmed working — GET localhost:2375/version returns HTTP 200 with Docker Engine 28.5.2.
Actual Behavior
Claude Desktop logs show:
Server started and connected successfully
Message from client: {"method":"initialize","params":{"protocolVersion":"2025-11-25"},...}
// 60 seconds of silence — no response from container
MCP error -32001: Request timed out
Client transport closed
Expected Behavior
The mcp/docker container should respond to the initialize handshake and expose Docker management tools.
This issue was generated with the help of Claude.
When using mcp/docker as an MCP server on Windows, the container starts successfully but never responds to the
JSON-RPC initialize request, resulting in a 60-second timeout and disconnection.
Also attempted setup through the Docker MCP Toolkit UI (Docker Desktop → Extensions → MCP Toolkit → Clients → Claude
Code), which showed a successful connection status in the UI, but the
initializehandshake still timed out.Related to #263 — that issue reported a similar failure on Windows using alpine/socat, where Docker pipe was
unavailable. This issue reproduces with mcp/docker directly, using TCP transport (confirmed working), but the
container still hangs on initialize.
Environment
Steps to Reproduce
Configure claude_desktop_config.json with any of the following approaches and restart Claude Desktop:
Attempt 1 — Unix socket mount:
{
"command": "docker",
"args": ["run", "-i", "--rm", "-v", "/var/run/docker.sock:/var/run/docker.sock", "mcp/docker"]
}
Attempt 2 — TCP via host.docker.internal:
{
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/docker"],
"env": { "DOCKER_HOST": "tcp://host.docker.internal:2375" }
}
Attempt 3 — via WSL:
{
"command": "wsl",
"args": ["-e", "docker", "run", "-i", "--rm", "-e", "DOCKER_HOST=tcp://host.docker.internal:2375", "mcp/docker"]
}
Attempt 4 — via Docker MCP Toolkit UI:
Note: TCP endpoint confirmed working — GET localhost:2375/version returns HTTP 200 with Docker Engine 28.5.2.
Actual Behavior
Claude Desktop logs show:
Server started and connected successfully
Message from client: {"method":"initialize","params":{"protocolVersion":"2025-11-25"},...}
// 60 seconds of silence — no response from container
MCP error -32001: Request timed out
Client transport closed
Expected Behavior
The mcp/docker container should respond to the initialize handshake and expose Docker management tools.
This issue was generated with the help of Claude.