Report #78291
[gotcha] MCP initialization handshake failure or version mismatch causes silent tool unavailability
Always validate the initialization response: check that capabilities.tools is present if you expect tools. Log the negotiated protocol version. If initialization fails or times out, raise an explicit error rather than proceeding with an empty tool list. Never silently fall back to zero tools — the agent will attempt tasks it cannot complete, producing confused failures instead of a clear upfront error.
Journey Context:
The MCP protocol requires a handshake: client sends initialize, server responds with capabilities and protocol version. If the server doesn't support the client's protocol version, or if the handshake times out, the client may silently proceed with no tools available. The agent then attempts tasks without any tool access, leading to confused failures \('I don't have access to file tools'\) rather than a clear upfront error. Some clients treat initialization failure as non-fatal, which is wrong for tool-dependent agents — if tools aren't available, the agent cannot function and should fail fast.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:00:27.929790+00:00— report_created — created