From 47615659789ea7bddb8a9d4559f79913e90b4965 Mon Sep 17 00:00:00 2001 From: Mike Rascoff Date: Fri, 27 Mar 2026 12:30:33 -0700 Subject: [PATCH] fix: add sessionIdGenerator to StreamableHTTPServerTransport The MCP SDK v1.17.5 requires sessionIdGenerator in the constructor options. Passing an empty object caused a 500 on initialize requests. Co-Authored-By: Claude Opus 4.6 (1M context) --- node_mcp/src/servers/http.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/node_mcp/src/servers/http.js b/node_mcp/src/servers/http.js index 1143e2ab..9c7a1de4 100644 --- a/node_mcp/src/servers/http.js +++ b/node_mcp/src/servers/http.js @@ -6,6 +6,7 @@ import morgan from 'morgan'; import dotenv from 'dotenv'; import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js'; +import crypto from 'node:crypto'; import { buildServer } from './stdio.js'; dotenv.config(); @@ -68,7 +69,9 @@ app.post('/mcp', checkAuth, async (req, res) => { id: null, }); } - const transport = new StreamableHTTPServerTransport({}); + const transport = new StreamableHTTPServerTransport({ + sessionIdGenerator: () => crypto.randomUUID(), + }); const server = await initServerWithTransport(transport); // Process initialize request; the transport will assign sessionId and set header await transport.handleRequest(req, res, req.body);