Skip to main content
Glama

Render a design on a real garment (print file + mockups)

aetherwave_merch_mockup

3 credits (refunded if the render fails; nothing is charged for a bad garment, colour or placement). Builds the print file at the garment's own print area and resolution, then renders Printful product mockups (front, back, side, flat lay). Returns within ~45 s; if still rendering, the result has state "running" and a taskId (the taskKey): poll aetherwave_get_job with kind "merch-mockup" (or aetherwave_merch_mockup_status). Pass wait:true ONLY if your MCP client permits tool calls longer than 60 s; async:true returns the taskKey at once.

Returns printfileUrl (use it to create the product, in your own store with aetherwave_printful_create_product on the local server) and mockup image URLs. Mockup URLs are temporary Printful links: save the ones you want. Limit 20 mockups an hour. Made with AetherWave Studio: https://aetherwavestudio.com/shop

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
waitNoWait up to 90 s for the render. ONLY if your MCP client permits tool calls longer than 60 s. Default false: return within ~45 s.
asyncNoReturn the taskKey immediately without waiting.
colorYesColour name exactly as aetherwave_merch_garments lists it (case-insensitive).
topInNoDistance from the top of the print area in inches. Default 1 (0 for embroidery).
widthInNoPrinted width in inches; the design keeps its proportions and is shrunk to fit the print area. Default 10 (a hat front is about 5.9).
designUrlYesFrom aetherwave_merch_prepare_design.
garmentIdYesPrintful catalog product id (see aetherwave_merch_garments).
placementNoDefault 'front'. Hats use 'embroidery_front_large'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / async
      Added value: +{
      +  "description": "Return the taskKey immediately without waiting.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / wait
      Added value: +{
      +  "description": "Wait up to 90 s for the render. ONLY if your MCP client permits tool calls longer than 60 s. Default false: return within ~45 s.",
      +  "type": "boolean"
      +}
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

With annotations covering the safety profile, the description still adds substantial behavioral context: 3 credits with a refund policy on failure, ~45s return window, running-state/taskId semantics, 20 mockups/hour rate limit, and that mockup URLs are temporary Printful links that must be saved.

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-loads the cost/refund and the core build+render action, then sequencing, then return-value caveats. It is dense and covers a lot, but a few clauses (e.g. the repeated wait/async guidance spanning description and schema) are slightly redundant rather than wasteful.

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?

No output schema and 8 parameters, so the description carries the burden well: it names the returned fields (printfileUrl, mockup URLs), the async state/taskId contract, the polling tools, and the URL expiry caveat. An agent has everything needed to invoke and follow up.

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 description coverage is 100%, so the baseline is 3; the description goes further by tying wait/async to client timeout behavior and explaining that the returned taskId is the taskKey used for polling. It adds operational meaning beyond the schema's literal parameter docs.

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 concrete verb+resource chain: builds the print file at the garment's print area/resolution and renders Printful product mockups. It clearly distinguishes itself from siblings like aetherwave_merch_prepare_design (upstream) and aetherwave_printful_create_product (downstream consumer).

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?

Explicitly names the alternatives and conditions: poll aetherwave_get_job with kind 'merch-mockup' or aetherwave_merch_mockup_status, use wait:true ONLY if the client permits >60s calls, async:true returns taskKey at once. It also states the downstream step (aetherwave_printful_create_product with printfileUrl).

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