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
-
BOM in claude_desktop_config.json — PowerShell
Out-File -Encoding UTF8adds a hidden BOM. Claude silently ignores the file. - %USERPROFILE% doesn't expand — Claude Desktop does not resolve env vars in the config.
- docker.exe path — No inherited PATH. Must be full absolute path.
-
Docker named pipe vs Unix socket — Windows pipe flakes;
/var/run/docker.sockis reliable. - Cold-start bloat — Any server downloading Chrome (Puppeteer) or heavy deps on first run blows the budget.
- 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.
Top comments (0)