Google ADKgoogle-adk 2.8 · Python 3.10+
1
Curious builder0 XP earned · 300 to level 2
0 daysFinish a lesson to begin
Badge collection0 of 6 unlocked
28 small wins to finish your pathNext lesson

Tools you did not write

ADK ships tools, and connects to hundreds more. The useful part of this lesson is the one rule that catches people out.

The built-in ones are the things Google can host for you: search, code execution, and the enterprise search products. Beyond those, the documentation's integrations section lists more than a hundred connectors, from databases to ticketing systems, and MCP servers can be used as tools too.

python
from google.adk.tools import google_search

agent = LlmAgent(
    name="researcher",
    model="gemini-flash-latest",
    instruction="Answer questions about current events.",
    tools=[google_search],
)

That one needs a real model and a key, so there is no output on this page for it. The shape is what matters: a built-in tool goes in the same list your own functions go in.

The rule that catches people

Some built-in tools cannot be combined with anything else in the same agent. The documentation is explicit: Google Search, agent search and code execution with the Gemini API are one-tool-per-agent, in the Python versions where the limitation applies. Putting one of those next to your own functions is not supported.

The fix is the same one you would reach for anyway, and it is the subject of part 4: give the search tool its own agent, and let your main agent hand work to it.

Choosing between a tool and an integration

You wantReach for
Your own logic, your own dataA function tool. Lesson 5
Something Google hosts, like searchA built-in tool, on its own agent if the limitation applies
A product with an existing connectorThe integration, rather than writing an API client
An external tool serverMCP, which ADK can consume as tools
A long tool list is not free
Every tool you add is described to the model on every turn, so a long list is a cost you pay continuously. Ten well described tools beat forty that overlap, and the moment you need forty, you need several agents instead.
Try it yourself
  • Look through the integrations list for something you already use at work.
  • Write down which of your team's jobs would need a hosted tool rather than a function.

Little by little, you're building something great.