Skip to main content
Glama
Ads MCP for Snapchat

Ads MCP for Snapchat

by Usame794

snap_create_story_creative

Create a Story Ad creative from 1-20 existing Snaps in a fixed order; optionally add a Stories-tab preview tile, then confirm with an approval token to apply.

Instructions

Create a Story Ad creative: 1-20 existing creatives (SNAP_AD, WEB_VIEW, APP_INSTALL or DEEP_LINK) shown in the given order, which cannot change later. With preview it also creates the tile shown in the Stories tab (a 3:5 PNG image, a headline of up to 55 characters, optional logo); without it the Story only runs between other stories. Creates creatives only, nothing delivers; use the returned creative with snap_create_ad (ad type STORY). Previews unless confirm=true. Two steps: confirm=false returns a preview and an approval_token; to apply, repeat the same arguments with confirm=true and that approval_token.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "headline": "<headline>",
      "creative_ids": "<creative_ids>"
    },
    "name": "snap_create_story_creative"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
confirmNofalse = preview only (nothing sent). true = apply; needs approval_token from the preview.
previewNo
headlineYesMax 34 characters
profile_idNo
creative_idsYesThe Snaps of the Story, in order
approval_tokenNoThe approval_token returned by the preview of this exact request. Required with confirm=true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.1

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only say the tool writes, is open-world, non-idempotent and non-destructive. The description adds far more: default behavior is preview-only (nothing sent), the two-step approval_token flow, that the creative order is permanently fixed, that no delivery occurs, and the tile asset constraints (3:5 PNG, 55-char headline, optional logo). This is exactly the kind of context annotations cannot express.

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?

Front-loaded with the core resource and the preview/delivery caveats, then the workflow. Slight redundancy between 'Previews unless confirm=true' and the closing 'Two steps' sentence, but nothing is padded and every part carries information.

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 non-idempotent write tool with a nested object and no output schema, the description covers the safety model (preview gating, approval_token), side-effect boundary (creative only, no delivery), and the immutability constraint. Only minor gaps remain around what `name` and `profile_id` control.

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?

Schema coverage is 57%, and the description compensates for the important gaps: creative_ids cardinality (1-20) and its immutable ordering, the nested `preview` object's purpose and constraints, and the confirm/approval_token pairing. It does not explain `name` or `profile_id`, leaving roughly the remainder to the schema, so it stops short of full coverage.

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 ('Create a Story Ad creative') and immediately scopes it: 1-20 existing creatives of specific types, ordered, immutable order, optional preview tile. It explicitly distinguishes itself from snap_create_ad by saying it 'Creates creatives only, nothing delivers; use the returned creative with snap_create_ad (ad type STORY)'.

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 conditions (with `preview` produces a Stories-tab tile; without it the Story only runs between other stories), names the follow-up sibling to use for delivery, and spells out the confirm=false / confirm=true preview-then-apply workflow with the approval_token requirement. Alternatives are routed rather than left for 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