From 5d8ef10812ceedbd9f3c23f3e345f3a43eb98981 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Tue, 1 Sep 2026 05:31:12 -0700 Subject: [PATCH] chore: Update the MCP SDK version to 2.0.0 PiperOrigin-RevId: 974440038 --- .../java/com/google/adk/tools/mcp/AbstractMcpTool.java | 3 +-- .../google/adk/tools/mcp/DefaultMcpTransportBuilder.java | 4 ++-- .../com/google/adk/tools/mcp/ConversionUtilsTest.java | 8 ++++---- pom.xml | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/com/google/adk/tools/mcp/AbstractMcpTool.java b/core/src/main/java/com/google/adk/tools/mcp/AbstractMcpTool.java index 0fcb74846..86f7a8292 100644 --- a/core/src/main/java/com/google/adk/tools/mcp/AbstractMcpTool.java +++ b/core/src/main/java/com/google/adk/tools/mcp/AbstractMcpTool.java @@ -26,7 +26,6 @@ import com.google.genai.types.FunctionDeclaration; import io.modelcontextprotocol.spec.McpSchema.CallToolResult; import io.modelcontextprotocol.spec.McpSchema.Content; -import io.modelcontextprotocol.spec.McpSchema.JsonSchema; import io.modelcontextprotocol.spec.McpSchema.TextContent; import io.modelcontextprotocol.spec.McpSchema.Tool; import io.modelcontextprotocol.spec.McpSchema.ToolAnnotations; @@ -87,7 +86,7 @@ public T getMcpSession() { @Override public Optional declaration() { - JsonSchema inputSchema = this.mcpTool.inputSchema(); + Map inputSchema = this.mcpTool.inputSchema(); Map outputSchema = this.mcpTool.outputSchema(); try { return Optional.ofNullable(inputSchema) 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 1e951dbda..086e0867d 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 @@ -49,8 +49,8 @@ public McpClientTransport build(Object connectionParams) { return HttpClientSseClientTransport.builder(sseServerParams.url()) .sseEndpoint( sseServerParams.sseEndpoint() == null ? "sse" : sseServerParams.sseEndpoint()) - .customizeRequest( - builder -> + .httpRequestCustomizer( + (builder, method, uri, body, context) -> Optional.ofNullable(sseServerParams.headers()) .map(ImmutableMap::entrySet) .stream() diff --git a/core/src/test/java/com/google/adk/tools/mcp/ConversionUtilsTest.java b/core/src/test/java/com/google/adk/tools/mcp/ConversionUtilsTest.java index 0b3749269..fce0934fd 100644 --- a/core/src/test/java/com/google/adk/tools/mcp/ConversionUtilsTest.java +++ b/core/src/test/java/com/google/adk/tools/mcp/ConversionUtilsTest.java @@ -62,7 +62,7 @@ public void adkToMcpToolType_declarationWithParameters_setsInputSchema() { } @Test - public void adkToMcpToolType_declarationWithoutParameters_omitsInputSchema() { + public void adkToMcpToolType_declarationWithoutParameters_defaultsInputSchema() { // A present declaration with no parameters is a valid no-argument tool. Before the fix this // threw NoSuchElementException from an unguarded Optional.get() on parameters(). FunctionDeclaration declaration = FunctionDeclaration.builder().name("noParams").build(); @@ -72,17 +72,17 @@ public void adkToMcpToolType_declarationWithoutParameters_omitsInputSchema() { assertThat(result.name()).isEqualTo("noParams"); assertThat(result.description()).isEqualTo("no params"); - assertThat(result.inputSchema()).isNull(); + assertThat(result.inputSchema()).containsExactly("type", "object"); } @Test - public void adkToMcpToolType_noDeclaration_omitsInputSchema() { + public void adkToMcpToolType_noDeclaration_defaultsInputSchema() { BaseTool tool = new FakeTool("bare", "no declaration", Optional.empty()); McpSchema.Tool result = ConversionUtils.adkToMcpToolType(tool); assertThat(result.name()).isEqualTo("bare"); assertThat(result.description()).isEqualTo("no declaration"); - assertThat(result.inputSchema()).isNull(); + assertThat(result.inputSchema()).containsExactly("type", "object"); } } diff --git a/pom.xml b/pom.xml index 9eff18894..9a689382e 100644 --- a/pom.xml +++ b/pom.xml @@ -53,7 +53,7 @@ cloud libraries. Once they update their otel dependencies we can consider updating ours here as well --> 1.51.0 - 1.1.2 + 2.0.0 2.47.0 1.58.0 4.33.5