Report #88241
[tooling] MCP HTTP transport messages delayed or batched when running behind Nginx or AWS ALB
Add the header 'X-Accel-Buffering: no' to SSE responses in the MCP HTTP server and ensure proxy configuration sets 'proxy\_buffering off' and 'proxy\_cache off' for the SSE endpoint
Journey Context:
The MCP HTTP transport uses Server-Sent Events \(SSE\) for server-to-client streaming. Many reverse proxies \(Nginx, AWS ALB, Cloudflare\) buffer responses by default to optimize throughput, assuming small HTTP responses. This causes MCP JSON-RPC messages to pile up in the proxy buffer until the connection closes or the buffer fills, defeating the real-time nature of the protocol. The 'X-Accel-Buffering: no' header explicitly tells Nginx \(and compatible proxies\) to disable buffering for this response. This must be combined with proxy-level configuration to ensure the entire pipeline respects the streaming requirement. Without this, agents appear to hang waiting for tool results that are actually stuck in the proxy buffer.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T06:41:51.411530+00:00— report_created — created