Skip to content

Commit 9ef403c

Browse files
committed
Stateless server transport shouldn't require TEXT_EVENT_STREAM
Signed-off-by: Yanming Zhou <[email protected]>
1 parent b4fef52 commit 9ef403c

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/server/transport/WebFluxStatelessServerTransport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
* Implementation of a WebFlux based {@link McpStatelessServerTransport}.
3131
*
3232
* @author Dariusz Jędrzejczyk
33+
* @author Yanming Zhou
3334
*/
3435
public class WebFluxStatelessServerTransport implements McpStatelessServerTransport {
3536

@@ -100,8 +101,7 @@ private Mono<ServerResponse> handlePost(ServerRequest request) {
100101
McpTransportContext transportContext = this.contextExtractor.extract(request, new DefaultMcpTransportContext());
101102

102103
List<MediaType> acceptHeaders = request.headers().asHttpHeaders().getAccept();
103-
if (!(acceptHeaders.contains(MediaType.APPLICATION_JSON)
104-
&& acceptHeaders.contains(MediaType.TEXT_EVENT_STREAM))) {
104+
if (!acceptHeaders.contains(MediaType.APPLICATION_JSON)) {
105105
return ServerResponse.badRequest().build();
106106
}
107107

mcp-spring/mcp-spring-webmvc/src/main/java/io/modelcontextprotocol/server/transport/WebMvcStatelessServerTransport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
* {@link io.modelcontextprotocol.server.transport.WebFluxStatelessServerTransport}
3535
*
3636
* @author Christian Tzolov
37+
* @author Yanming Zhou
3738
*/
3839
public class WebMvcStatelessServerTransport implements McpStatelessServerTransport {
3940

@@ -104,8 +105,7 @@ private ServerResponse handlePost(ServerRequest request) {
104105
McpTransportContext transportContext = this.contextExtractor.extract(request, new DefaultMcpTransportContext());
105106

106107
List<MediaType> acceptHeaders = request.headers().asHttpHeaders().getAccept();
107-
if (!(acceptHeaders.contains(MediaType.APPLICATION_JSON)
108-
&& acceptHeaders.contains(MediaType.TEXT_EVENT_STREAM))) {
108+
if (!acceptHeaders.contains(MediaType.APPLICATION_JSON)) {
109109
return ServerResponse.badRequest().build();
110110
}
111111

mcp/src/main/java/io/modelcontextprotocol/server/transport/HttpServletStatelessServerTransport.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
*
3434
* @author Christian Tzolov
3535
* @author Dariusz Jędrzejczyk
36+
* @author Yanming Zhou
3637
*/
3738
@WebServlet(asyncSupported = true)
3839
public class HttpServletStatelessServerTransport extends HttpServlet implements McpStatelessServerTransport {
@@ -126,9 +127,9 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
126127
McpTransportContext transportContext = this.contextExtractor.extract(request, new DefaultMcpTransportContext());
127128

128129
String accept = request.getHeader(ACCEPT);
129-
if (accept == null || !(accept.contains(APPLICATION_JSON) && accept.contains(TEXT_EVENT_STREAM))) {
130+
if (accept == null || !accept.contains(APPLICATION_JSON)) {
130131
this.responseError(response, HttpServletResponse.SC_BAD_REQUEST,
131-
new McpError("Both application/json and text/event-stream required in Accept header"));
132+
new McpError("application/json required in Accept header"));
132133
return;
133134
}
134135

0 commit comments

Comments
 (0)