Skip to main content
Glama

Draft ad variants

draft_ad_variants
Destructive

Draft 2-3 DISTINCT-HOOK paid ad copy variants (X/Twitter or Meta) for the operator to pick from — grounded in the company voice profile and ONE named ICP, with paid-ad discipline (hook/offer/proof/CTA) instead of organic-post rules. Use when setting up an X or Meta ad and the operator has not supplied their own copy — before create_x_ad_draft or create_meta_ad_draft. Writes nothing to any ad platform; costs one LLM drafting call.

Routing: Paid ad copy (X or Meta) → draft variants here FIRST for operator pick — never create an ad from a single unpicked take; carry the picked campaign_name_tag into the campaign name

[write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time. Call it on the first clear ask; the card is the yes — do not re-ask in chat.]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offerYesWhat the ad promotes, in plain words — product + the concrete deal (e.g. "FreedomOS $47/mo solo seat")
icp_idNoICP id from get_icps. Optional only when the company has exactly one customer-class ICP — several ICPs refuse without it (no silent audience pick).
channelYes'x' (Twitter, ≤280-char ad_text) or 'meta' (Facebook/Instagram primary_text + CTA enum)
companyIdYesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
landing_urlNoOptional destination URL for context (helps the CTA match the landing page).
variant_countNo2 or 3 (default 3).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior3/5

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

Annotations include readOnlyHint=false, destructiveHint=true, openWorldHint=true. The description adds that it writes nothing to any ad platform and costs one LLM drafting call, which is useful but doesn't contradict annotations. It also mentions write-tier approvals, which adds context on authorization. However, it doesn't detail destructive aspects or side effects beyond the annotation; the description is consistent but doesn't fully elaborate on behavioral implications given destructiveHint=true.

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?

The description is dense but organized: a clear first paragraph with purpose and usage, then a routing section. It is front-loaded with key info and uses structured newlines. Slightly lengthy but each part earns its place, though some redundancy (e.g., 'Writes nothing to any ad platform' vs annotations).

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 complex drafting tool with 6 params and no output schema, the description covers purpose, usage, routing, and side effects. It doesn't explain return format (variants output), but since there's no output schema, a note on return structure would help. Still, the essentials for calling it correctly are present.

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 100%, so parameters are well documented. The description adds context for icp_id (optional only when exactly one ICP) and channel details, but these are also in schema. It doesn't add significant meaning beyond schema, so 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?

The description clearly states the tool drafts 2-3 distinct-hook paid ad variants for X or Meta, grounded in voice profile and ICP, with paid-ad discipline. It distinguishes from create_x_ad_draft and create_meta_ad_draft by specifying it's a pre-step for operator pick, and explicitly names these siblings.

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?

It explicitly states when to use: when setting up an X/Meta ad and the operator has not supplied copy, before create_x_ad_draft or create_meta_ad_draft. It also gives routing instructions: never create from a single unpicked take, and carry campaign_name_tag. This is explicit routing and alternatives.

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