Skip to main content
Glama

Propose Campaign Change

propose_change

Stage campaign changes for review. Does NOT execute anything.

Each operation: {"platform": "google_ads"|"meta_ads", "level": "campaign"|"ad_set"|"ad" (default campaign; ad_set = Google ad group), "object_id": "", "set": {"daily_budget": <number, MAJOR account-currency units>, "status": "ACTIVE"|"PAUSED"}, "account_id": optional, for multi-account companies}.

daily_budget: Meta campaign or ad set, Google campaign only (Google ad group spend is governed by the campaign budget). Ads take status only.

Returns proposal_id + a current→new diff preview. Show the preview to the user; call apply_change(proposal_id) only after they confirm. Proposals expire in 1h.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
operationsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations declare the safety profile (readOnly=false, destructive=false, idempotent=false, openWorld=true), and the description adds substantively beyond them: no execution occurs, a proposal_id plus current→new diff is returned, proposals expire in 1h, and the human-confirmation gate before apply. This is rich behavioral context the annotations cannot convey.

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 non-execution and workflow constraints are front-loaded, and every line adds needed information given the 0% schema coverage. It is dense, but the density is warranted rather than redundant.

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?

Despite an output schema existing, the description still surfaces the return contract (proposal_id + diff preview) and the lifecycle (1h expiry), and covers all operation field semantics. An agent has everything needed to build a valid proposal and route to apply_change correctly.

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 coverage is 0% with a single loosely-typed 'operations' array, so the description carries the full burden and does so: it defines platform values, level values with the ad_set→Google-ad-group mapping and campaign default, object_id meaning, account_id purpose, and per-platform constraints (daily_budget only for Meta campaign/ad set or Google campaign; ads take status only), plus the MAJOR-unit currency caveat.

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 (stage/propose) and resource (campaign changes) and immediately bounds the scope with 'Does NOT execute anything', which cleanly separates it from the apply_change sibling. An agent can distinguish propose from apply without opening any schema.

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?

Gives explicit workflow routing: 'Show the preview to the user; call apply_change(proposal_id) only after they confirm.' This names the alternative tool and the exact condition that selects it, plus the 1h expiry constraint. Nothing is left to inference.

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.