Skip to main content
Glama

Google Ads: create responsive search ad

create_responsive_search_ad
Destructive

Creates a responsive search ad in an ad group.

Responsive search ads allow you to provide multiple headlines and descriptions,
and Google Ads will automatically test different combinations.

Args:
    customer_id: The Google Ads customer ID (numbers only, no hyphens).
    ad_group_id: The ID of the ad group to add the ad to.
    headlines: List of headline texts (min 3, max 15). Each headline max 30 characters.
    descriptions: List of description texts (min 2, max 4). Each description max 90 characters.
    final_url: The landing page URL for the ad.
    path1: First URL path text (max 15 characters). Optional.
    path2: Second URL path text (max 15 characters). Optional.
    status: Ad status. One of: ENABLED, PAUSED. Default: ENABLED. In a
        campaign that is already running, an ENABLED ad serves, from
        that campaign's budget, as soon as Google approves it; pass
        PAUSED to hold it.

Returns:
    Dictionary with the created ad resource name.

Tools revision: 5c9bea8f.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
path1No
path2No
statusNoENABLED
final_urlYes
headlinesYes
ad_group_idYes
customer_idYes
descriptionsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructiveHint=true, idempotent=false, and openWorld=true, so the mutation profile is covered. The description adds genuinely useful behavior beyond that: it explains that an ENABLED ad in a running campaign serves immediately from the campaign budget once Google approves it, and that PAUSED holds it. It does not mention that creation cannot be undone or any required OAuth/permission scope, which keeps it short of a 5.

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 purpose is front-loaded, followed by a short explanatory paragraph, then a clean Args section and a one-line Returns. Given that the schema has no parameter descriptions, the long Args block earns its space; the Returns note is slightly redundant because an output schema exists.

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?

For a non-idempotent, destructive-annotated mutation tool with an output schema, the description covers what is created, all constraints, the status semantics, and the return value. An agent has everything needed to invoke it correctly; the only gap is sibling routing, which is not essential here.

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

Parameters5/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 the full burden, and it does: customer_id format ('numbers only, no hyphens'), headline min/max counts and 30-character limit, description min/max counts and 90-character limit, path1/path2 optionality plus 15-character limits, and status enum values with default. This is complete semantic coverage for all 8 parameters.

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

Purpose4/5

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

The description states a precise verb and resource ('Creates a responsive search ad in an ad group') and follows with a one-line explanation of what an RSA is, so an agent knows exactly which entity is produced. It distinguishes the ad type from asset-creation siblings (create_text_asset, create_image_asset, etc.) by naming the ad unit explicitly, though it never contrasts itself with those tools in words.

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

Usage Guidelines3/5

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

Usage is only implied: you call this when you need an RSA placed in an existing ad group. There is no explicit 'use this instead of create_text_asset' or prerequisite guidance (e.g., that the ad group must already exist, or that headlines/descriptions become assets), and no when-not-to-use conditions.

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