Google ADK
GTM Tools’ Google Agent Development Kit (ADK) integration
Getting started
Google Agent Development Kit (ADK) is an open-source framework for building AI agents. Connecting it to the GTM Tools MCP server gives your agent the whole GTM data surface through natural language: detect buying signals on a domain, resolve a company’s LinkedIn page, search employees with boolean title filters, verify professional emails, and read or write on Reddit.
Use cases
- Qualify accounts before spending on them: run
detect_signalacross a target list and let the agent decide which companies are worth researching. - Build a prospect list end to end: domain → LinkedIn company → filtered employee search → SMTP-verified email, in one agent turn.
- Monitor accounts on a schedule: ADK agents run headless, so a nightly run can sweep signals and surface only what changed.
Prerequisites
- A GTM Tools API key, from
get_api_keyorgtm-tools admin login. See Get an API key. - ADK installed:
pip install google-adk(Python) ornpm install @google/adk(TypeScript).
Setup
ADK talks to GTM Tools through its MCP tool interface. Point McpToolset at the hosted Streamable HTTP endpoint and pass the key as a bearer header:
StreamableHTTPConnectionParams.timeout defaults to 5 seconds in the Python SDK. Several GTM Tools calls legitimately run longer, since get_email performs SMTP probes and list_linkedin_company_employees triggers an upstream search, so raise timeout and sse_read_timeout. A cancelled call still costs tokens, since the charge lands before the tool runs.
In TypeScript, set headers through transportOptions.requestInit.headers. The older top-level header field is deprecated and is ignored entirely when transportOptions is present.
Available tools
McpToolset discovers the tool catalog from the server at connection time, so there is no fixed inventory to copy into your code. The server exposes 63 tools: 8 billing, 19 LinkedIn, 21 Reddit, 1 email, 13 signals, and 1 geocoding.
See the MCP tool catalogue for names and parameter shapes, and Pricing for the token cost of each. get_token_balance returns the live cost table at runtime.
Narrow the tool set
Feeding all 63 tools to the model wastes context and invites wrong picks, so narrow to the workflow you are building:
tool_filter accepts a list of names or a predicate. The TypeScript constructor takes it as the second positional argument: new MCPToolset(connectionParams, ["detect_signal", "get_email"]).