Skip to main content
Glama

runelore.compose_preview

Idempotent

Place supplied or library artwork on a product. Returns temporary previews; never publishes inventory.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
productYesCanonical numeric product ID from get_product_blueprint, supplied as a string (for example "19").
designIdNoCase-sensitive artwork ID returned by search_designs; supply this or fileBase64 plus mediaType, never both.
mediaTypeNoMIME type of fileBase64: image/png or image/jpeg; omit when using a library designId.
placementYesA placement name or surfaceId from this product blueprint with composable:true (for example "wrap" or "front").
transformYesArtwork position and dimensions on the blueprint’s 1000×1000 print-area grid; X/Y anchor the unrotated top-left corner and the two axes can have different physical scales.
fileBase64NoStandard padded base64 image bytes without a data-URL prefix; PNG/JPEG only, at most 6 MB decoded and 4096 pixels per side; use with mediaType instead of designId.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
productYesCanonical physical product ID used for this composition.
previewsYesMap of view name to absolute PNG URL; fetch exactly as returned before expiry.
expiresAtYesISO 8601 UTC expiry deadline; previews normally last 30 minutes and can disappear sooner on restart or eviction.
placementYesPublic placement name used for this composition.
transformYesAccepted placement on the 1000 × 1000 print-area grid.
variantIdYesDefault size/color variant selected from the product blueprint.
designNameYesLibrary artwork name, or Custom design for an uploaded image.
previewKindYesPreview method: artwork composited onto a product photograph.
compositionIdYesCase-sensitive temporary composition ID accepted by place_order before expiry.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so safety is partly covered. The description usefully adds that output is temporary and that inventory is never published, which clarifies the boundary of this write-ish operation beyond what the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loading the action and immediately qualifying the non-publishing, temporary nature. No waste.

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?

With a full input schema, an output schema covering return values, and annotations covering safety, the description is nearly complete. The only gap is explicit routing guidance to the sibling tools, which is implied rather than stated.

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 100%, so the rich per-parameter docs (product ID format, designId vs fileBase64/mediaType mutual exclusion, placement surfaceId, transform grid) already carry the semantics. The description adds no additional parameter meaning, so baseline 3 applies.

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?

States a specific verb and resource: 'Place supplied or library artwork on a product.' The added clause 'Returns temporary previews; never publishes inventory' distinguishes it from the publish-oriented sibling place_order, though it does not name the sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'never publishes inventory' implies this is the preview step versus the actual order/publish step, and the schema params point to get_product_blueprint and search_designs as prior steps. However, there is no explicit when-to-use guidance or named alternative in the description itself.

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