diff --git a/mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/server/transport/WebFluxStatelessServerTransport.java b/mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/server/transport/WebFluxStatelessServerTransport.java index 23fff25b3..e994f4c49 100644 --- a/mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/server/transport/WebFluxStatelessServerTransport.java +++ b/mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/server/transport/WebFluxStatelessServerTransport.java @@ -30,6 +30,7 @@ * Implementation of a WebFlux based {@link McpStatelessServerTransport}. * * @author Dariusz Jędrzejczyk + * @author Yanming Zhou */ public class WebFluxStatelessServerTransport implements McpStatelessServerTransport { @@ -100,8 +101,7 @@ private Mono handlePost(ServerRequest request) { McpTransportContext transportContext = this.contextExtractor.extract(request, new DefaultMcpTransportContext()); List acceptHeaders = request.headers().asHttpHeaders().getAccept(); - if (!(acceptHeaders.contains(MediaType.APPLICATION_JSON) - && acceptHeaders.contains(MediaType.TEXT_EVENT_STREAM))) { + if (!acceptHeaders.contains(MediaType.APPLICATION_JSON)) { return ServerResponse.badRequest().build(); } diff --git a/mcp-spring/mcp-spring-webmvc/src/main/java/io/modelcontextprotocol/server/transport/WebMvcStatelessServerTransport.java b/mcp-spring/mcp-spring-webmvc/src/main/java/io/modelcontextprotocol/server/transport/WebMvcStatelessServerTransport.java index fef1920fc..1c73a1b7f 100644 --- a/mcp-spring/mcp-spring-webmvc/src/main/java/io/modelcontextprotocol/server/transport/WebMvcStatelessServerTransport.java +++ b/mcp-spring/mcp-spring-webmvc/src/main/java/io/modelcontextprotocol/server/transport/WebMvcStatelessServerTransport.java @@ -34,6 +34,7 @@ * {@link io.modelcontextprotocol.server.transport.WebFluxStatelessServerTransport} * * @author Christian Tzolov + * @author Yanming Zhou */ public class WebMvcStatelessServerTransport implements McpStatelessServerTransport { @@ -104,8 +105,7 @@ private ServerResponse handlePost(ServerRequest request) { McpTransportContext transportContext = this.contextExtractor.extract(request, new DefaultMcpTransportContext()); List acceptHeaders = request.headers().asHttpHeaders().getAccept(); - if (!(acceptHeaders.contains(MediaType.APPLICATION_JSON) - && acceptHeaders.contains(MediaType.TEXT_EVENT_STREAM))) { + if (!acceptHeaders.contains(MediaType.APPLICATION_JSON)) { return ServerResponse.badRequest().build(); } diff --git a/mcp/src/main/java/io/modelcontextprotocol/server/transport/HttpServletStatelessServerTransport.java b/mcp/src/main/java/io/modelcontextprotocol/server/transport/HttpServletStatelessServerTransport.java index 25b003564..c31c28291 100644 --- a/mcp/src/main/java/io/modelcontextprotocol/server/transport/HttpServletStatelessServerTransport.java +++ b/mcp/src/main/java/io/modelcontextprotocol/server/transport/HttpServletStatelessServerTransport.java @@ -33,6 +33,7 @@ * * @author Christian Tzolov * @author Dariusz Jędrzejczyk + * @author Yanming Zhou */ @WebServlet(asyncSupported = true) public class HttpServletStatelessServerTransport extends HttpServlet implements McpStatelessServerTransport { @@ -126,9 +127,9 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) McpTransportContext transportContext = this.contextExtractor.extract(request, new DefaultMcpTransportContext()); String accept = request.getHeader(ACCEPT); - if (accept == null || !(accept.contains(APPLICATION_JSON) && accept.contains(TEXT_EVENT_STREAM))) { + if (accept == null || !accept.contains(APPLICATION_JSON)) { this.responseError(response, HttpServletResponse.SC_BAD_REQUEST, - new McpError("Both application/json and text/event-stream required in Accept header")); + new McpError("application/json required in Accept header")); return; }