{"name":"tengu_mcp_protocol_negotiation_stdio","slug":"tengu-mcp-protocol-negotiation-stdio","family":"flag","title":"Feature flags","noun":"feature flag","description":"A newer MCP protocol handshake exists per transport but every gate falls back to legacy here.","description_source":"entry","described_by":{"version":"2.1.221","anchor":"mcp-protocol-era-negotiation-2026-07-28-modern-revision-adde"},"presence":{"first_seen":"2.1.221","removed_in":null,"in_current_build":true,"newest_mined":"2.1.309","builds":49,"mined_builds":150,"first_cited":{"version":"2.1.221","released_at":"2026-08-03 22:16:25","spans":2}},"aliases":[],"entries":[{"version":"2.1.292","anchor":"mcp-stdio-restart-once-with-serverdiscover-when-legacy-ini","heading":"Local MCP servers get one retry with the newer handshake when the old one fails","line":"If a stdio MCP server remembered as old-style fails to start, Claude Code forgets that and restarts it once with the newer handshake","released_at":"2026-10-06 17:10:31","reason":"gate cited by this entry"},{"version":"2.1.292","anchor":"mcp-protocol-negotiation-skipped-for-stdio-when-set-to-auto","heading":"Local MCP servers now use protocol negotiation by default","line":"Stdio MCP servers now use automatic protocol negotiation unless a server-side setting explicitly turns it off","released_at":"2026-10-06 17:10:31","reason":"gate cited by this entry"},{"version":"2.1.292","anchor":"mcp-stdio-a-slow-server-that-answers-the-discover-probe-lat","heading":"Slow-starting local MCP servers are no longer remembered as old-protocol","line":"A stdio MCP server that answers the protocol check late is no longer remembered as speaking the older protocol","released_at":"2026-10-06 17:10:31","reason":"gate cited by this entry"},{"version":"2.1.292","anchor":"mcp-connect-timeout-retry-also-forgets-a-stdio-server-that-m","heading":"Slow-starting local MCP servers are no longer wrongly remembered as older servers","line":"A local MCP server that answered the protocol check late is no longer remembered as an older server after a connection timeout","released_at":"2026-10-06 17:10:31","reason":"gate cited by this entry"},{"version":"2.1.292","anchor":"mcp-discovery-resourcetemplate-listing-no-longer-blocks-to","heading":"Slow resource listings no longer hold up MCP tools on HTTP and SSE servers","line":"After connecting to an HTTP or SSE MCP server, Claude Code can now register its tools without waiting for its resource listing to finish","released_at":"2026-10-06 17:10:31","reason":"gate cited by this entry"},{"version":"2.1.292","anchor":"mcp-serverdiscover-probe-memory-file-handling","heading":"Protocol negotiation for local MCP servers now defaults on, with a safer memory file","line":"Negotiating the protocol version with local stdio MCP servers now falls back to on, and a broken record of past probes is ignored rather than trusted","released_at":"2026-10-06 17:10:31","reason":"gate cited by this entry"},{"version":"2.1.292","anchor":"stdio-mcp-servers-now-get-a-stable-identity-hash-and-a-late","heading":"Stdio MCP servers get a stable identity, and protocol negotiation defaults to on","line":"Local stdio MCP servers now get an identity built from their command, and the stdio protocol-negotiation switch now defaults to on","released_at":"2026-10-06 17:10:31","reason":"gate cited by this entry"},{"version":"2.1.274","anchor":"new-stdio-mcp-protocol-negotiation-gate-added","heading":"New stdio MCP protocol-negotiation gate added","line":"A new gate lets stdio MCP connections also try the newer protocol-negotiation handshake","released_at":"2026-09-16 22:36:09","reason":"named in this entry, gate cited by this entry"},{"version":"2.1.221","anchor":"mcp-protocol-era-negotiation-2026-07-28-modern-revision-adde","heading":"MCP protocol-era negotiation (2026-07-28 \"modern\" revision) added behind per-transport gates","line":"A newer MCP protocol handshake exists per transport but every gate falls back to legacy here.","released_at":"2026-08-03 22:16:25","reason":"gate cited by this entry, found in this entry's text"},{"version":"2.1.221","anchor":"new-mcp-protocol-era-negotiation-with-probe-and-legacy-fallb","heading":"New MCP protocol-era negotiation with probe and legacy fallback","line":"In auto mode MCP connections would probe for a modern protocol and fall back to legacy, but nothing enables it.","released_at":"2026-08-03 22:16:25","reason":"gate cited by this entry, found in this entry's text"}],"entries_total":10,"docs":[],"docs_total":0,"gates":[{"version":"2.1.292","state":"on-in-code","account":true,"baseline":true,"code_default":true},{"version":"2.1.274","state":"off","account":false,"baseline":false,"code_default":false},{"version":"2.1.221","state":"on-in-practice","account":true,"baseline":true,"code_default":false}],"related":[{"name":"tengu_mcp_protocol_negotiation_","slug":"tengu-mcp-protocol-negotiation","description":"MCP servers using a newer protocol era no longer get custom notification handlers, and you see a warning."},{"name":"tengu_mcp_protocol_negotiation_ccr","slug":"tengu-mcp-protocol-negotiation-ccr","description":"The ccr-proxy MCP transport can negotiate protocol versions, but stays on legacy unless a flag is turned on."},{"name":"tengu_mcp_protocol_negotiation_claudeai","slug":"tengu-mcp-protocol-negotiation-claudeai","description":"A newer MCP protocol handshake exists per transport but every gate falls back to legacy here."},{"name":"tengu_mcp_protocol_negotiation_http","slug":"tengu-mcp-protocol-negotiation-http","description":"A newer MCP protocol handshake exists per transport but every gate falls back to legacy here."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/flag\/tengu-mcp-protocol-negotiation-stdio","family_url":"https:\/\/changelogs.core-directive.com\/reference\/flag.json"}