Skip to main content
Glama

Creatives: order creatives

creative_order

Order ad creatives: brief, goal / channel, formats, styles (or "random12"), brand kit, texts (or "auto"), language, references, variants (1–8), quality (draft / final). SPENDS AI credits, charged up front at confirmation; renders that fail are refunded. Call creative_estimate first and tell the person the price. Pass an idempotency_key (any unique string per intended order). Returns order_id at once; rendering takes about 1–3 minutes. DO NOT order again if the wait was cut off — poll creative_get(order_id) instead (не замовляй повторно, опитуй creative_get). CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.

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": {
      "brief": "<brief>"
    },
    "name": "creative_order"
  }
}

Input Schema

NameRequiredDescriptionDefault
goalNo
taskNoOptional hint for the model router.
briefYesWhat to advertise: product / service, offer, for whom.
eventNoFacts of a course / webinar / seminar / conference, printed EXACTLY as given (never invented): the event_poster layout sets them as the picture, other layouts get "date · time · place" in the offer line.
textsNo"auto" (default) = AI writes headline / CTA / caption (+20 credits once); or the exact texts to put on the banner (no copy charge).
presetNoA ready niche task (courses, consulting, trainings & events — see creative_options.presets): fills goal, channel, formats, layouts, styles and variants you leave out, adds the niche copy rules and a real-photo direction (unretouched expert, real hall). Some need facts: webinar / cohort_enrolment → event.date; seminar_invite → event.date + event.place; early_bird → event.date + event.early_price; client_case → big_number.
stylesNoStyle slugs from creative_style_list (cycled over variants), or "random12" for different random styles.
channelNoe.g. instagram_post, facebook, linkedin, tiktok, pinterest, google.
formatsNoFormats (≤4) — keys or aspect ratios from creative_options. Default ["square"].
layoutsNoBanner layout per variant (cycled). "auto" (default) picks a DIFFERENT layout for each variant to fit its style and the task: full_bleed (photo edge to edge, headline on its calm zone, no panel), editorial_split (magazine page, serif), color_block (flat bold colour + round photo), swiss_grid (grid, facts in columns), minimal_object (one object, a lot of air), big_typography (words only, no image), collage (the subject cut out of the photo over huge capitals + a round offer sticker), big_number (ONE real number from the brief as the picture, no image; needs big_number or a number in the brief), event_poster (the event's date huge + time, place, speaker, price, seats; no image; needs event.date or event.place). Layouts without an image cost 5 credits per creative at any quality. See creative_options.layouts.
qualityNodraft = 5 credits per image (default), final = 20.
audienceNo
languageNouk (default), en, de, …
variantsNoDefault 4.
big_numberNoThe number for the big_number layout exactly as the client states it, with its unit: "24", "−30%", "1 200 ₴", "15+". Never invent one. Without it the copy model takes a number written in the brief; with no number at all the auto-pick never chooses big_number.
referencesNoreference_id values from creative_reference_upload.
brand_kit_idNoA brand kit of THIS cabinet (brand_kit_list).
idempotency_keyNoSame key = the same order, never a second charge.
big_number_labelNo≤ 4 words printed above the number ("годин доставки").
big_number_sourceNoOptional source footnote under the number ("за даними CRM, 2025").

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior3/5

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

The description adds substantial behavior beyond the annotations: credits are charged up front, failed renders are refunded, rendering is asynchronous (~1-3 min) with an immediate order_id, and an idempotency_key prevents double charges. However, it states the tool is "PROPOSED, never performed directly" and returns status='confirmation_required', which conflicts with readOnlyHint=false and destructiveHint=false — the failure to disclose that this is a two-step confirmed write is a significant gap, though the confirmation mechanics are partly described.

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?

Mostly front-loaded and dense with high-value warnings set off in caps (SPENDS AI credits, DO NOT order again, CONFIRMATION). The parenthetical Ukrainian repetition ("не замовляй повторно, опитуй creative_get") and some redundancy around the confirmation flow cost it a point, but nothing is wasted overall.

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 20-parameter tool with a nested event object and no output schema, the definition covers cost, refunds, timing, idempotency, and the confirmation handshake — everything an agent needs to call it safely. It explicitly resolves the most likely failure mode (re-ordering after a timeout).

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 90% and nearly every parameter has a rich description, so the baseline is 3. The description reinforces a few key semantics (variants 1-8, quality draft/final, styles "random12", texts "auto") but adds no format or constraint information the schema does not already contain.

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 ("Order ad creatives") and immediately enumerates the dimensions of the order (brief, goal/channel, formats, styles, brand kit, texts, language, references, variants, quality). It is clearly distinguishable from creative_estimate, creative_get and creative_refine, which are named in the text.

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 routing rules: call creative_estimate first and quote the price, do not re-order after a cut-off wait but poll creative_get(order_id), and go through confirm_action for the actual write. It also names the when-not condition (never performed directly) and the prerequisite for the charged copy step.

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