Skip to main content
Glama

Create creative

create_creative

Save a creative into the Creatives Library — the one-click 'Save to Torvex' of the browser extension (Facebook Ad Library, the FB / Instagram feed, TikTok Creative Center, Ads Manager) and the API twin of the library's upload form. Media arrive as public URLs (media_urls, fetched server-side — images and MP4 / MOV / WebM video, 100 MB each, up to 10) and the ad copy as title / body / description / cta; source, source_url, advertiser and external_id (the site's own ad id, e.g. the Ad Library ID) record where it came from — a second save with the same external_id returns the existing creative (duplicate=true). Needs the creatives manage permission.

Input Schema

NameRequiredDescriptionDefault
ctaNoFacebook call-to-action, as the site spells it or as a code
bodyNoFacebook: Primary text
nameNoDefaults to "<advertiser> — <source> <date>"
titleNoFacebook: Headline
formatNoDefault facebook
sourceNo
statusNo
languageNo
folder_idNo
advertiserNoPage / brand name
media_urlsNoPublic image / video URLs to download
source_urlNoThe page the creative was clipped from
descriptionNo
external_idNoThe site's own id of the ad (Ad Library ID) — dedupe key

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, it discloses genuinely useful behavior: media is fetched server-side from public URLs, images and MP4/MOV/WebM are supported at 100 MB each with a max of 10, a duplicate external_id short-circuits creation and returns duplicate=true, and the creatives manage permission is required. The dedupe note sits in mild tension with idempotentHint=false, but that is a nuance rather than a contradiction, since calls without external_id still create new records.

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 action and packed with substantive detail rather than filler; nearly every clause carries operational information. Some branding framing ('the one-click Save to Torvex of the browser extension') is slightly promotional, and the single dense paragraph would read faster if split into ingest behavior vs. provenance/dedupe vs. permissions.

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 14-parameter write tool with no output schema, the description covers the essentials: what gets ingested, how media is retrieved, the dedupe return signal, and the required permission. Gaps remain around the unmentioned optional parameters (folder_id, status, language) and what happens when a media URL fails to download, which matter when all 14 parameters are optional and an agent must infer sensible defaults.

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?

With 64% schema coverage over 14 parameters, the description adds real meaning for the high-risk ones: media_urls is explained as server-side-fetched public URLs with format, size and count limits, and external_id is explained as the site's own ad id acting as the dedupe key. title/body/description/cta are characterized as 'the ad copy' and source/source_url/advertiser as provenance. It is silent on folder_id, status and language, leaving those purely to the schema.

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 opens with a concrete verb+resource ('Save a creative into the Creatives Library') and immediately scopes it: the extension's one-click save and the API twin of the library's upload form. It is unmistakable against siblings like get_creative, list_creatives and update_creative, which are read/retrieve/mutate-in-place operations, while this one ingests new creatives with media and ad copy.

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?

It gives clear usage context — creating a creative from public media URLs plus ad copy, with source provenance fields — and states the dedupe rule (a second save with the same external_id returns the existing creative with duplicate=true). It never explicitly names an alternative (e.g., 'use update_creative to modify an existing creative'), so the when-not guidance is only implied.

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