From 6b503c96947d6d7b73adc0aa91e43c05517de672 Mon Sep 17 00:00:00 2001 From: guoyangzhen Date: Fri, 20 Mar 2026 21:44:02 +0800 Subject: [PATCH 1/2] fix: add Transfer-Encoding chunked to SSE responses (#1619) --- packages/server/src/server/streamableHttp.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/server/src/server/streamableHttp.ts b/packages/server/src/server/streamableHttp.ts index 74e689892..fe2d04ef4 100644 --- a/packages/server/src/server/streamableHttp.ts +++ b/packages/server/src/server/streamableHttp.ts @@ -450,6 +450,7 @@ export class WebStandardStreamableHTTPServerTransport implements Transport { const headers: Record = { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache, no-transform', + 'Transfer-Encoding': 'chunked', Connection: 'keep-alive' }; @@ -503,6 +504,7 @@ export class WebStandardStreamableHTTPServerTransport implements Transport { const headers: Record = { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache, no-transform', + 'Transfer-Encoding': 'chunked', Connection: 'keep-alive' }; @@ -751,6 +753,7 @@ export class WebStandardStreamableHTTPServerTransport implements Transport { const headers: Record = { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', + 'Transfer-Encoding': 'chunked', Connection: 'keep-alive' }; From 73389b990d2520752145dd0bb61a31e02e38ebac Mon Sep 17 00:00:00 2001 From: guoyangzhen Date: Sat, 21 Mar 2026 02:09:29 +0800 Subject: [PATCH 2/2] add changeset --- .changeset/fix-sse-chunked-encoding.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-sse-chunked-encoding.md diff --git a/.changeset/fix-sse-chunked-encoding.md b/.changeset/fix-sse-chunked-encoding.md new file mode 100644 index 000000000..d2369d364 --- /dev/null +++ b/.changeset/fix-sse-chunked-encoding.md @@ -0,0 +1,5 @@ +--- +'@modelcontextprotocol/server': patch +--- + +Add Transfer-Encoding: chunked header to SSE responses in WebStandardStreamableHTTPServerTransport. Prevents HTTP/2 PROTOCOL_ERROR with adapters like @hono/node-server that buffer responses and add Content-Length headers.