diff --git a/core/src/main/java/com/google/adk/tools/mcp/DefaultMcpTransportBuilder.java b/core/src/main/java/com/google/adk/tools/mcp/DefaultMcpTransportBuilder.java index 978a80da..a06a7496 100644 --- a/core/src/main/java/com/google/adk/tools/mcp/DefaultMcpTransportBuilder.java +++ b/core/src/main/java/com/google/adk/tools/mcp/DefaultMcpTransportBuilder.java @@ -21,7 +21,8 @@ public McpClientTransport build(Object connectionParams) { return new StdioClientTransport(serverParameters); } else if (connectionParams instanceof SseServerParameters sseServerParams) { return HttpClientSseClientTransport.builder(sseServerParams.url()) - .sseEndpoint("sse") + .sseEndpoint( + sseServerParams.sseEndpoint() == null ? "sse" : sseServerParams.sseEndpoint()) .customizeRequest( builder -> Optional.ofNullable(sseServerParams.headers()) diff --git a/core/src/main/java/com/google/adk/tools/mcp/SseServerParameters.java b/core/src/main/java/com/google/adk/tools/mcp/SseServerParameters.java index 4aa8975f..ee502e53 100644 --- a/core/src/main/java/com/google/adk/tools/mcp/SseServerParameters.java +++ b/core/src/main/java/com/google/adk/tools/mcp/SseServerParameters.java @@ -29,6 +29,10 @@ public abstract class SseServerParameters { /** The URL of the SSE server. */ public abstract String url(); + /** The endpoint to connect to on the SSE server. */ + @Nullable + public abstract String sseEndpoint(); + /** Optional headers to include in the SSE connection request. */ @Nullable public abstract ImmutableMap headers(); @@ -52,6 +56,9 @@ public abstract static class Builder { /** Sets the URL of the SSE server. */ public abstract Builder url(String url); + /** Sets the endpoint to connect to on the SSE server. */ + public abstract Builder sseEndpoint(String sseEndpoint); + /** Sets the headers for the SSE connection request. */ public abstract Builder headers(@Nullable Map headers);