Skip to main content
Glama

Google Ads: add ad schedule

set_ad_schedule
Destructive

ADDS ad schedule windows to a campaign; its existing windows stay.

This never replaces a schedule: the windows the campaign already has are
left as they are. A campaign with no schedule serves at all hours, and
its first windows narrow it to them; on a campaign that already has
windows, an added one widens when ads show rather than narrowing it.
Narrowing an existing schedule needs windows removed in Google Ads
(Campaign → Ad schedule), which this server never does, so tell the user
the old windows stay until they remove them there.

Controls which days and hours ads are shown.

Args:
    customer_id: The Google Ads customer ID.
    campaign_id: The ID of the campaign.
    schedules: List of schedule objects, each with:
        - day_of_week: One of MONDAY, TUESDAY, WEDNESDAY,
            THURSDAY, FRIDAY, SATURDAY, SUNDAY.
        - start_hour: Start hour (0-23).
        - start_minute: One of ZERO, FIFTEEN, THIRTY,
            FORTY_FIVE. Default: ZERO.
        - end_hour: End hour (0-23). Use 24 for midnight.
        - end_minute: One of ZERO, FIFTEEN, THIRTY,
            FORTY_FIVE. Default: ZERO.

Returns:
    Dictionary with created schedule criteria.

Tools revision: 5c9bea8f.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
schedulesYes
campaign_idYes
customer_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the additive merge semantics and the important consequence that a first window narrows serving while a later window widens it. It does not reconcile this 'never replaces / leaves things as they are' framing with destructiveHint=true, which an agent could find mildly inconsistent given that adding windows can restrict delivery. Still, the behavioral context is far richer than the annotations alone.

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?

Front-loaded with the core behavior and no wasted preamble, but the second paragraph repeats the 'existing windows stay' point across three sentences. Slightly verbose, though every clause is substantive.

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?

An output schema plus a stated return shape ('dictionary with created schedule criteria') means return values need no further explanation, and the params are fully specified. Nothing an agent needs to call this correctly is missing.

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% and the schedules array is a free-form object with additionalProperties, so the description carries the full burden — and it does: every field is documented, including allowed enum values for day_of_week and minutes, the 0-23 hour range, the 24-for-midnight convention, and defaults for start_minute/end_minute.

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?

Opens with a specific verb+resource+scope: 'ADDS ad schedule windows to a campaign; its existing windows stay.' An agent can distinguish this from sibling mutators like update_campaign or set_device_bid_adjustment from the first clause alone.

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

Usage Guidelines5/5

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

Explicitly states what the tool does not do ('never replaces a schedule'), explains the semantics of first vs. subsequent windows, and routes the agent elsewhere for narrowing ('needs windows removed in Google Ads… which this server never does'), including an instruction to tell the user the old windows stay. This is exactly the when/when-not guidance the dimension asks for.

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