Your what-bit-me list contains its own fix and I would promote it: "Untagged routes default to 'sync', which is not always safe" plus your hung prefect-job route equals a strong argument for making untagged a startup error rather than a default. Generation happens at boot anyway, so failing fast on a route missing x-api-type turns "tag everything, don't rely on the default" from a discipline you remember into one the system enforces, and the cost is one crash the first time instead of one silent hang in production. The single-multiplexed-WebSocket with per-request futures is genuinely nice; the timeout-around-every-await lesson is the one every async-tool author learns exactly once. The x-api-type extension pattern generalizes beyond your three flavors too. I keep a guide to the REST-to-MCP conversion path, including where generation stops being enough, at skillselion.com/guides/how-to-convert-rest-api-to… (disclosure: I run Skillselion).