DEV Community

Jonathan
Jonathan

Posted on • Edited on

Why Your MCP Setup Keeps Timing Out in 60 Seconds (And How I Fixed It on Windows)

I posted the FusionAL launch yesterday. Today I'm dropping the real reason it exists.

Every dev hits this: add more than 8 MCP servers → Claude Desktop (or Cursor/VSCode) spins for exactly 60 seconds → red X, "timed out".

Happens on every underpowered machine (my i5-7300HQ is the poster child). Tutorials ignore it. AWS/Finch articles skip Windows entirely.

I documented the 6 Windows-specific failure modes nobody else solved, then built one Docker gateway that loads 150+ tools under the limit every single time.

The 6 Real Killers

  1. BOM in claude_desktop_config.json — PowerShell Out-File -Encoding UTF8 adds a hidden BOM. Claude silently ignores the file.
  2. %USERPROFILE% doesn't expand — Claude Desktop does not resolve env vars in the config.
  3. docker.exe path — No inherited PATH. Must be full absolute path.
  4. Docker named pipe vs Unix socket — Windows pipe flakes; /var/run/docker.sock is reliable.
  5. Cold-start bloat — Any server downloading Chrome (Puppeteer) or heavy deps on first run blows the budget.
  6. Registry bloat — >8 entries in registry.yaml = timeout on normal hardware.

The Fix: One Lean Gateway

FusionAL runs one docker/mcp-gateway container that manages everything via a tiny registry.yaml + catalogs. Init drops to 12-18 seconds.

Exact Config (No BOM, Works Every Time)


powershell
$config = '{"mcpServers":{"fusional-gateway":{"command":"C:\\Program Files\\Docker\\Docker\\resources\\bin\\docker.exe","args":["run","-i","--rm","-v","/var/run/docker.sock:/var/run/docker.sock","-v","C:/Users/puddi/.docker/mcp:/mcp","docker/mcp-gateway","--catalog=/mcp/catalogs/docker-mcp.yaml","--catalog=/mcp/catalogs/custom.yaml","--registry=/mcp/registry.yaml","--config=/mcp/config.yaml","--transport=stdio"]}},"preferences":{"sidebarMode":"chat","coworkScheduledTasksEnabled":false}}'

[System.IO.File]::WriteAllText("$env:APPDATA\Claude\claude_desktop_config.json", $config, (New-Object System.Text.UTF8Encoding($false)))
Start the Stack
PowerShellcd C:\Users\puddi\Projects\mcp-consulting-kit
docker compose up -d
Restart Claude Clean
PowerShellStop-Process -Name "claude" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 5
Start-Process "$env:LOCALAPPDATA\AnthropicClaude\claude.exe"
Keep registry.yaml ≤8 entries. The gateway handles the rest.
Results on My i5-7300HQ

Full 150+ tools: 12-18s cold start
No more Puppeteer downloads in registry
Works with Claude Desktop today, Cursor/VSCode/Amazon Q tomorrow (gateway is LLM-agnostic)

Get It

Gateway repo: https://github.com/TangMan69/FusionAL
Full consulting kit (3 custom servers + materials): https://github.com/TangMan69/mcp-consulting-kit

Done-for-you setup + custom MCP servers for your stack? Book 30 min: https://calendly.com/jonathanmelton004/30min
What timeout issue are you still hitting? Comment below — I'll debug it live.
Enter fullscreen mode Exit fullscreen mode

Top comments (0)