# 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.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `McpAsyncToolset.Builder`
  Builder for McpAsyncToolset

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static McpAsyncToolset.Builder`
  `builder()`
  `void`
  `close()`
  Performs cleanup and releases resources held by the toolset.
  `io.reactivex.rxjava3.core.Flowable<BaseTool>`
  `getTools(ReadonlyContext readonlyContext)`
  Return all tools in the toolset based on the provided context.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface BaseToolset

  `isToolSelected`
  Modifier and Type
  Method
  Description
  `default boolean`
  `isToolSelected(BaseTool tool, @Nullable Object toolFilter, @Nullable ReadonlyContext readonlyContext)`
  Checks if a tool should be selected based on a filter.

- ## Method Details

  - ### builder

    public static McpAsyncToolset.Builder builder()

  - ### 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`