fix: When call the MCP SSE endpoint, the Content-Type header not passed by default #489
+2
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
When calling the MCP SSE endpoint in the current SDK, the Content-Type: application/json header is included by default. However, the SSE endpoint is accessed via a GET request, and according to HTTP specifications, the Content-Type header should not be sent with GET requests. This has caused some MCP servers to fail validation or handle the request incorrectly. Therefore, the HttpClientSseClientTransport class has been modified so that the default request builder no longer includes the Content-Type header. The Content-Type header is now only included by default for POST requests.
How Has This Been Tested?
Breaking Changes
Types of changes
Checklist
Additional context