McpToolset
Connects to an MCP Server and exposes the server's MCP tools to an agent as ADK BaseTools.
McpToolset manages the lifecycle of the connection to a single MCP server and lazily fetches the server's tool list on first use. The instance can then be passed directly to an LlmAgent's toolsets.
Instances are created via McpToolsetConfig.toToolset, for example:
val toolset =
McpToolset.McpToolsetConfig(
stdioConnectionParams =
McpConnectionParameters.Stdio(
serverParameters =
ServerParameters.builder("npx")
.args("-y", "@modelcontextprotocol/server-filesystem")
.build()
),
toolFilter = ToolFilter.allowList("read_file", "list_directory"),
)
.toToolset()Content copied to clipboard
The constructor is internal; user code should use McpToolsetConfig.toToolset instead.
Types
Link copied to clipboard
data class McpToolsetConfig(val stdioConnectionParams: McpConnectionParameters.Stdio? = null, val sseConnectionParams: McpConnectionParameters.Sse? = null, val streamableHttpConnectionParams: McpConnectionParameters.StreamableHttp? = null, val toolFilter: ToolFilter? = null, val useMcpResources: Boolean = false, val maxMcpResourceLength: Int = DEFAULT_MAX_RESOURCE_LENGTH)
Configuration for an McpToolset, used to construct one via toToolset.