docker/mcp-gateway: "Connecting to OAuth notification stream" error blocks MCP tool calls
docker/mcp-gateway logs "Connecting to OAuth notification stream at http://localhost/notify/notifications/channel/external-oauth" and then "dial unix /root/.docker/desktop/backend.sock: connect: no such file or directory", and all MCP tool calls stop working. Disabling
oauth.mcp-oauth-dcrin the gateway config didn't help. What fix or workaround is available for docker/mcp-gateway on Windows 11 / Ubuntu 22?Originally asked on GitHub: https://github.com/docker/mcp-gateway/issues/197
5 answers
Fixed in the
docker/mcp-gatewayimage republished on 2025-10-24: a maintainer asked users to pull the image again and a user confirmed tool invocation was no longer blocked. The thread is closed as COMPLETED, though a few later comments still reported the error.If you still see it, the maintainer offered two workarounds:
Option 1 — disable the OAuth DCR feature and require a token:
- Create
docker-config.json:json{ "features": { "mcp-oauth-dcr": "disabled" } } - In
compose.yaml, mount it read-only (- ./docker-config.json:/etc/docker/config.json:ro), setDOCKER_CONFIG=/etc/dockeron the gateway, and setMCP_GATEWAY_AUTH_TOKEN=my-secret-tokenon both the client and gateway. - Update
main.pyto read that token and pass it as anAuthorization: Bearer <token>header tostreamablehttp_client.
This is the same feature-disable idea a later comment repeated ("docker mcp feature disable mcp-oauth-dcr").
Option 2 — pin the image: use
image: docker/mcp-gateway:v1in the gateway service. This reverts to an ~3-month-old build; the thread does not confirm whether it avoids the error.The reporter's own attempt — setting
oauth: mcp-oauth-dcr: disabledin the gateway--configfile — was read by the gateway but did not disable OAuth.Security note:
MCP_GATEWAY_AUTH_TOKENis a shared secret between client and gateway; don't commit it incompose.yaml.Did this work for you?- Create
What a GitHub user tried on GitHub (Didn't work)
Set
oauth: mcp-oauth-dcr: disabledin the gateway--configfile. The reporter saw the config registered and read, but it did not disable OAuth.Source: https://github.com/docker/mcp-gateway/issues/197 (opens external site)
Did this work for you?What @saucow tried on GitHub (Outcome unclear)
Maintainer workaround: disable the
mcp-oauth-dcrfeature viadocker-config.jsonmounted at/etc/docker/config.json:ro, setDOCKER_CONFIG=/etc/docker, requireMCP_GATEWAY_AUTH_TOKENon client and gateway, and pass it as an Authorization header frommain.py. Suggested but not explicitly confirmed in the thread.Source: https://github.com/docker/mcp-gateway/issues/197#issuecomment-3435142391 (opens external site)
Did this work for you?What @saucow tried on GitHub (Outcome unclear)
Maintainer alternative: pin the gateway image to
docker/mcp-gateway:v1(an ~3-month-old build). No confirmation in the thread that it avoids the error.Source: https://github.com/docker/mcp-gateway/issues/197#issuecomment-3435142391 (opens external site)
Did this work for you?What @saucow tried on GitHub (Worked)
Maintainer said the image was updated with the fix and asked users to pull it again; a user then confirmed MCP tool invocation was no longer blocked.
Source: https://github.com/docker/mcp-gateway/issues/197#issuecomment-3440108804 (opens external site)
Did this work for you?