Skip to main content
Glama

Google Ads: changes

google_ads_changes
Destructive

Google Ads, change operations: propose_budget, propose_campaign_status, propose_ad_set_status, propose_ad_status, propose_launch, propose_ad_final_url, propose_ad_text, add_negative_keywords, add_keywords, set_tracking_suffix, propose_bid_strategy, propose_keyword_update, propose_ad_group_bid, propose_campaign_targeting, add_extensions, propose_ad_group_audiences, propose_extension_removal, create_campaign, create_ad_set, create_ad, create_first_campaign. A change to an existing object is a proposal: it is applied only after a person approves it, or when the client's auto policy allows a reversible change within limits. New campaigns, ad sets and ads are created paused, with no spend. Parameters of an operation: get_tool_schema.

Input Schema

NameRequiredDescriptionDefault
paramsNo
operationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / operation / enum
      Previous value: -[
      -  "propose_budget",
      -  "propose_campaign_status",
      -  "propose_ad_set_status",
      -  "propose_ad_status",
      -  "propose_ad_final_url",
      -  "propose_ad_text",
      -  "add_negative_keywords",
      -  "add_keywords",
      -  "set_tracking_suffix",
      -  "propose_bid_strategy",
      -  "propose_keyword_update",
      -  "propose_ad_group_bid",
      -  "propose_campaign_targeting",
      -  "add_extensions",
      -  "propose_ad_group_audiences",
      -  "propose_extension_removal",
      -  "create_campaign",
      -  "create_ad_set",
      -  "create_ad",
      -  "create_first_campaign"
      -]New value: +[
      +  "propose_budget",
      +  "propose_campaign_status",
      +  "propose_ad_set_status",
      +  "propose_ad_status",
      +  "propose_launch",
      +  "propose_ad_final_url",
      +  "propose_ad_text",
      +  "add_negative_keywords",
      +  "add_keywords",
      +  "set_tracking_suffix",
      +  "propose_bid_strategy",
      +  "propose_keyword_update",
      +  "propose_ad_group_bid",
      +  "propose_campaign_targeting",
      +  "add_extensions",
      +  "propose_ad_group_audiences",
      +  "propose_extension_removal",
      +  "create_campaign",
      +  "create_ad_set",
      +  "create_ad",
      +  "create_first_campaign"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / operation / enum
      Previous value: -[
      -  "propose_budget",
      -  "propose_campaign_status",
      -  "propose_ad_set_status",
      -  "propose_ad_status",
      -  "propose_ad_final_url",
      -  "propose_ad_text",
      -  "add_negative_keywords",
      -  "add_keywords",
      -  "set_tracking_suffix",
      -  "propose_bid_strategy",
      -  "propose_keyword_update",
      -  "propose_ad_group_bid",
      -  "propose_campaign_targeting",
      -  "add_extensions",
      -  "propose_ad_group_audiences",
      -  "propose_extension_removal",
      -  "create_campaign",
      -  "create_ad_set",
      -  "create_ad"
      -]New value: +[
      +  "propose_budget",
      +  "propose_campaign_status",
      +  "propose_ad_set_status",
      +  "propose_ad_status",
      +  "propose_ad_final_url",
      +  "propose_ad_text",
      +  "add_negative_keywords",
      +  "add_keywords",
      +  "set_tracking_suffix",
      +  "propose_bid_strategy",
      +  "propose_keyword_update",
      +  "propose_ad_group_bid",
      +  "propose_campaign_targeting",
      +  "add_extensions",
      +  "propose_ad_group_audiences",
      +  "propose_extension_removal",
      +  "create_campaign",
      +  "create_ad_set",
      +  "create_ad",
      +  "create_first_campaign"
      +]
  3. First observed

TDQS

A4/5.0
Behavior4/5

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

Beyond the destructiveHint/openWorldHint annotations, the description discloses important behavior: existing-object changes are proposals applied only after human approval or an auto policy for reversible changes, and new campaigns/ad sets/ads are created paused with no spend. It does not detail per-operation reversibility or failure modes, but it adds substantial context the annotations alone do not provide.

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

Conciseness3/5

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

The core behavioral sentences are front-loaded and efficient, but the long enumeration of 21 operation names duplicates the enum already present in the input schema and consumes most of the description space. Removing or shortening that list would make the definition tighter.

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 multi-operation mutation tool with no output schema and a nested params object, the description covers the essential call context: the operation set, the proposal/approval model, paused creation, and where to look up per-operation parameters. It leaves some individual operation details to get_tool_schema, which is reasonable.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries more burden. It does not describe the params object or which fields each operation requires, but it does point the agent to get_tool_schema for per-operation parameters. That is useful compensation but stops short of true parameter semantics.

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 resource (Google Ads change operations) and enumerates the exact operation set, so an agent can distinguish this from read tools like google_ads and from sibling change tools for other ad platforms. The verb+resource framing is unambiguous.

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 establishes the context for use: applying changes to existing objects and creating new paused objects. It explains the approval/auto-policy condition under which proposals are applied, but does not explicitly name alternatives such as approve_change or get_change_status for follow-up actions.

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.

Resources