{"version":"2.1.234","anchor":"mcp-protocol-negotiation-can-be-disabled-per-server-from-rem","canonical_anchor":"mcp-protocol-negotiation-can-be-disabled-per-server-from-rem","heading":"MCP protocol negotiation can be disabled per server from remote config","tier":"soon","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234\/e\/mcp-protocol-negotiation-can-be-disabled-per-server-from-rem","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234","markdown":"### MCP protocol negotiation can be disabled per server from remote config\n\nRemote config can force legacy MCP handshakes or suppress listening for named servers, matched by hostname.\n\n**What**\n\nTwo remote-config lists can now switch off newer MCP behaviour for named servers: one disables protocol-era negotiation, so the server gets the legacy handshake, and one suppresses listening. Servers match on URL hostname, exact or suffix, with `*` matching everything. Both lists fall back to empty, so nothing is disabled unless a server value says so.\n\n**Details**\n\n- The gates are `tengu_mcp_negotiation_server_denylist` and `tengu_mcp_listen_server_denylist`.\n- A negotiation match is logged and falls back to the legacy handshake.\n- Both states are reported in connection telemetry as `negotiationDenylisted` and `listenSuppressed`.\n\n**Evidence**\n\n`tengu_mcp_negotiation_server_denylist`, `MCP era negotiation denylist matched`\n\n- Area: MCP\n- Tier: Nothing to try yet\n- Useful: 3\/5\n- Signal: 4\/5\n- Present in the build but not switched on"}