Skip to main content
Glama

Fama

Copy ad set

duplicate_ad_set
Destructive

Copies an ad set with its ads, always created PAUSED, optionally renamed and, for ABO ad sets, with its own daily budget. The usual way to scale a winner without resetting its learning. The copy spends nothing until it is switched on (switch_on). Meta copies an ad set with its ads in one step only when it has 3 ads or fewer; for a bigger one, say so and point the person to Duplicate in Ads Manager. Inside the limits the person set, it happens at once and the result says what Meta now reports. Over a soft limit it waits for the person to confirm; past a hard limit (the account's daily cap, read-only mode) it is refused. Read result before saying what happened.

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": {
      "adset_id": "<adset_id>",
      "reason": "<reason>"
    },
    "name": "duplicate_ad_set"
  }
}

Input Schema

NameRequiredDescriptionDefault
reasonYesWhy, with the numbers that justify it. Recorded in the activity log.
adset_idYes
new_nameNo
daily_budgetNoABO only. Major units.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the PAUSED-by-default result, that no spend occurs until switched on, the 3-ad copy limit, and a full approval ladder: immediate execution inside soft limits, confirmation needed over a soft limit, and outright refusal past hard limits (daily cap, read-only mode). It also instructs the agent to read `result` before reporting, which is behavioral guidance the readOnly/destructive/openWorld hints 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?

Front-loaded with the core action and its default state, then layered with limits and the activation step, so the most decision-relevant facts come first. It is dense and earns most of its length, but phrases like 'it happens at once and the result says what Meta now reports' are roundabout and could be tightened.

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?

For a non-idempotent, destructive, open-world mutation with no output schema, the description covers the safety profile, the copy precondition (3-ad limit), the approval/refusal tiers, and where to look for the outcome (`result`). The only soft spot is that the shape of `result` is not described, but the agent is told to read it before reporting, which is adequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%; the description adds meaning for `new_name` ('optionally renamed') and `daily_budget` ('for ABO ad sets, with its own daily budget'), reinforcing the schema's own 'ABO only. Major units.' note. However, `adset_id` is never described — it is not stated whether it names the source ad set to be copied or a target — and nothing indicates that `reason` is required and length-bounded beyond what the schema already says.

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 ('Copies an ad set with its ads') plus the key side-effect constraint that the copy is always created PAUSED. It also distinguishes itself from the follow-up action by naming `switch_on` as the separate step that activates the copy, so an agent can tell copy from activate without opening a 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 an explicit when-to-use rationale ('the usual way to scale a winner without resetting its learning') and an explicit when-not-to: ad sets with more than 3 ads should not be copied here, and the person should be pointed to Duplicate in Ads Manager. It also names the alternative/next step (`switch_on`), leaving no routing inference to the agent.

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