From e6c77ea133ae2e1a7fe66a3deaf48a65c79f30f1 Mon Sep 17 00:00:00 2001 From: Santiago Pericas-Geertsen Date: Mon, 20 Oct 2025 10:15:43 -0300 Subject: [PATCH] Fix subscriptions URI. We no longer expose the internal file URI to the clients. --- .../mcp/examples/calendar/declarative/Calendar.java | 6 ------ .../examples/calendar/declarative/McpCalendarServer.java | 2 +- .../mcp/examples/calendar/AddCalendarEventTool.java | 4 +++- .../helidon/extensions/mcp/examples/calendar/Calendar.java | 6 ------ 4 files changed, 4 insertions(+), 14 deletions(-) diff --git a/examples/calendar-application/calendar-declarative/src/main/java/io/helidon/extensions/mcp/examples/calendar/declarative/Calendar.java b/examples/calendar-application/calendar-declarative/src/main/java/io/helidon/extensions/mcp/examples/calendar/declarative/Calendar.java index 65343609..14729a04 100644 --- a/examples/calendar-application/calendar-declarative/src/main/java/io/helidon/extensions/mcp/examples/calendar/declarative/Calendar.java +++ b/examples/calendar-application/calendar-declarative/src/main/java/io/helidon/extensions/mcp/examples/calendar/declarative/Calendar.java @@ -36,21 +36,15 @@ final class Calendar { private final Path file; - private final String uri; Calendar() { try { this.file = Files.createTempFile("calendar", "-calendar"); - this.uri = file.toUri().toString(); } catch (IOException ex) { throw new UncheckedIOException(ex); } } - String uri() { - return uri; - } - String readContent() { try { return Files.readString(file); diff --git a/examples/calendar-application/calendar-declarative/src/main/java/io/helidon/extensions/mcp/examples/calendar/declarative/McpCalendarServer.java b/examples/calendar-application/calendar-declarative/src/main/java/io/helidon/extensions/mcp/examples/calendar/declarative/McpCalendarServer.java index 0bfd0a16..e8912084 100644 --- a/examples/calendar-application/calendar-declarative/src/main/java/io/helidon/extensions/mcp/examples/calendar/declarative/McpCalendarServer.java +++ b/examples/calendar-application/calendar-declarative/src/main/java/io/helidon/extensions/mcp/examples/calendar/declarative/McpCalendarServer.java @@ -94,7 +94,7 @@ List addCalendarEvent(McpFeatures features, progress.send(0); calendar.createNewEvent(name, date, attendees); progress.send(50); - features.subscriptions().sendUpdate(calendar.uri()); + features.subscriptions().sendUpdate(EVENTS_URI); progress.send(100); return List.of(McpToolContents.textContent("New event added to the calendar")); diff --git a/examples/calendar-application/calendar/src/main/java/io/helidon/extensions/mcp/examples/calendar/AddCalendarEventTool.java b/examples/calendar-application/calendar/src/main/java/io/helidon/extensions/mcp/examples/calendar/AddCalendarEventTool.java index 31bab9b0..82a45a45 100644 --- a/examples/calendar-application/calendar/src/main/java/io/helidon/extensions/mcp/examples/calendar/AddCalendarEventTool.java +++ b/examples/calendar-application/calendar/src/main/java/io/helidon/extensions/mcp/examples/calendar/AddCalendarEventTool.java @@ -30,6 +30,8 @@ import io.helidon.extensions.mcp.server.McpToolContent; import io.helidon.extensions.mcp.server.McpToolContents; +import static io.helidon.extensions.mcp.examples.calendar.Calendar.EVENTS_URI; + /** * MCP tool to add a new Event to the calendar. */ @@ -111,7 +113,7 @@ private List addCalendarEvent(McpRequest request) { progress.send(50); calendar.createNewEvent(name, date, attendees); - features.subscriptions().sendUpdate(calendar.uri()); + features.subscriptions().sendUpdate(EVENTS_URI); progress.send(100); return List.of(McpToolContents.textContent("New event added to the calendar")); diff --git a/examples/calendar-application/calendar/src/main/java/io/helidon/extensions/mcp/examples/calendar/Calendar.java b/examples/calendar-application/calendar/src/main/java/io/helidon/extensions/mcp/examples/calendar/Calendar.java index 3eeb13ce..4df79e6b 100644 --- a/examples/calendar-application/calendar/src/main/java/io/helidon/extensions/mcp/examples/calendar/Calendar.java +++ b/examples/calendar-application/calendar/src/main/java/io/helidon/extensions/mcp/examples/calendar/Calendar.java @@ -36,21 +36,15 @@ final class Calendar { static final String EVENTS_URI_TEMPLATE = EVENTS_URI + "/{name}"; private final Path file; - private final String uri; Calendar() { try { this.file = Files.createTempFile("calendar", "-calendar"); - this.uri = file.toUri().toString(); } catch (IOException ex) { throw new UncheckedIOException(ex); } } - String uri() { - return uri; - } - String readContent() { try { return Files.readString(file);