Skip to content

Commit d1d7944

Browse files
committed
fix: passing body to handleRequest, and optionally adding a response id if it exists
1 parent 03e9a7b commit d1d7944

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/everything/streamableHttp.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ app.post('/mcp', async (req: Request, res: Response) => {
5050
// so responses can flow back through the same transport
5151
await server.connect(transport);
5252

53-
await transport.handleRequest(req, res);
53+
await transport.handleRequest(req, res, req.body);
5454
return; // Already handled
5555
} else {
5656
// Invalid request - no session ID or not initialization request
@@ -60,14 +60,14 @@ app.post('/mcp', async (req: Request, res: Response) => {
6060
code: -32000,
6161
message: 'Bad Request: No valid session ID provided',
6262
},
63-
id: null,
63+
id: req?.body?.id,
6464
});
6565
return;
6666
}
6767

6868
// Handle the request with existing transport - no need to reconnect
6969
// The existing transport is already connected to the server
70-
await transport.handleRequest(req, res);
70+
await transport.handleRequest(req, res, req.body);
7171
} catch (error) {
7272
console.error('Error handling MCP request:', error);
7373
if (!res.headersSent) {
@@ -77,8 +77,9 @@ app.post('/mcp', async (req: Request, res: Response) => {
7777
code: -32603,
7878
message: 'Internal server error',
7979
},
80-
id: null,
80+
id: req?.body?.id,
8181
});
82+
return;
8283
}
8384
}
8485
});
@@ -93,7 +94,7 @@ app.get('/mcp', async (req: Request, res: Response) => {
9394
code: -32000,
9495
message: 'Bad Request: No valid session ID provided',
9596
},
96-
id: null,
97+
id: req?.body?.id,
9798
});
9899
return;
99100
}
@@ -120,7 +121,7 @@ app.delete('/mcp', async (req: Request, res: Response) => {
120121
code: -32000,
121122
message: 'Bad Request: No valid session ID provided',
122123
},
123-
id: null,
124+
id: req?.body?.id,
124125
});
125126
return;
126127
}
@@ -139,8 +140,9 @@ app.delete('/mcp', async (req: Request, res: Response) => {
139140
code: -32603,
140141
message: 'Error handling session termination',
141142
},
142-
id: null,
143+
id: req?.body?.id,
143144
});
145+
return;
144146
}
145147
}
146148
});

0 commit comments

Comments
 (0)