Class McpAsyncToolset

java.lang.Object
com.google.adk.tools.mcp.McpAsyncToolset
All Implemented Interfaces:
BaseToolset, AutoCloseable

public class McpAsyncToolset extends Object implements BaseToolset
Connects to a MCP Server, and retrieves MCP Tools into ADK Tools.

Attributes:

  • connectionParams: The connection parameters to the MCP server. Can be either ServerParameters or SseServerParameters.
  • session: The MCP session being initialized with the connection.
  • Constructor Details

    • McpAsyncToolset

      public McpAsyncToolset(SseServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<Object> toolFilter)
      Initializes the McpAsyncToolset with SSE server parameters.
      Parameters:
      connectionParams - The SSE connection parameters to the MCP server.
      objectMapper - An ObjectMapper instance for parsing schemas.
      toolFilter - An Optional containing either a ToolPredicate or a List of tool names.
    • McpAsyncToolset

      public McpAsyncToolset(io.modelcontextprotocol.client.transport.ServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<Object> toolFilter)
      Initializes the McpAsyncToolset with local server parameters.
      Parameters:
      connectionParams - The local server connection parameters to the MCP server.
      objectMapper - An ObjectMapper instance for parsing schemas.
      toolFilter - An Optional containing either a ToolPredicate or a List of tool names.
    • McpAsyncToolset

      public McpAsyncToolset(McpSessionManager mcpSessionManager, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<Object> toolFilter)
      Initializes the McpAsyncToolset with a provided McpSessionManager.
      Parameters:
      mcpSessionManager - The session manager for MCP connections.
      objectMapper - An ObjectMapper instance for parsing schemas.
      toolFilter - An Optional containing either a ToolPredicate or a List of tool names.
  • Method Details

    • getTools

      public io.reactivex.rxjava3.core.Flowable<BaseTool> getTools(ReadonlyContext readonlyContext)
      Description copied from interface: BaseToolset
      Return all tools in the toolset based on the provided context.
      Specified by:
      getTools in interface BaseToolset
      Parameters:
      readonlyContext - Context used to filter tools available to the agent.
      Returns:
      A Single emitting a list of tools available under the specified context.
    • close

      public void close()
      Description copied from interface: BaseToolset
      Performs cleanup and releases resources held by the toolset.

      NOTE: This method is invoked, for example, at the end of an agent server's lifecycle or when the toolset is no longer needed. Implementations should ensure that any open connections, files, or other managed resources are properly released to prevent leaks.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface BaseToolset