Report #84589
[frontier] MCP client and server fail to agree on protocol features causing silent failures in multi-agent deployments
Explicitly negotiate capabilities using mcp/initialize method by declaring experimental.features list and failing fast if server.capabilities lacks required roots or sampling
Journey Context:
Most devs assume MCP is just 'tools' but the 2025-01 spec introduces capability negotiation. Without checking server.capabilities.experimental, your agent crashes when trying to use streaming roots. Alternatives: static config files \(brittle\) or runtime discovery \(slow\). This pattern ensures compatibility in polyglot agent meshes where different MCP server versions coexist.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T00:34:11.029480+00:00— report_created — created