diff --git a/core/src/main/java/com/google/adk/agents/BaseAgent.java b/core/src/main/java/com/google/adk/agents/BaseAgent.java index fc1f0f31e..5dea10434 100644 --- a/core/src/main/java/com/google/adk/agents/BaseAgent.java +++ b/core/src/main/java/com/google/adk/agents/BaseAgent.java @@ -185,7 +185,7 @@ public final String name() { * * @return the description of the agent. */ - public final String description() { + public String description() { return description; } 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 86f7a8292..0fcb74846 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,6 +26,7 @@ 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; @@ -86,7 +87,7 @@ public T getMcpSession() { @Override public Optional declaration() { - Map inputSchema = this.mcpTool.inputSchema(); + JsonSchema 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 086e0867d..1e951dbda 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()) - .httpRequestCustomizer( - (builder, method, uri, body, context) -> + .customizeRequest( + builder -> 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 fce0934fd..0b3749269 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_defaultsInputSchema() { + public void adkToMcpToolType_declarationWithoutParameters_omitsInputSchema() { // 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_defaultsInputSchema() assertThat(result.name()).isEqualTo("noParams"); assertThat(result.description()).isEqualTo("no params"); - assertThat(result.inputSchema()).containsExactly("type", "object"); + assertThat(result.inputSchema()).isNull(); } @Test - public void adkToMcpToolType_noDeclaration_defaultsInputSchema() { + public void adkToMcpToolType_noDeclaration_omitsInputSchema() { 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()).containsExactly("type", "object"); + assertThat(result.inputSchema()).isNull(); } } diff --git a/pom.xml b/pom.xml index 9a689382e..9eff18894 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 - 2.0.0 + 1.1.2 2.47.0 1.58.0 4.33.5