One detail in section 1 is worth adjusting. MCP is not limited to a blocking request and response. The Streamable HTTP transport can answer a tool call with a Server-Sent Events stream, no WebSockets needed, and the spec has notifications/progress for long calls. Your ticket pattern still makes sense behind a proxy with a hard idle timeout.