Skip to main content
Glama

Propose Create Ad Set

propose_create_ad_set

Stage a new ad set. Does NOT change the account: returns proposal_id and a preview. Show the preview; call apply_change(proposal_id) only after the user confirms. Ad set = Meta ad set, Google/Microsoft/TikTok/Pinterest/Reddit/ChatGPT ad group, X or DV360 line item, LinkedIn campaign (LinkedIn's campaign group is the campaign).

Input Schema

NameRequiredDescriptionDefault
fieldsYesthe platform's ad set fields (budgets in major currency units unless the platform's schema says otherwise). Unknown or missing fields return the schema.
platformYesone of google_ads, meta_ads, bing_ads, linkedin_ads, tiktok_ads, pinterest_ads, reddit_ads, twitter_ads, taboola, outbrain, openai_ads, dv360.
account_idNothe ad account (DV360: advertiser, Outbrain: marketer). Needed when the company has several.
campaign_idNothe campaign it belongs to.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and idempotentHint=false, so the safety bar is lower. The description still adds real substance: it discloses that no account change occurs, that the return carries a proposal_id plus preview, and that a human confirmation gate precedes apply_change — the key behavioral trait an agent could otherwise get wrong. Minor tension with readOnlyHint=false is resolved by the staging semantics, but it is worth noting the tool is not literally read-only.

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?

Three sentences, front-loaded with the core action, then the safety gate, then the cross-platform disambiguation. Every sentence earns its place and there is no filler.

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?

With an output schema, full parameter coverage, and annotations in place, the description supplies exactly the missing pieces: the proposal/preview lifecycle, the confirmation gate, and the platform vocabulary needed to fill fields correctly. An agent has everything required to pick this tool and invoke it safely.

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 description coverage is 100%, so the schema already documents platform enum, fields payload, account_id aliasing (DV360 advertiser, Outbrain marketer), and campaign_id. The description adds conceptual clarity about what an 'ad set' maps to per platform, which aids field construction, but it adds no parameter-level syntax or format guidance beyond the schema. Baseline 3 is appropriate.

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 ('Stage a new ad set') and immediately fixes the tool's place in the lifecycle by contrasting it with account mutation and with apply_change. The cross-platform mapping sentence is unusually valuable: it tells the agent that 'ad set' covers Meta ad sets, Google/TikTok ad groups, X/DV360 line items, and LinkedIn campaigns, which is exactly the ambiguity that would otherwise push an agent toward propose_create_campaign.

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 an explicit workflow: stage, show the preview, and call apply_change(proposal_id) only after user confirmation. That is a clear when-to-use and when-not-to-proceed rule. It stops short of explicitly contrasting with propose_update_ad_set or propose_create_ad/campaign, so sibling routing is mostly implied by the terminology sentence rather than stated.

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.