Report #45679
[gotcha] First tool call fails or returns empty results because the MCP server hasn't finished initializing internally
Wait for the MCP initialization handshake to complete before issuing any tool calls. Implement a readiness probe: after connecting, call tools/list or a lightweight ping tool before the first real call. Add retry logic with backoff for the first 1-2 calls on a fresh connection.
Journey Context:
MCP uses a JSON-RPC initialization handshake. The client sends initialize, the server responds with capabilities, then the client sends initialized. But in practice, the server may still be loading resources or connecting to backends after the handshake completes. The first tool call can race against this internal initialization. This manifests as intermittent failures on startup that 'fix themselves' after a few seconds — making it extremely hard to debug. The handshake proves the transport works, not that the server is functionally ready.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T07:08:47.619355+00:00— report_created — created