From 87d83ab4c6c7daaeb41645a923959220edc6f2c2 Mon Sep 17 00:00:00 2001 From: Danijel Date: Wed, 18 Mar 2026 02:17:56 +0100 Subject: [PATCH] fix: store session after handleRequest so sessionId is initialized transport.sessionId is only populated during handleRequest(), not before. Reading it before that call stored sessions under key `undefined`, causing all subsequent requests to get "Session not found." Co-Authored-By: Claude Opus 4.6 (1M context) --- src/http-server.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/http-server.ts b/src/http-server.ts index fd782ea..efb6906 100644 --- a/src/http-server.ts +++ b/src/http-server.ts @@ -134,14 +134,14 @@ const httpServer = http.createServer(async (req, res) => { const mcpServer = await createServer(config); await mcpServer.connect(transport); + await transport.handleRequest(req, res, parsedBody); + const sid = transport.sessionId!; sessions.set(sid, { transport, createdAt: Date.now() }); transport.onclose = () => { sessions.delete(sid); }; - - await transport.handleRequest(req, res, parsedBody); } else { // Existing session const session = sessions.get(sessionId);