15
15
import com .fasterxml .jackson .databind .ObjectMapper ;
16
16
17
17
import io .modelcontextprotocol .server .transport .StreamableHttpServerTransportProvider ;
18
- import io .modelcontextprotocol .spec .McpStreamableHttpServerSession ;
18
+ import io .modelcontextprotocol .spec .McpServerSession ;
19
19
import io .modelcontextprotocol .spec .McpSchema ;
20
20
import io .modelcontextprotocol .util .Assert ;
21
21
import io .modelcontextprotocol .util .DeafaultMcpUriTemplateManagerFactory ;
@@ -86,7 +86,7 @@ public class McpAsyncStreamableHttpServer {
86
86
* Sets up the request handlers for standard MCP methods.
87
87
*/
88
88
private void setupRequestHandlers () {
89
- Map <String , McpStreamableHttpServerSession .RequestHandler <?>> requestHandlers = new HashMap <>();
89
+ Map <String , McpServerSession .RequestHandler <?>> requestHandlers = new HashMap <>();
90
90
91
91
// Ping handler
92
92
requestHandlers .put (McpSchema .METHOD_PING , (exchange , params ) -> Mono .just (Map .of ()));
@@ -123,15 +123,15 @@ private void setupRequestHandlers() {
123
123
this .requestHandlers = requestHandlers ;
124
124
}
125
125
126
- private Map <String , McpStreamableHttpServerSession .RequestHandler <?>> requestHandlers ;
126
+ private Map <String , McpServerSession .RequestHandler <?>> requestHandlers ;
127
127
128
- private Map <String , McpStreamableHttpServerSession .NotificationHandler > notificationHandlers ;
128
+ private Map <String , McpServerSession .NotificationHandler > notificationHandlers ;
129
129
130
130
/**
131
131
* Sets up notification handlers.
132
132
*/
133
133
private void setupNotificationHandlers () {
134
- Map <String , McpStreamableHttpServerSession .NotificationHandler > handlers = new HashMap <>();
134
+ Map <String , McpServerSession .NotificationHandler > handlers = new HashMap <>();
135
135
136
136
handlers .put (McpSchema .METHOD_NOTIFICATION_INITIALIZED , (exchange , params ) -> {
137
137
logger .info ("[INIT] Received initialized notification - initialization complete!" );
@@ -150,7 +150,7 @@ private void setupNotificationHandlers() {
150
150
private void setupSessionFactory () {
151
151
setupNotificationHandlers ();
152
152
153
- httpTransportProvider .setStreamableHttpSessionFactory (sessionId -> new McpStreamableHttpServerSession (sessionId ,
153
+ httpTransportProvider .setStreamableHttpSessionFactory (sessionId -> new McpServerSession (sessionId ,
154
154
requestTimeout , this ::handleInitializeRequest , Mono ::empty , requestHandlers , notificationHandlers ));
155
155
}
156
156
@@ -181,7 +181,7 @@ private Mono<McpSchema.InitializeResult> handleInitializeRequest(McpSchema.Initi
181
181
}
182
182
183
183
// Request handler creation methods
184
- private McpStreamableHttpServerSession .RequestHandler <McpSchema .ListToolsResult > createToolsListHandler () {
184
+ private McpServerSession .RequestHandler <McpSchema .ListToolsResult > createToolsListHandler () {
185
185
return (exchange , params ) -> {
186
186
var regularTools = features .tools ().stream ().map (McpServerFeatures .AsyncToolSpecification ::tool ).toList ();
187
187
var streamingTools = features .streamTools ()
@@ -194,8 +194,8 @@ private McpStreamableHttpServerSession.RequestHandler<McpSchema.ListToolsResult>
194
194
};
195
195
}
196
196
197
- private McpStreamableHttpServerSession .RequestHandler <McpSchema .CallToolResult > createToolsCallHandler () {
198
- return new McpStreamableHttpServerSession .StreamingRequestHandler <McpSchema .CallToolResult >() {
197
+ private McpServerSession .RequestHandler <McpSchema .CallToolResult > createToolsCallHandler () {
198
+ return new McpServerSession .StreamingRequestHandler <McpSchema .CallToolResult >() {
199
199
@ Override
200
200
public Mono <McpSchema .CallToolResult > handle (McpAsyncServerExchange exchange , Object params ) {
201
201
var callToolRequest = objectMapper .convertValue (params , McpSchema .CallToolRequest .class );
@@ -252,7 +252,7 @@ public Flux<McpSchema.CallToolResult> handleStreaming(McpAsyncServerExchange exc
252
252
};
253
253
}
254
254
255
- private McpStreamableHttpServerSession .RequestHandler <McpSchema .ListResourcesResult > createResourcesListHandler () {
255
+ private McpServerSession .RequestHandler <McpSchema .ListResourcesResult > createResourcesListHandler () {
256
256
return (exchange , params ) -> {
257
257
var resources = features .resources ()
258
258
.values ()
@@ -263,7 +263,7 @@ private McpStreamableHttpServerSession.RequestHandler<McpSchema.ListResourcesRes
263
263
};
264
264
}
265
265
266
- private McpStreamableHttpServerSession .RequestHandler <McpSchema .ReadResourceResult > createResourcesReadHandler () {
266
+ private McpServerSession .RequestHandler <McpSchema .ReadResourceResult > createResourcesReadHandler () {
267
267
return (exchange , params ) -> {
268
268
var resourceRequest = objectMapper .convertValue (params , McpSchema .ReadResourceRequest .class );
269
269
var resourceUri = resourceRequest .uri ();
@@ -278,12 +278,12 @@ private McpStreamableHttpServerSession.RequestHandler<McpSchema.ReadResourceResu
278
278
};
279
279
}
280
280
281
- private McpStreamableHttpServerSession .RequestHandler <McpSchema .ListResourceTemplatesResult > createResourceTemplatesListHandler () {
281
+ private McpServerSession .RequestHandler <McpSchema .ListResourceTemplatesResult > createResourceTemplatesListHandler () {
282
282
return (exchange , params ) -> Mono
283
283
.just (new McpSchema .ListResourceTemplatesResult (features .resourceTemplates (), null ));
284
284
}
285
285
286
- private McpStreamableHttpServerSession .RequestHandler <McpSchema .ListPromptsResult > createPromptsListHandler () {
286
+ private McpServerSession .RequestHandler <McpSchema .ListPromptsResult > createPromptsListHandler () {
287
287
return (exchange , params ) -> {
288
288
var prompts = features .prompts ()
289
289
.values ()
@@ -294,7 +294,7 @@ private McpStreamableHttpServerSession.RequestHandler<McpSchema.ListPromptsResul
294
294
};
295
295
}
296
296
297
- private McpStreamableHttpServerSession .RequestHandler <McpSchema .GetPromptResult > createPromptsGetHandler () {
297
+ private McpServerSession .RequestHandler <McpSchema .GetPromptResult > createPromptsGetHandler () {
298
298
return (exchange , params ) -> {
299
299
var promptRequest = objectMapper .convertValue (params , McpSchema .GetPromptRequest .class );
300
300
@@ -308,15 +308,15 @@ private McpStreamableHttpServerSession.RequestHandler<McpSchema.GetPromptResult>
308
308
};
309
309
}
310
310
311
- private McpStreamableHttpServerSession .RequestHandler <Object > createLoggingSetLevelHandler () {
311
+ private McpServerSession .RequestHandler <Object > createLoggingSetLevelHandler () {
312
312
return (exchange , params ) -> {
313
313
var setLevelRequest = objectMapper .convertValue (params , McpSchema .SetLevelRequest .class );
314
314
exchange .setMinLoggingLevel (setLevelRequest .level ());
315
315
return Mono .just (Map .of ());
316
316
};
317
317
}
318
318
319
- private McpStreamableHttpServerSession .RequestHandler <McpSchema .CompleteResult > createCompletionCompleteHandler () {
319
+ private McpServerSession .RequestHandler <McpSchema .CompleteResult > createCompletionCompleteHandler () {
320
320
return (exchange , params ) -> {
321
321
var completeRequest = objectMapper .convertValue (params , McpSchema .CompleteRequest .class );
322
322
@@ -330,7 +330,7 @@ private McpStreamableHttpServerSession.RequestHandler<McpSchema.CompleteResult>
330
330
};
331
331
}
332
332
333
- private McpStreamableHttpServerSession .NotificationHandler createRootsListChangedHandler () {
333
+ private McpServerSession .NotificationHandler createRootsListChangedHandler () {
334
334
return (exchange , params ) -> {
335
335
var rootsChangeConsumers = features .rootsChangeConsumers ();
336
336
if (rootsChangeConsumers .isEmpty ()) {
@@ -418,8 +418,8 @@ public static Builder builder() {
418
418
* transport.
419
419
*
420
420
* <p>
421
- * This builder provides a fluent API for configuring Streamable HTTP MCP
422
- * servers with enhanced features:
421
+ * This builder provides a fluent API for configuring Streamable HTTP MCP servers with
422
+ * enhanced features:
423
423
* <ul>
424
424
* <li>Single session class managing all transport streams</li>
425
425
* <li>Resource management and lifecycle handling</li>
0 commit comments