Skip to main content
Glama

Duplicate an ad set

soclo_ads_duplicate_ad_set
Destructive

Soclo Ads: Duplicate an ad set. Spending/deletion: preview, then owner-approved confirm:true with the same requestId. Claim live only when status is active. Fields: soclo://tools/soclo_ads_duplicate_ad_set.

Input Schema

NameRequiredDescriptionDefault
confirmNoTrue only after owner approval of spending/deletion preview.
payloadYes
platformNo
accountIdYes
requestIdNoReuse this request ID for confirmation and outcome recovery.
parametersYes
adAccountIdNoAdvertiser/ad account selected from your Soclo connection.
expectedCurrencyNoApproved preview currency, e.g. GBP.
expectedBudgetTypeNoApproved preview budget type: daily or lifetime.
expectedBudgetAmountNoApproved preview amount; changes require a new preview.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • removedInput schema / properties / accountId / description
      Removed value: -"The connected ad account in Soclo."
    • removedInput schema / properties / payload / properties / deepCopy / description
      Removed value: -"Copy child ads + creatives"
    • removedInput schema / properties / payload / properties / renamePrefix / description
      Removed value: -"Text prepended to each renamed object's name."
    • removedInput schema / properties / payload / properties / renameSuffix / description
      Removed value: -"Text appended to each renamed object's name."
    • removedInput schema / properties / platform / description
      Removed value: -"The campaign platform."
  2. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety class is known. The description adds genuinely non-structured context: that a preview precedes spending/deletion effects, that confirm requires owner approval tied to the same requestId, and that the duplicate is only live when status is active. The last clause is slightly cryptic but is useful signal.

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?

Four short, front-loaded sentences with no filler; the purpose leads and the safety protocol follows. The telegraphic 'Spending/deletion: preview, then owner-approved confirm:true' phrasing is terse to the point of being slightly hard to parse on first read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent mutation with 10 parameters and a nested payload object, the description covers the approval protocol well but leaves the copy-shape semantics (deep vs top-level rename, status inheritance) to an external field reference. With no output schema, more could be said about what the duplicate returns or which fields the confirm is validated against (expectedCurrency/expectedBudgetAmount).

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?

With 60% schema description coverage the schema carries most parameter meaning, and the description's confirm/requestId notes largely restate the schema's own parameter descriptions. The duplication-defining payload options (deepCopy, renamePrefix/renameSuffix, statusOption, renameStrategy) get no inline explanation, only a pointer to 'soclo://tools/soclo_ads_duplicate_ad_set'.

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 specific verb and resource ('Duplicate an ad set') that is unmistakable against siblings such as soclo_ads_create_ad_set, soclo_ads_update_ad_set and soclo_ads_duplicate_ad_campaign. It does not explicitly call out those alternatives, but the resource granularity (ad set, not ad or campaign) makes selection unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The confirm gate ('owner-approved confirm:true with the same requestId') and the preview precondition give real operational guidance on when this tool may be executed. However, nothing explains when to duplicate an existing ad set versus building one with create_ad_set, and no exclusions or sibling comparisons are offered.

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