Skip to main content

tools-and-integrations

Bind and troubleshoot ADK Python tools, ToolContext, long-running and confirmation tools, auth, MCP/OpenAPI/Google API/cloud integrations, A2A helpers, and optional extras.

Aller à l'installation

Informations de source

Dépôt
VectorSpaceLab/AREX-Skill
Dernière activité de la source
26 août 2026 à 16:31
Langue détectée de SKILL.md
anglais
Étoiles
12
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
5 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
tools-and-integrations
description
Bind and troubleshoot ADK Python tools, ToolContext, long-running and confirmation tools, auth, MCP/OpenAPI/Google API/cloud integrations, A2A helpers, and optional extras.
disable-model-invocation
true
metadata
{"disco-role":"operating"}
license
Apache 2.0
# ADK Tools and Integrations Use this sub-skill when a user asks to add, wrap, authenticate, expose, or debug tools and integration toolsets in an ADK Python agent. ## Route Here - Bind Python functions with `FunctionTool`, `LongRunningFunctionTool`, `ToolContext`, `request_input`, or explicit `tool_context.request_confirmation()`. - Build custom `BaseTool` or `BaseToolset` classes, filter/prefix toolsets, or close toolset resources safely. - Wrap agents as tools with `AgentTool`, delegate with `TransferToAgentTool` or `transfer_to_agent`, or diagnose tool-name routing issues. - Add auth with `AuthConfig`, `AuthCredential`, `AuthenticatedFunctionTool`, OpenAPI auth helpers, MCP auth, or credential request flows. - Configure MCP, OpenAPI, API Hub, Google API, Application Integration, BigQuery/Bigtable/Spanner/Pub/Sub/Data Agent/Toolbox/Slack/A2A integrations. - Diagnose missing optional extras such as `google-adk[mcp]`, `google-adk[extensions]`, `google-adk[gcp]`, `google-adk[tools]`, `google-adk[a2a]`, `google-adk[toolbox]`, or `google-adk[db]`. ## Route Elsewhere - Agent constructor field placement, `model`, `instruction`, schemas, and callback basics: use `agent-construction`. - CLI command usage, app discovery, local servers, deployment, and YAML config loading: use `cli-configuration-deployment`. - `Runner`, `App`, session/memory/artifact persistence, plugins, telemetry, and service lifecycles: use `runtime-services`. - Workflow graph nodes, `Workflow`, HITL node resume, joins, and dynamic graph routing: use `workflow-orchestration`. - Modifying ADK repository source, style, tests, docs, or samples: use `repo-development`. ## Quick Start 1. Prefer bare callables for simple tools; wrap with `FunctionTool(func=..., require_confirmation=...)` only when you need confirmation or explicit tool object behavior. 2. Add `tool_context: ToolContext` only when the tool needs state, artifacts, credentials, confirmation, transfer actions, or workflow node helpers; the parameter must be named `tool_context`. 3. Return JSON-serializable dictionaries for structured tool results; return `{"error": "..."}` when the model should see a recoverable tool failure. 4. Use `LongRunningFunctionTool` for work that returns pending status or pauses for external input; do not retry the same long-running call unless the returned event requests it. 5. Treat MCP, cloud, database, and A2A helpers as optional-extra surfaces; first run the bundled inspection script before assuming an import is available. ```python from google.adk import Agent from google.adk.tools import FunctionTool, ToolContext def transfer_funds(amount: float, recipient: str, tool_context: ToolContext): """Transfer funds after ADK collects confirmation.""" return {"status": "scheduled", "amount": amount, "recipient": recipient} root_agent = Agent( name="finance_agent", model="gemini-3.5-flash", instruction="Use tools for account operations and explain the result.", tools=[FunctionTool(func=transfer_funds, require_confirmation=True)], ) ``` ## References - [API reference](references/api-reference.md) — public classes, constructors, auth models, tool context methods, integration toolset families, optional extras, and local validation checks. - [Workflows](references/workflows.md) — recipes for function tools, confirmation, long-running tools, MCP, OpenAPI, Google API/cloud integrations, A2A exposure, and safe fallback planning. - [Troubleshooting](references/troubleshooting.md) — fixes for missing extras, credentials, auth config, schema conversion, MCP sessions, cloud clients, confirmation confusion, and swallowed tool errors. - [Inspection script](scripts/inspect_tooling.py) — no-network diagnostic that prints installed tool signatures and reports optional-extra availability without failing the whole run. ## Tooling Checklist - Tool names are stable, unique, and derived from clear function/class names; descriptions come from docstrings or explicit `BaseTool` descriptions. - Function parameters are typed with JSON-schema-friendly types; Pydantic models are accepted for structured arguments but should be validated before side effects. - `ToolContext` is used for state, credentials, confirmation, memory/artifacts, transfer actions, or node execution; it is not exposed to the model as a normal argument. - Sensitive operations require either `require_confirmation=True` or explicit `tool_context.request_confirmation()` handling. - Integration code documents which extra and which credential source are required, and includes a local import/help probe before any network or credential-dependent call. - Tool exceptions are either intentionally propagated or translated by `on_tool_error_callback`; recoverable domain failures return a function response such as `{"error": "..."}`.
Voir sur GitHub