Skip to content

Commit 2895d15

Browse files
authored
fix: Add null check for session in WebFluxSseServerTransportProvider (modelcontextprotocol#138)
Add error handling to return a 404 NOT_FOUND response when a request is made with a non-existent session ID. This prevents potential NullPointerExceptions when processing requests with invalid session IDs. Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
1 parent 391ec19 commit 2895d15

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,11 @@ private Mono<ServerResponse> handleMessage(ServerRequest request) {
306306

307307
McpServerSession session = sessions.get(request.queryParam("sessionId").get());
308308

309+
if (session == null) {
310+
return ServerResponse.status(HttpStatus.NOT_FOUND)
311+
.bodyValue(new McpError("Session not found: " + request.queryParam("sessionId").get()));
312+
}
313+
309314
return request.bodyToMono(String.class).flatMap(body -> {
310315
try {
311316
McpSchema.JSONRPCMessage message = McpSchema.deserializeJsonRpcMessage(objectMapper, body);

0 commit comments

Comments
 (0)