From c9519c7d2f45d6adb29515f82d88fd9b1b94f78b Mon Sep 17 00:00:00 2001 From: Mariano Gonzalez Date: Fri, 21 Feb 2025 16:04:08 +0100 Subject: [PATCH 1/2] Resources and prompts cannot be added after server start #17 --- .../io/modelcontextprotocol/server/McpAsyncServer.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/mcp/src/main/java/io/modelcontextprotocol/server/McpAsyncServer.java b/mcp/src/main/java/io/modelcontextprotocol/server/McpAsyncServer.java index 5fbc6761..5624c653 100644 --- a/mcp/src/main/java/io/modelcontextprotocol/server/McpAsyncServer.java +++ b/mcp/src/main/java/io/modelcontextprotocol/server/McpAsyncServer.java @@ -138,18 +138,14 @@ public class McpAsyncServer { } // Add resources API handlers if provided - if (!Utils.isEmpty(this.resources)) { + if (serverCapabilities.resources() != null) { requestHandlers.put(McpSchema.METHOD_RESOURCES_LIST, resourcesListRequestHandler()); requestHandlers.put(McpSchema.METHOD_RESOURCES_READ, resourcesReadRequestHandler()); - } - - // Add resource templates API handlers if provided. - if (!Utils.isEmpty(this.resourceTemplates)) { requestHandlers.put(McpSchema.METHOD_RESOURCES_TEMPLATES_LIST, resourceTemplateListRequestHandler()); } // Add prompts API handlers if provider exists - if (!Utils.isEmpty(this.prompts)) { + if (serverCapabilities.prompts() != null) { requestHandlers.put(McpSchema.METHOD_PROMPT_LIST, promptsListRequestHandler()); requestHandlers.put(McpSchema.METHOD_PROMPT_GET, promptsGetRequestHandler()); } From 1d70e92a1f886e92d6b855f52b578b7f41578616 Mon Sep 17 00:00:00 2001 From: Mariano Gonzalez Date: Tue, 25 Feb 2025 15:12:57 +0100 Subject: [PATCH 2/2] applying feedback --- .../java/io/modelcontextprotocol/server/McpAsyncServer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mcp/src/main/java/io/modelcontextprotocol/server/McpAsyncServer.java b/mcp/src/main/java/io/modelcontextprotocol/server/McpAsyncServer.java index 5624c653..8f615f24 100644 --- a/mcp/src/main/java/io/modelcontextprotocol/server/McpAsyncServer.java +++ b/mcp/src/main/java/io/modelcontextprotocol/server/McpAsyncServer.java @@ -138,14 +138,14 @@ public class McpAsyncServer { } // Add resources API handlers if provided - if (serverCapabilities.resources() != null) { + if (this.serverCapabilities.resources() != null) { requestHandlers.put(McpSchema.METHOD_RESOURCES_LIST, resourcesListRequestHandler()); requestHandlers.put(McpSchema.METHOD_RESOURCES_READ, resourcesReadRequestHandler()); requestHandlers.put(McpSchema.METHOD_RESOURCES_TEMPLATES_LIST, resourceTemplateListRequestHandler()); } // Add prompts API handlers if provider exists - if (serverCapabilities.prompts() != null) { + if (this.serverCapabilities.prompts() != null) { requestHandlers.put(McpSchema.METHOD_PROMPT_LIST, promptsListRequestHandler()); requestHandlers.put(McpSchema.METHOD_PROMPT_GET, promptsGetRequestHandler()); }