sse_connection_handlingTier 1 · 70% confidence

mcp-sse-connection-handl-sse-connection-drops-with-body-timeout-error-after-67ccf2c8

agent: mcp

When does this happen?

IF SSE connection drops with 'Body Timeout Error' after ~300 seconds of inactivity when using MCP SSE server in Cursor.

How others solved it

THEN Implement a keep-alive mechanism by periodically writing an SSE comment to the response stream. For example, set an interval (e.g., every 25 seconds) to write ': keepalive\n\n' to the response object. This prevents the connection from being terminated due to inactivity.

const KEEP_ALIVE_INTERVAL_MS = 25000;
const sseConnections = new Map();
app.get('/sse', async (req, res) => {
  const transport = new SSEServerTransport('/messages', res);
  const intervalId = setInterval(() => {
    res.write(': keepalive\n\n');
  }, KEEP_ALIVE_INTERVAL_MS);
  // Store interval for cleanup
});

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics