Skip to main content
Glama

Record a change to a running boost

boost_change

Record a change the founder made in Ads Manager on their yes, or one they turned down, on a running boost: pause (an ad group), budget (an ad group's new budget, toUsd), duplicate (a copy of ad n with a new hook and its budget, toUsd; it becomes a new ad with its own tagged link, read like the others). The caps are checked again whatever the proposal said: +20% at most a step, a copy at most 20% of the approved total, and the ad groups never committing more than the approved total; refused otherwise. Record it after the founder saved it, never before. The final read compares the boost with its plan, changes included. Free.

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": {
      "id": "<id>",
      "kind": "<kind>",
      "n": "<n>",
      "status": "<status>"
    },
    "name": "boost_change"
  }
}

Input Schema

NameRequiredDescriptionDefault
nYesThe ad (for duplicate: the ad copied)
idYesThe boost
hookNoduplicate: the new hook
kindYes
angleNoduplicate: the angle's key
toUsdNobudget: the ad group's new budget. duplicate: the copy's budget
deviceNoA split boost's ad group
statusYesmade: the founder saved it in Ads Manager. rejected: they said no
proposalNoThe proposal's id from boost_check

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Goes well past the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=false) by disclosing that caps are re-validated regardless of what the proposal claimed, that violations are refused, and that the call is free. It does not say what a refusal looks like or whether a rejected recording is idempotent, which keeps it from 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.

Conciseness3/5

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

Correctly front-loads the purpose and uses no filler sentences, but it is a single dense run-on with stacked parentheses that needs re-reading, and the fragment 'on their yes, or one they turned down' is grammatically broken. Everything earns its place; the packaging does not.

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 9-parameter mutation with no output schema, the description covers the important unknowns: validation rules, ordering constraint, cost, and the follow-on final read of the boost against its plan. Only the optional duplicate fields (angle, device) and the failure response remain unaddressed.

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 already 89%, so the baseline is 3, and the description adds real meaning on top: it ties kind values to their required fields (budget to toUsd, duplicate to ad n plus a new hook and budget), clarifies status as the founder's yes/refusal, and points to boost_check as the source of the proposal id. It says nothing about device or angle, which are left entirely to the schema.

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?

States a concrete verb and resource: record a change the founder made on a running boost, and enumerates the three change kinds (pause, budget, duplicate) with their payloads. An agent can tell what it does, but there is no acknowledgement of the sibling boost_record or how this differs from it.

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?

Gives a hard sequencing rule: record after the founder saved it in Ads Manager, never before, and explains that 'rejected' covers the case where they said no. It does not name alternatives such as boost_record or boost_check for the cases where this tool is the wrong one, so it stops short of full routing guidance.

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.