A class that provides access to toolbox toolsets. Example: ```python toolbox_toolset = ToolboxToolset("http://127.0.0.1:5000") ```
| 33 | |
| 34 | |
| 35 | class ToolboxToolset(BaseToolset): |
| 36 | """A class that provides access to toolbox toolsets. |
| 37 | |
| 38 | Example: |
| 39 | ```python |
| 40 | toolbox_toolset = ToolboxToolset("http://127.0.0.1:5000") |
| 41 | ``` |
| 42 | """ |
| 43 | |
| 44 | def __init__( |
| 45 | self, |
| 46 | server_url: str, |
| 47 | toolset_name: Optional[str] = None, |
| 48 | tool_names: Optional[List[str]] = None, |
| 49 | auth_token_getters: Optional[Mapping[str, Callable[[], str]]] = None, |
| 50 | bound_params: Optional[ |
| 51 | Mapping[str, Union[Callable[[], Any], Any]] |
| 52 | ] = None, |
| 53 | credentials: Optional[CredentialConfig] = None, |
| 54 | additional_headers: Optional[Mapping[str, str]] = None, |
| 55 | **kwargs, |
| 56 | ): |
| 57 | """Initializes the ToolboxToolset. |
| 58 | |
| 59 | Args: |
| 60 | server_url: The URL of the toolbox server. |
| 61 | toolset_name: (Optional) The name of the toolbox toolset to load. |
| 62 | tool_names: (Optional) The names of the tools to load. |
| 63 | auth_token_getters: (Optional) A mapping of authentication service names |
| 64 | to callables that return the corresponding authentication token. see: |
| 65 | https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main/packages/toolbox-core#authenticating-tools |
| 66 | for details. |
| 67 | bound_params: (Optional) A mapping of parameter names to bind to specific |
| 68 | values or callables that are called to produce values as needed. see: |
| 69 | https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main/packages/toolbox-core#binding-parameter-values |
| 70 | for details. |
| 71 | credentials: (Optional) toolbox_adk.CredentialConfig object. |
| 72 | additional_headers: (Optional) Static headers mapping. |
| 73 | **kwargs: Additional arguments passed to the underlying |
| 74 | toolbox_adk.ToolboxToolset. |
| 75 | |
| 76 | The resulting ToolboxToolset will contain both tools loaded by tool_names |
| 77 | and toolset_name. |
| 78 | |
| 79 | Note: toolset_name and tool_names are optional. |
| 80 | If both are omitted, all tools are loaded. |
| 81 | """ |
| 82 | try: |
| 83 | from toolbox_adk import ToolboxToolset as RealToolboxToolset # pylint: disable=import-outside-toplevel |
| 84 | except ImportError as exc: |
| 85 | raise ImportError( |
| 86 | "ToolboxToolset requires the 'toolbox-adk' package. " |
| 87 | "Please install it using `pip install google-adk[toolbox]`." |
| 88 | ) from exc |
| 89 | |
| 90 | super().__init__() |
| 91 | |
| 92 | self._delegate = RealToolboxToolset( |