Class McpToolset
java.lang.Object
com.google.adk.tools.mcp.McpToolset
- All Implemented Interfaces:
BaseToolset
,AutoCloseable
Connects to a MCP Server, and retrieves MCP Tools into ADK Tools.
Attributes:
connectionParams
: The connection parameters to the MCP server. Can be eitherServerParameters
orSseServerParameters
.session
: The MCP session being initialized with the connection.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Exception thrown when there's an error during MCP session initialization.static class
Exception thrown when there's an error during loading tools from the MCP server.static class
Base exception for all errors originating fromMcpToolset
. -
Constructor Summary
ConstructorsConstructorDescriptionMcpToolset
(McpSessionManager mcpSessionManager, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<Object> toolFilter) Initializes the McpToolset with an McpSessionManager.McpToolset
(SseServerParameters connectionParams) Initializes the McpToolset with SSE server parameters, using the ObjectMapper used across the ADK and no tool filter.McpToolset
(SseServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Initializes the McpToolset with SSE server parameters and no tool filter.McpToolset
(SseServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<Object> toolFilter) Initializes the McpToolset with SSE server parameters.McpToolset
(SseServerParameters connectionParams, Optional<Object> toolFilter) Initializes the McpToolset with SSE server parameters, using the ObjectMapper used across the ADK.McpToolset
(io.modelcontextprotocol.client.transport.ServerParameters connectionParams) Initializes the McpToolset with local server parameters, using the ObjectMapper used across the ADK and no tool filter.McpToolset
(io.modelcontextprotocol.client.transport.ServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Initializes the McpToolset with local server parameters and no tool filter.McpToolset
(io.modelcontextprotocol.client.transport.ServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<Object> toolFilter) Initializes the McpToolset with local server parameters.McpToolset
(io.modelcontextprotocol.client.transport.ServerParameters connectionParams, Optional<Object> toolFilter) Initializes the McpToolset with local server parameters, using the ObjectMapper used across the ADK. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.google.adk.tools.BaseToolset
isToolSelected
-
Constructor Details
-
McpToolset
public McpToolset(SseServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<Object> toolFilter) Initializes the McpToolset 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.
-
McpToolset
public McpToolset(SseServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Initializes the McpToolset with SSE server parameters and no tool filter.- Parameters:
connectionParams
- The SSE connection parameters to the MCP server.objectMapper
- An ObjectMapper instance for parsing schemas.
-
McpToolset
public McpToolset(io.modelcontextprotocol.client.transport.ServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<Object> toolFilter) Initializes the McpToolset 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.
-
McpToolset
public McpToolset(io.modelcontextprotocol.client.transport.ServerParameters connectionParams, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Initializes the McpToolset with local server parameters and no tool filter.- Parameters:
connectionParams
- The local server connection parameters to the MCP server.objectMapper
- An ObjectMapper instance for parsing schemas.
-
McpToolset
Initializes the McpToolset with SSE server parameters, using the ObjectMapper used across the ADK.- Parameters:
connectionParams
- The SSE connection parameters to the MCP server.toolFilter
- An Optional containing either a ToolPredicate or a List of tool names.
-
McpToolset
Initializes the McpToolset with SSE server parameters, using the ObjectMapper used across the ADK and no tool filter.- Parameters:
connectionParams
- The SSE connection parameters to the MCP server.
-
McpToolset
public McpToolset(io.modelcontextprotocol.client.transport.ServerParameters connectionParams, Optional<Object> toolFilter) Initializes the McpToolset with local server parameters, using the ObjectMapper used across the ADK.- Parameters:
connectionParams
- The local server connection parameters to the MCP server.toolFilter
- An Optional containing either a ToolPredicate or a List of tool names.
-
McpToolset
public McpToolset(io.modelcontextprotocol.client.transport.ServerParameters connectionParams) Initializes the McpToolset with local server parameters, using the ObjectMapper used across the ADK and no tool filter.- Parameters:
connectionParams
- The local server connection parameters to the MCP server.
-
McpToolset
public McpToolset(McpSessionManager mcpSessionManager, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<Object> toolFilter) Initializes the McpToolset with an McpSessionManager.- Parameters:
mcpSessionManager
- A McpSessionManager instance for testing.objectMapper
- An ObjectMapper instance for parsing schemas.toolFilter
- An Optional containing either a ToolPredicate or a List of tool names.
-
-
Method Details
-
getTools
Description copied from interface:BaseToolset
Return all tools in the toolset based on the provided context.- Specified by:
getTools
in interfaceBaseToolset
- 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 interfaceAutoCloseable
- Specified by:
close
in interfaceBaseToolset
-