HTTPTransport.RoundTrip needs to copy the body before it makes a second request. See the comment on line 100 of client.go at https://github.com/modelcontextprotocol/go-sdk/pull/544/files.
Also, add a test that would have found this bug. Look at how docker/cagent#547 does testing.