Skip to main content
Glama

Draft callouts

draft_callouts

Draft callout assets for an ad group, a campaign or the account — returns a PREVIEW.

Creates callout assets and links them where the id points: ad_group_id links to that ad group, campaign_id to that campaign. Account-wide linking (every campaign without callouts of its own) needs scope="account" and no id. Returns a preview with a plan_id; nothing changes until confirm_and_apply applies it.

Google Ads API: https://developers.google.com/google-ads/api/docs/start

Input Schema

NameRequiredDescriptionDefault
scopeNoEmpty (follows the id), "campaign", "ad_group" or "account".
calloutsYesCallout texts (at least one), each non-empty and at most 25 characters after trimming.
ad_group_idNoNumeric ID of the ad group to link them to, instead of a campaign.
campaign_idNoNumeric ID of the campaign to link the callouts to.
customer_idNoGoogle Ads customer ID (digits, dashes optional). Defaults to the configured account.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / ad_group_id
      Added value: +{
      +  "default": "",
      +  "description": "Numeric ID of the ad group to link them to, instead of a\ncampaign.",
      +  "type": "string"
      +}
    • addedInput schema / properties / campaign_id / default
      Added value: +""
    • changedInput schema / properties / campaign_id / description
      Previous value: -"Numeric ID of the campaign to attach the callouts to."New value: +"Numeric ID of the campaign to link the callouts to."
    • addedInput schema / properties / scope
      Added value: +{
      +  "default": "",
      +  "description": "Empty (follows the id), \"campaign\", \"ad_group\" or \"account\".",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "campaign_id",
      -  "callouts"
      -]New value: +[
      +  "callouts"
      +]
  2. Changed3 schema fields changed
    • addedInput schema / properties / callouts / description
      Added value: +"Callout texts (at least one), each non-empty and at most 25\ncharacters after trimming."
    • addedInput schema / properties / campaign_id / description
      Added value: +"Numeric ID of the campaign to attach the callouts to."
    • addedInput schema / properties / customer_id / description
      Added value: +"Google Ads customer ID (digits, dashes optional). Defaults to\nthe configured account."
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

The description adds critical behavior beyond annotations: the tool creates a preview with a plan_id and nothing changes until confirm_and_apply applies it. This is especially valuable because annotations mark the tool as not read-only but non-destructive, and the preview workflow explains why.

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

Conciseness4/5

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

The key behavior is front-loaded and the description is generally efficient. The trailing Google Ads API URL adds little for tool selection or invocation, and some line breaks make it slightly less tight than it could be.

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

Completeness5/5

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

Given the complete input schema, output schema, and annotations, the description provides everything an agent needs: scope selection, linking behavior, preview semantics, and the confirm_and_apply follow-up. No important invocation context appears missing.

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?

Schema coverage is 100%, so baseline is 3, but the description adds useful conditional semantics: account-wide linking requires scope="account" with no id. That relationship between parameters is more than what the individual schema fields state, though most parameter meaning is still carried by the schema.

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?

The description states a specific verb and resource: drafting callout assets, with explicit support for ad group, campaign, or account scope. It also distinguishes the operation from immediate mutation by saying it returns a PREVIEW, which helps separate it from update or apply tools.

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?

It clearly explains how ad_group_id, campaign_id, and scope="account" select the linking target, and it names confirm_and_apply as the required next step. It does not explicitly contrast this tool with update_callout or other callout-related siblings, so it falls slightly short of fully explicit alternative guidance.

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.