From 24b3972931395c70358146b00fec809625a550f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kopeck=C3=BD?= Date: Wed, 17 Sep 2025 11:51:37 +0200 Subject: [PATCH 1/2] fix: prevent streamable http wite after end from crashing the node process (#933) --- src/server/streamableHttp.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/server/streamableHttp.ts b/src/server/streamableHttp.ts index 3bf84e430..c0da91704 100644 --- a/src/server/streamableHttp.ts +++ b/src/server/streamableHttp.ts @@ -303,6 +303,11 @@ export class StreamableHTTPServerTransport implements Transport { res.on("close", () => { this._streamMapping.delete(this._standaloneSseStreamId); }); + + // Add error handler for standalone SSE stream + res.on("error", (error) => { + this.onerror?.(error as Error); + }); } /** @@ -334,6 +339,11 @@ export class StreamableHTTPServerTransport implements Transport { } }); this._streamMapping.set(streamId, res); + + // Add error handler for replay stream + res.on("error", (error) => { + this.onerror?.(error as Error); + }); } catch (error) { this.onerror?.(error as Error); } @@ -520,6 +530,11 @@ export class StreamableHTTPServerTransport implements Transport { this._streamMapping.delete(streamId); }); + // Add error handler for stream write errors + res.on("error", (error) => { + this.onerror?.(error as Error); + }); + // handle each message for (const message of messages) { this.onmessage?.(message, { authInfo, requestInfo }); From c94ba4b43cd305e39d88985c73d6b9bc1153da84 Mon Sep 17 00:00:00 2001 From: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:27:58 +0100 Subject: [PATCH 2/2] chore: update version to 1.18.1 for weekly release (#950) --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 14b3a9f35..002fe2088 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@modelcontextprotocol/sdk", - "version": "1.18.0", + "version": "1.18.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@modelcontextprotocol/sdk", - "version": "1.18.0", + "version": "1.18.1", "license": "MIT", "dependencies": { "ajv": "^6.12.6", diff --git a/package.json b/package.json index fda002f99..bb36a6d98 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@modelcontextprotocol/sdk", - "version": "1.18.0", + "version": "1.18.1", "description": "Model Context Protocol implementation for TypeScript", "license": "MIT", "author": "Anthropic, PBC (https://anthropic.com)",