Report #13653
[tooling] MCP client drops connection or logs 'Server not initialized' immediately after handshake
Queue all server-side notifications \(logging, resource updates\) and do not send them until after receiving the client's 'initialized' notification
Journey Context:
The MCP protocol mandates a strict 3-way handshake: client sends 'initialize' request, server responds with capabilities, client sends 'initialized' notification. Only after this notification may the server send non-response messages \(like logging notifications or resource update subscriptions\). A common implementation error is to assume that after sending the initialize response, the server is free to push data. Sending any notification before receiving 'initialized' results in the client closing the connection or ignoring the premature messages, leading to hard-to-debug connection drops. The server must buffer any events that occur during initialization and flush them only after the 'initialized' notification is received.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T19:18:41.253113+00:00— report_created — created