diff --git a/core/src/main/java/com/google/adk/tools/mcp/McpAsyncToolset.java b/core/src/main/java/com/google/adk/tools/mcp/McpAsyncToolset.java index 898cfc61c..5e92410c9 100644 --- a/core/src/main/java/com/google/adk/tools/mcp/McpAsyncToolset.java +++ b/core/src/main/java/com/google/adk/tools/mcp/McpAsyncToolset.java @@ -145,6 +145,23 @@ public McpAsyncToolset( this.toolFilter = toolFilter; } + /** + * Initializes the McpAsyncToolset with a provided McpSessionManager. + * + * @param mcpSessionManager The session manager for MCP connections. + * @param objectMapper An ObjectMapper instance for parsing schemas. + * @param toolFilter null or an implement for {@link ToolPredicate}, {@link + * com.google.adk.tools.NamedToolPredicate} + */ + public McpAsyncToolset( + McpSessionManager mcpSessionManager, ObjectMapper objectMapper, ToolPredicate toolFilter) { + Objects.requireNonNull(mcpSessionManager); + Objects.requireNonNull(objectMapper); + this.objectMapper = objectMapper; + this.mcpSessionManager = mcpSessionManager; + this.toolFilter = toolFilter; + } + @Override public Flowable getTools(ReadonlyContext readonlyContext) { return Maybe.defer(() -> Maybe.fromCompletionStage(this.initAndGetTools().toFuture()))