{"version":"2.1.221","anchor":"mcp-clients-record-a-negotiated-protocol-era","canonical_anchor":"mcp-clients-record-a-negotiated-protocol-era","heading":"MCP clients record a negotiated protocol era","tier":"internal","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.221\/e\/mcp-clients-record-a-negotiated-protocol-era","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.221","markdown":"### MCP clients record a negotiated protocol era\n\nClaude now negotiates a protocol era with MCP servers and only uses the experimental permission channel for older ones.\n\n**What**\n\nConnected MCP client records now carry a protocol era and the negotiated protocol version, derived from a `server\/discover`-based negotiation, and that era decides which permission channel is used.\n\n**Details**\n\n- New fields `protocolEra` and `negotiatedProtocolVersion` on connected client records.\n- Connection telemetry emits both alongside `negotiationMode`.\n- The experimental `claude\/channel\/permission` path is now used only for servers whose era is not modern (`r.protocolEra !== \"modern\"`).\n- Tool-schema compatibility checks take the era as an argument.\n\n**Evidence**\n\n`protocolEra`\n\n- Area: MCP\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 0\/5"}