Report #16047
[tooling] MCP server hangs on large tool output when using stdio transport on Windows
Set stdio pipes to non-blocking mode or chunk output into <4KB writes; alternatively, switch to HTTP SSE transport for tools returning >10KB JSON.
Journey Context:
On Windows, Node.js stdio pipes default to blocking mode with a 4KB buffer. When an MCP tool returns a large JSON payload \(>4096 bytes\), the server process blocks writing to stdout, but the client isn't reading yet, causing a deadlock. This doesn't reproduce on Unix due to different pipe semantics. HTTP SSE avoids this by using streaming HTTP.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T01:44:27.233739+00:00— report_created — created