Skip to main content
Glama
lucagalvani

google-ads-agent

by lucagalvani

remove_campaign

Destructive

Permanently delete a paused Google Ads campaign. Irreversible and requires confirmation token; historical stats remain queryable but campaign cannot be restored.

Instructions

Permanently remove a campaign. IRREVERSIBLE — Google Ads has no un-remove, and a removed campaign can never be re-enabled (its historical stats do stay queryable). Call with no confirm_token to see exactly what will be destroyed and get a token; call again with that token to execute. The campaign must already be PAUSED. Prefer leaving a campaign paused unless there is a real reason to remove it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
campaign_idYes
customer_idYes
confirm_tokenNo
acknowledge_irreversibleNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare destructiveHint=true and readOnlyHint=false; the description goes far beyond that with rich behavioral context: Google Ads has no un-remove, a removed campaign can never be re-enabled, historical stats remain queryable, and execution requires a two-phase confirm_token flow. This meaningfully supplements the structured annotations rather than repeating them, and it is fully consistent with them.

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

Conciseness5/5

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

Five sentences, zero filler. Each sentence earns its place: purpose, irreversibility with a stats caveat, the two-step token flow, the PAUSED prerequisite, and the precautionary prefer-paused advice. The most critical warning (IRREVERSIBLE) is front-loaded right after the purpose statement, so an agent sees the risk before anything else.

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 destructive, two-phase mutation tool, the description covers nearly everything an agent needs: irreversibility, consequences for stats, the token workflow, the prerequisite state, and caution guidance. Since an output schema exists, documenting return values isn't required. The only notable omission is the role of acknowledge_irreversible and what happens if it is left false, which leaves a small but real gap in the call contract.

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 description coverage is 0%, so the description carries the burden. It substantially clarifies the most complex parameter (confirm_token) by explaining the preview-then-execute flow: calling without it returns what will be destroyed plus a token, and calling again with the token executes. customer_id and campaign_id are self-explanatory from their titles, but acknowledge_irreversible's role is never mentioned — a small gap given it is one of only four parameters.

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 opens with a specific verb and resource — "Permanently remove a campaign" — and sharply distinguishes the action from neighboring concepts: it contrasts with the campaign-draft tools (remove_campaign_draft) by targeting campaigns, and with pause-style tools by emphasizing permanence. The irreversibility warning and the "prefer leaving a campaign paused" guidance make the tool's boundary unmistakable, so an agent can select it correctly without inspecting siblings.

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?

The description gives a clear when-to-use condition ("The campaign must already be PAUSED") and a strong when-not-to-use directive ("Prefer leaving a campaign paused unless there is a real reason to remove it"). It also explains the two-step invocation sequence. The only gap is that no alternative tool is explicitly named — the pause recommendation is stated as a state, not routed to a specific sibling — but the guidance is otherwise comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.