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:
Claude
2026-04-14 21:30:50 +00:00
parent a48886e481
commit e1cb136cc3

View File

@@ -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);