Skip to content

Commit 08900bc

Browse files
committed
Add accept header check for WebFlux server
Signed-off-by: Dariusz Jędrzejczyk <[email protected]>
1 parent 92be635 commit 08900bc

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,12 @@ private Mono<ServerResponse> handlePost(ServerRequest request) {
188188

189189
McpTransportContext transportContext = this.contextExtractor.extract(request, new DefaultMcpTransportContext());
190190

191+
List<MediaType> acceptHeaders = request.headers().asHttpHeaders().getAccept();
192+
if (!(acceptHeaders.contains(MediaType.APPLICATION_JSON)
193+
&& acceptHeaders.contains(MediaType.TEXT_EVENT_STREAM))) {
194+
return ServerResponse.badRequest().build();
195+
}
196+
191197
return request.bodyToMono(String.class).<ServerResponse>flatMap(body -> {
192198
try {
193199
McpSchema.JSONRPCMessage message = McpSchema.deserializeJsonRpcMessage(objectMapper, body);

0 commit comments

Comments
 (0)