Class AbstractMcpTool<T>

java.lang.Object
com.google.adk.tools.BaseTool
com.google.adk.tools.mcp.AbstractMcpTool<T>
Type Parameters:
T - The type of the MCP session client.
Direct Known Subclasses:
McpAsyncTool, McpTool

public abstract class AbstractMcpTool<T> extends BaseTool
Base class for MCP tools.
  • Field Details

    • mcpTool

      protected final io.modelcontextprotocol.spec.McpSchema.Tool mcpTool
    • mcpSessionManager

      protected final McpSessionManager mcpSessionManager
    • objectMapper

      protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
    • mcpSession

      protected volatile T mcpSession
  • Constructor Details

    • AbstractMcpTool

      protected AbstractMcpTool(io.modelcontextprotocol.spec.McpSchema.Tool mcpTool, T mcpSession, McpSessionManager mcpSessionManager, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
  • Method Details

    • annotations

      public io.modelcontextprotocol.spec.McpSchema.ToolAnnotations annotations()
    • meta

      public Map<String,Object> meta()
    • getMcpSession

      public T getMcpSession()
    • declaration

      public Optional<com.google.genai.types.FunctionDeclaration> declaration()
      Description copied from class: BaseTool
      Gets the FunctionDeclaration representation of this tool.
      Overrides:
      declaration in class BaseTool
    • wrapCallResult

      protected static Map<String,Object> wrapCallResult(com.fasterxml.jackson.databind.ObjectMapper objectMapper, String mcpToolName, io.modelcontextprotocol.spec.McpSchema.CallToolResult callResult)