Skip to main content
Glama

recolor

Show one object (a product, a garment) in several colors, and get one download link per color, in one call. Say what the object is with word (e.g. "shirt"; the server finds it), box [x1,y1,x2,y2] in image pixels, or channel (an existing selection channel, e.g. from select_with_ai target=object). For each color the server slides the object's tones toward that color's lightness (shading and highlights are kept), tints it with LCh Color through the object's mask, exports it, and removes its layers again, so the document is left as it was. A big jump in lightness (white to navy, black to near white) also moves the curve's black or white point, keeping at least a quarter of the tonal range so the object's shading survives; a jump still out of reach is reported with the lightness reached. Each variant also reports the object's measured average color and how far that is from the one asked for. Needs a single-layer image, or name the layer with layer. names optionally sets each file's name. The image's active selection is replaced while it works. If time runs short it stops and returns the colors made so far; call again with the rest. The links expire.

Input Schema

NameRequiredDescriptionDefault
boxNoThe object's box [x1, y1, x2, y2] in image pixels.
wordNoWhat to recolor, e.g. "shirt" or "sofa". Letters, digits, spaces.
imageYesImage id, as returned by open_photo.
layerNoName of the layer that holds the object; required when the image has more than one layer.
namesNoOptional file name per color (same order), e.g. ["navy", "sage"].
colorsYes1 to 8 target colors, #rrggbb.
formatNoFile format of each variant.jpg
channelNoAn existing selection channel that holds the object.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past the annotations: it details the internal pipeline (tone slide, LCh tint, mask export, layer removal so the document is left as it was), the lightness-point fallback rule, that the active selection is replaced, that links expire, and the partial-results-on-timeout behavior. Annotations are non-destructive and non-read-only, and the description confirms the document is restored.

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?

Dense but front-loaded, with purpose and output stated first, then mechanism, then caveats (layer requirement, selection replaced, timeout, link expiry). Almost every sentence carries new information, though the mechanism sentence is long and can be skimmed poorly.

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?

There is no output schema, and the description fully compensates: it describes the per-color link, the measured average color and its distance from the target, the fallback reporting, and failure/timeout semantics. Nothing an agent needs to call it correctly appears to be missing.

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 coverage is 100%, so the baseline is 3, but the description adds meaning: it frames `word`/`box`/`channel` as three alternative ways to identify the object, explains that the server resolves `word`, and that `names` maps positionally to colors. It does not clarify `format` or parameter interaction beyond that.

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 specific verb and resource ('Show one object in several colors, and get one download link per color, in one call'), plus the concrete output shape. It is clearly distinguishable from siblings like apply_look or select_with_ai.

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?

Gives real prerequisites (needs a single-layer image, or name the layer), points to the producing sibling for `channel` (select_with_ai target=object), and explains the retry path when time runs short. It does not explicitly contrast itself with color-adjacent siblings such as apply_look or product_shot, so it falls short of 5.

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