Skip to main content
Glama

meta_ads_creatives_create_carousel

Create Meta carousel ads with 2–10 swipeable cards, each carrying its own image or video, headline, description, and link. Use it to showcase product catalogs or multi-step narratives.

Instructions

Creates a Carousel AdCreative with 2–10 swipeable cards. Returns the new creative id. Mutating — not automatically reversible; record before-state with mureo_state_action_log_append if you may need to roll back. Each card carries its own image (or video), name, description, and link — useful for product catalogs or multi-step narratives. For auto-optimized asset rotation use meta_ads_creatives_create_dynamic; for product-feed-driven carousels use meta_ads_creatives_create_collection.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
linkYesMain destination URL — used for the See More card and as fallback when a card has no explicit link.
nameNoCreative name shown in Ads Manager. Optional.
cardsYesCarousel cards (2–10). Each card must have a link; image_hash, image_url, or video_id is required for the media.
reasonNoWhy this change is being made: one or two sentences naming the evidence and the expected effect. Stored in the journal and on the action_log entry this call produces, for the operator and the next session.
page_idYesFacebook Page ID that the ad will be published as. Must be a page the authenticated user has permission to post from. Required by Meta for every creative — ads cannot run without a page identity.
account_idNoMeta Ads account ID in the format 'act_XXXXXXXXXX' (e.g. 'act_1234567890'). Optional — falls back to META_ADS_ACCOUNT_ID from the configured credentials. The leading 'act_' prefix is required.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.20.0
    • addedInput schema / properties / reason
      Added value: +{
      +  "description": "Why this change is being made: one or two sentences naming the evidence and the expected effect. Stored in the journal and on the action_log entry this call produces, for the operator and the next session.",
      +  "maxLength": 500,
      +  "type": "string"
      +}
  2. Changed1 schema field changedv0.10.37
    • addedInput schema / additionalProperties
      Added value: +false
  3. Addedv0.9.12
  4. Removedv0.9.6
  5. Addedv0.9.2
  6. Removedv0.9.1
  7. Addedv1.0.5

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description correctly carries the burden: it explicitly warns 'Mutating — not automatically reversible' and instructs the agent to record before-state via mureo_state_action_log_append for possible rollback. It also discloses that a new id is returned. It does not mention permissions or the initial publish state, but the central side-effect concerns are well covered.

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?

Four sentences with no filler: the first defines the operation and return value, the second gives the mutation warning and rollback pointer, the third explains card composition and use case, and the fourth routes to alternatives. Each sentence earns its place and the critical constraints are front-loaded.

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 creation tool with 6 parameters and a nested cards array, the description plus the fully-documented schema are complete. The description provides the essential behavioral context (mutation, rollback, id return, sibling distinctions), and the schema covers card media requirements and link constraints in detail. No output schema exists, but the single key return value is stated.

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 per the baseline the schema already documents every parameter. The description paraphrases the card structure ('Each card carries its own image (or video), name, description, and link') and adds the product-catalog use case, but it does not add meaning beyond what the input schema provides for the parameters themselves.

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 ('Creates a Carousel AdCreative') with a precise constraint (2–10 swipeable cards) and the primary return value (new creative id). It also distinguishes itself from sibling tools by name (create_dynamic, create_collection), matching the described format exactly.

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 explicit when-to-use guidance ('useful for product catalogs or multi-step narratives') and names the two sibling alternatives with the exact conditions that select them ('For auto-optimized asset rotation use meta_ads_creatives_create_dynamic; for product-feed-driven carousels use meta_ads_creatives_create_collection'). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools