{"version":"2.1.233","anchor":"mcp-event-subscriptions-back-off-instead-of-reconnecting-in-","canonical_anchor":"mcp-event-subscriptions-back-off-instead-of-reconnecting-in-","heading":"MCP event subscriptions back off instead of reconnecting in a tight loop","tier":"notice","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.233\/e\/mcp-event-subscriptions-back-off-instead-of-reconnecting-in-","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.233","markdown":"### MCP event subscriptions back off instead of reconnecting in a tight loop\n\nA flaky MCP server that keeps dropping event streams now gets a pause instead of endless instant reconnects.\n\n**What**\n\nWhen an MCP server repeatedly kills a held event-subscription stream, the client now counts reopens in a trailing window and, past a threshold, pauses re-listening for a jittered delay rather than reconnecting immediately. This is on by default (`tengu_mcp_listen_reopen_park`, fallback true).\n\n**Details**\n\n- The window size and pause length come from a separate tuning flag `tengu_mcp_listen_reopen_park_tuning` (fallback null), validated as `windowMax` 1-100 and `parkDelayMinutes` 1-1440; with no server value the built-in constants apply.\n- Each pause logs a `tengu_mcp_listen_reopen` event with outcome \"parked\".\n\n**Evidence**\n\n`subscriptions\/listen reopened ${i.length} times in the trailing window (the server keeps killing held streams); parking re-listen`\n\n- Flag `tengu_mcp_listen_reopen_park`: Not enough to say (read for one account on one subscription tier against v2.1.233; this account: no value returned, anonymous baseline: no value returned, compiled default: on) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Flag `tengu_mcp_listen_reopen_park_tuning`: Not enough to say (read for one account on one subscription tier against v2.1.233; this account: no value returned, anonymous baseline: no value returned, compiled default: not a boolean we can read) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: MCP\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}