Skip to main content
Glama

New paused ad

create_ad
Destructive

Create a paused ad in an ad group (no spend; enabling is a status proposal). mode=copy: from an existing ad of the account source_ad_id (Meta — its creative, name required; Google — an RSA copy). mode=new, Google: a responsive search ad with headlines (3–15, up to 30 characters), descriptions (2–4, up to 90), final_url (https), path1/path2; Google image and video ads are created together with a Performance Max, Demand Gen or Display campaign (create_campaign). mode=new, Meta: name and page_id (from meta_ads.get_pages) or source_ad_id (an existing ad whose Facebook Page is used); Instagram: instagram=auto (default; the Page's page-backed profile when the client has no Instagram), page or none, or instagram_user_id; then format image — image_url, primary_text, headline, optional description, link, call_to_action; format carousel — 2–10 cards (image_url, headline, optional description, link), primary_text, link, call_to_action; format video — video_url (a direct https link to the video file), image_url as the cover, primary_text, headline, link, call_to_action. Images are public https links to PNG or JPEG files up to 5 MB; the server downloads them. Microsoft: mode=new only — a responsive search ad with the same fields as Google. LinkedIn: mode=new — a creative in the campaign's only ad group: name and primary_text (the post text), then format image — image_url, headline, link and call_to_action (APPLY, LEARN_MORE, SIGN_UP, REGISTER, DOWNLOAD, SUBSCRIBE, REQUEST_DEMO, JOIN, ATTEND, VIEW_QUOTE, SEE_MORE, BUY_NOW, SHOP_NOW); format video — video_url (a direct https link to an MP4 up to 200 MB), headline, link and call_to_action, only in a video campaign; format carousel — 2–10 cards (image_url, headline, link; no description), no button, only in a carousel campaign; format document — document_url (a direct https link to a PDF up to 100 MB) and headline (the document title), in a campaign without image or video creatives (engagement or awareness). The campaign format is set by create_campaign linkedin_format.

Input Schema

NameRequiredDescriptionDefault
linkNo
modeNo
nameNo
cardsNoCarousel cards (2–10)
path1No
path2No
formatNo
page_idNoMeta: Facebook Page id from get_pages (otherwise the source ad's Page)
headlineNo
ad_set_idYesThe service ad group id or the platform's ad group id (external_id)
apply_utmNo
final_urlNo
headlinesNo
image_urlNoA public https link to a PNG or JPEG file up to 5 MB; the server downloads it (Meta image ad, or the cover of a video ad)
instagramNoMeta: auto — the source ad's Instagram or the Page's page-backed profile; page — always the page-backed profile (client without Instagram); none — no Instagram (Facebook-only ad sets)
video_urlNoA direct https link to the video file (Meta video ad; LinkedIn — MP4 up to 200 MB)
image_hashNoInstant Form image from this account get_images; instead of image_url
descriptionNo
descriptionsNo
document_urlNoLinkedIn document ad: a direct https link to a PDF file up to 100 MB
lead_form_idNoMeta Instant Form id on the ad Page; requires LEAD_GENERATION/ON_AD ad set
primary_textNo
source_ad_idNo
text_optionsNoMeta image ad: up to 4 more primary text variants
call_to_actionNoMeta button type, for example LEARN_MORE, SHOP_NOW, SIGN_UP, CONTACT_US, BOOK_NOW, GET_QUOTE, ORDER_NOW
optimize_orderNo
headline_optionsNoMeta image ad: up to 4 more headline variants
instagram_user_idNoMeta: a real Instagram account assigned to the ad account
native_creative_idNoRecover a partial Instant Form creative after live metadata read; all Page/form/image/text fields are rechecked before paused ad creation
vertical_image_urlNoA public https link to a PNG or JPEG file up to 5 MB; the server downloads it — Meta image ad: a 9:16 image for Stories and Reels; image_url then serves feeds (4:5 or 1:1). Swapped automatically by size if given the other way round
disable_enhancementsNoMeta new ad: turn off Meta's automatic creative enhancements (templates, touch-ups, animation, text variations) — for banners with text

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / ad_set_id / description
      Added value: +"The service ad group id or the platform's ad group id (external_id)"
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Adds genuine context beyond the rich annotations: created paused with no spend, enabling as a 'status proposal', server-side image download, and field rechecks before paused creation. It does not fully disclose idempotency/rate behavior, but the paused/no-spend semantics materially enrich what annotations already declare (destructiveHint=true, openWorldHint=true).

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?

The core purpose is front-loaded, but the body is a single dense wall of text with nested semicolon clauses that is hard to scan. Every clause carries information, but structure (bullets/grouping) is missing, making recall difficult for a 31-parameter tool.

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 31-parameter multi-platform mutation with no output schema, the description is impressively complete on required fields, format-specific requirements, and platform constraints. A few peripheral params (apply_utm, optimize_order) and the return behavior are left unstated, keeping it just short of fully complete.

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?

Despite only 52% schema description coverage, the description supplies meaning for many parameters — headline/description counts and character limits, card counts, final_url https requirement, image/video/document size limits, and call_to_action value sets. Some fields (link, apply_utm, optimize_order, name) remain implicit, but overall it compensates well for the coverage gap.

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?

Opens with a specific verb+resource ('Create a paused ad in an ad group') and immediately clarifies the safety-relevant scope ('no spend; enabling is a status proposal'). The rest of the text elaborates distinct per-platform modes, letting an agent distinguish it from create_ad_set and create_campaign without opening schemas.

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?

Explicitly routes between mode=copy and mode=new, and enumerates which fields/format apply per platform (Google, Meta, Microsoft, LinkedIn) and per format (image, carousel, video, document). It names the sibling that precedes it (create_campaign) and states which campaign formats are eligible for each creative type.

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