The gateway starts and tools are listed, but every tool call hangs or returns empty — with no error anywhere. Why?
The signature silent failure of gateway architectures: the gateway process itself is healthy (exit code 0, tools enumerated), but the per-server containers behind it failed to pull their images — usually a corporate proxy, a stale catalog, or a registry auth gap. On Linux there is a second variant: DOCKER_HOST pointing at a rootless socket while the gateway runs in the root context, which makes servers silently vanish from the listing. The engineering fix: run docker mcp gateway run --verbose to surface pull errors, pre-pull the server images manually, and verify docker context ls matches between your shell and the gateway.
How much latency does the gateway add?
Roughly 10-30ms per tool call for the broker hop, with container startup amortized through pooling. Against multi-second model latency, it is noise — and it buys you isolation that no amount of prompt engineering can replicate.
Can I run my own custom servers through the gateway?
Yes — package the server as an OCI image, add it to a custom catalog, and you inherit signing, secrets injection, and network scoping for free. This is the correct way to run internal proprietary MCP servers.
How is this different from running servers directly with npx?
An npx server inherits your full user authority: every file you can read, it can read; every credential in your environment, it can leak. A gateway container receives only the volumes, networks, and secrets you explicitly declare. The difference is not convenience — it is the blast radius of a single hallucinated tool call.