Skip to main content
Glama

Upload Creative

adsap_upload_creative

Upload image/video from Google Drive or Dropbox to a Meta ad account. Provide exactly one of drive_file_id / dropbox_path. Google Drive shows ADSAP only the files the user picked in the web app's Creative Upload page, so never pass an id taken from a Drive link. Set pair:true on each file of a suffix-named square/vertical set to auto-group them. Videos are async: check with adsap_get_upload_status when complete.

Input Schema

NameRequiredDescriptionDefault
nameNoDefaults to the source filename
pairNoSet true on EACH file of a square/vertical (+optional landscape) set whose filenames share a base name with matching suffixes (e.g. promo_feed.jpg + promo_story.jpg) to auto-group them for multi-placement ads. Pairing happens server-side when the partner file lands, in any order.
typeNoAuto-detected if omitted
labelsNoADSAP-only tags, not in Meta
dropbox_pathNoFrom adsap_list_dropbox_files (its dropbox_path field, e.g. '/creatives/ad.jpg'). Provide exactly one of drive_file_id / dropbox_path.
ad_account_idYes
drive_file_idNoFrom adsap_list_drive_files. Only files the user picked in the web app (Creative Upload page) are visible; an id taken from a Drive link returns DRIVE_FILE_NOT_VISIBLE. Provide exactly one of drive_file_id / dropbox_path.
idempotency_keyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / drive_file_id / description
      Previous value: -"From adsap_list_drive_files. Provide exactly one of drive_file_id / dropbox_path."New value: +"From adsap_list_drive_files. Only files the user picked in the web app (Creative Upload page) are visible; an id taken from a Drive link returns DRIVE_FILE_NOT_VISIBLE. Provide exactly one of drive_file_id / dropbox_path."
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that videos are async and require a status poll, and that Drive ids outside the web-app Creative Upload page fail with DRIVE_FILE_NOT_VISIBLE. However, it omits other behavioral traits relevant to an 8-param upload tool, such as idempotency_key semantics, size/format limits, and failure behavior for partial uploads.

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 purpose is front-loaded in the first sentence and each subsequent sentence carries a distinct rule (source exclusivity, Drive visibility, pairing, async status). There is mild redundancy in repeating the exactly-one-of rule that also appears in the schema, but overall it is tight and well ordered.

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 an 8-param, no-output-schema, no-annotation tool, the description covers the critical call-correctness points: source exclusivity, pairing behavior, the async video flow with a named status tool, and a specific error condition. Gaps around idempotency_key usage and result payload are minor given the schema documents the remaining fields.

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 75%, so most parameters are already documented in the schema, including the exact-one-of constraint for drive_file_id/dropbox_path and the pair semantics. The description largely restates those structured descriptions rather than adding new parameter meaning, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Upload image/video') plus the source systems (Google Drive or Dropbox) and destination ('to a Meta ad account'), which cleanly separates it from Google-side upload siblings like adsap_google_upload_asset. It does not explicitly name a Meta-side alternative, so differentiation is strong but not fully spelled out.

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 concrete operating rules: provide exactly one of drive_file_id / dropbox_path, never pass an id from a Drive link, set pair:true on each file of a suffix-named set, and check adsap_get_upload_status for videos. It names the follow-up tool, though it stops short of explicitly stating when NOT to use this upload path versus alternatives such as adsap_import_account_creatives.

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