fix: refine sessionId handling in handleMcpPostRequest for initialization requests (#138)

Co-authored-by: samanhappy@qq.com <my6051199>
This commit is contained in:
samanhappy
2025-05-28 23:25:21 +08:00
committed by GitHub
parent b0a65cc6d0
commit e2c5cc8ed1
2 changed files with 2 additions and 3 deletions

View File

@@ -54,9 +54,8 @@ export const initMiddlewares = (app: express.Application): void => {
// Only apply JSON parsing for API and auth routes, not for SSE or message endpoints
if (
req.path !== `${basePath}/sse` &&
req.path !== `${basePath}/messages` &&
!req.path.startsWith(`${basePath}/sse/`) &&
!req.path.startsWith(`${basePath}/mcp/`)
req.path !== `${basePath}/messages`
) {
express.json()(req, res, next);
} else {

View File

@@ -129,7 +129,7 @@ export const handleMcpPostRequest = async (req: Request, res: Response): Promise
if (sessionId && transports[sessionId]) {
console.log(`Reusing existing transport for sessionId: ${sessionId}`);
transport = transports[sessionId].transport as StreamableHTTPServerTransport;
} else if (!sessionId) {
} else if (!sessionId && isInitializeRequest(req.body)) {
transport = new StreamableHTTPServerTransport({
sessionIdGenerator: () => randomUUID(),
onsessioninitialized: (sessionId) => {