Skip to main content
Glama
shopify-chatgpt-ads-mcp

shopify-chatgpt-ads-mcp

by Avada-AI

Set campaign budget

set_budget

Sets a campaign budget in the ad account currency and returns a confirmation plan before increases or lifetime-to-daily changes, so spending changes are reviewed before applying.

Instructions

Set a campaign budget in the ad account currency. Lowering it (same type) applies at once. RAISING it, or switching lifetime to daily, can spend more: without confirm it returns a plan (old and new amount, currency, campaign status); show it to the user, get an explicit yes, then call again with confirm: true and the plan_id. A lifetime budget cannot go below what was already spent, and a daily budget cannot switch back to lifetime.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "campaign_id": "<campaign_id>",
      "amount": "<amount>"
    },
    "name": "set_budget"
  }
}

Input Schema

NameRequiredDescriptionDefault
amountYesNew budget, in major units of the ad account currency, e.g. "50" or "12.50"
confirmNo
plan_idNo
budget_typeNoDefault: keep the current type
campaign_idYesCampaign id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only say it is a non-read-only, non-destructive, open-world write; the description adds far more, disclosing the two-phase confirm mechanic, what the plan object contains (old and new amount, currency, campaign status), and the spend-increasing risk. It stops short of describing the immediate-path response or permission requirements, which keeps it off a 5. The 'can spend more' warning is risk disclosure, not a contradiction of destructiveHint=false, which concerns destructive updates.

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?

Four short sentences, front-loaded with the core action and currency, then escalating to the risky path and finally the invariants. Every clause carries operational weight; nothing is repeated from the annotations or schema.

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 five-parameter mutation with no output schema, it covers the risky path's return shape, the confirmation loop, and the state constraints that cause failure. The immediate-success path and error behavior for rejection cases are not described, a minor but real gap.

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 coverage is 60%, with confirm and plan_id undocumented in the schema; the description supplies their meaning and the exact protocol (call without confirm, present the plan, then call again with confirm: true and the returned plan_id). That is real value beyond the schema, though the interaction of budget_type with the confirm threshold is only partly spelled out.

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 and resource (set a campaign budget) plus the unit semantics (ad account currency), which immediately separates it from sibling mutators like set_bid or activate_campaign. An agent knows exactly what changes and in what denomination.

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 branches the when-to-use logic: same-type lowering applies immediately, while raising or switching lifetime to daily requires the plan/confirm round-trip. It also names the invalid cases (lifetime below already-spent, daily cannot revert to lifetime), so there is no ambiguity about when the tool will refuse or defer.

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