fix: When call the MCP SSE endpoint, the Content-Type header not passed by default (#489)

This commit is contained in:
shaoyin.zj 2025-08-26 13:51:07 +08:00 • committed by GitHub
commit 6ec443c89a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -244,8 +244,7 @@ public class HttpClientSseClientTransport implements McpClientTransport {
private ObjectMapper objectMapper = new ObjectMapper();
private HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.header("Content-Type", "application/json");
private HttpRequest.Builder requestBuilder = HttpRequest.newBuilder();
private AsyncHttpRequestCustomizer httpRequestCustomizer = AsyncHttpRequestCustomizer.NOOP;
@ -540,6 +539,7 @@ public class HttpClientSseClientTransport implements McpClientTransport {
return Mono.defer(() -> {
var builder = this.requestBuilder.copy()
.uri(requestUri)
.header("Content-Type", "application/json")
.header(MCP_PROTOCOL_VERSION_HEADER_NAME, MCP_PROTOCOL_VERSION)
.POST(HttpRequest.BodyPublishers.ofString(body));
return Mono.from(this.httpRequestCustomizer.customize(builder, "POST", requestUri, body));