Skip to main content
Glama

Google Ads: Add extensions

ads_add_extensions

Add extensions (assets) to one campaign or to the whole account: SITELINK (text ≤25, descriptions ≤35, final URL each), CALLOUT (≤25 chars each), STRUCTURED_SNIPPET (a header such as 'Services' plus 3+ values), or CALL (the client's lead phone number). Assets are validated by Google in the preview and linked on confirm.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
confirmNo
calloutsNo
sitelinksNo
campaign_idNoOmit to attach at account level (every campaign)
customer_idYes
country_codeNoDefault US
phone_numberNo
snippet_headerNoOne of Google's headers: Services, Types, Brands, Amenities, Styles, Models, Courses, Degree programs, Destinations, Featured hotels, Insurance coverage, Neighborhoods, Shows
snippet_valuesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (openWorld, non-idempotent, non-destructive), the description discloses the genuinely useful behavioral fact that Google validates assets in a preview and linking only happens on confirm. It omits permission requirements and does not warn that repeating the call may duplicate assets despite idempotentHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence, front-loaded with the verb and scope, then per-kind constraints in priority order, closing with the confirm workflow. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, open-world mutation tool with no output schema, the description supplies the asset-type semantics and the validation/confirm lifecycle an agent needs. Remaining gaps (permissions, duplicate behavior, result shape) are minor but real.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema coverage at only 30% across 10 parameters, the description carries needed weight: it maps each kind to its payload (sitelink text/description/URL, callout length, snippet header plus 3+ values, lead phone number) and clarifies account-level vs campaign-level attachment. confirm, country_code, and customer_id remain undocumented in prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Add extensions (assets)') plus scope ('one campaign or to the whole account'), and enumerates the four asset kinds it supports. An agent can distinguish this from siblings like ads_list_extensions or ads_remove_extension without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description establishes the account-vs-campaign targeting context and the two-step preview/confirm workflow, which tells the agent how the call is expected to be used. It does not name explicit when-not conditions or point at an alternative tool, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.