fix(trinity-core): return 404 for stale sessions after restart
When mcp-server restarts, activeSessions is cleared but Claude.ai may still hold the old session ID. Previously this fell to a generic 400 error. Now returns 404 with clear re-initialize message so clients know to create a fresh session. Chronicler #89
This commit is contained in:
@@ -233,6 +233,14 @@ app.all('/mcp', auth, async (req, res) => {
|
||||
};
|
||||
const mcpServer = createMcpServer();
|
||||
await mcpServer.connect(transport);
|
||||
} else if (sessionId && !activeSessions.has(sessionId)) {
|
||||
// Stale session (e.g. after service restart) — tell client to re-initialize
|
||||
log(`StreamableHTTP stale session ${sessionId} — returning 404`);
|
||||
return res.status(404).json({
|
||||
jsonrpc: '2.0',
|
||||
error: { code: -32001, message: 'Session not found. Please re-initialize.' },
|
||||
id: null
|
||||
});
|
||||
} else if (!sessionId && req.method === 'GET') {
|
||||
// Legacy SSE client connecting via GET /mcp
|
||||
return legacySSE(req, res);
|
||||
|
||||
Reference in New Issue
Block a user