Skip to main content
Glama

my_looks

Destructive

Your saved looks: filter recipes kept on this server, for you only. op says what to do. op=save (needs image, name; layer or layer_id when the image has more than one layer): read the live adjustment and effect filters on a layer (manage_filters op=list) and keep them under a name. Only the filters the filter tools can recreate are kept, in the order they are applied (settings only, never a photo); a filter that is switched off, confined to a mask or not made with these tools is skipped and listed in the result. Nothing to save is an error. At most 20 looks per person and 50 filters per look; saving under an existing name replaces it. op=apply (needs image, name; layer, layer_id, replace optional): put one of your saved looks on a layer as live, editable filters named "My look · · ...". Every stored setting is run through the same filter tools you have, so each is validated again; it takes a checkpoint first and puts the image back if any step is refused. A layer that already carries this look is refused unless replace is true (then those filters are taken off first). There is no strength option: the filter tools have no per-filter strength, so the look applies as saved (save a gentler look for less). op=list: your saved looks, with the number of steps and when each was saved (a look that cannot be read is reported, never used). op=delete (needs name): delete one of your saved looks; filters it already added to a photo stay on it. op=apply works in batch (preset my_looks, args {name}) to give several photos the same look.

Input Schema

NameRequiredDescriptionDefault
opYessave, apply, list or delete.
nameNoThe look's name: lowercase letters, digits and hyphens, 1 to 40 characters, e.g. warm-film. Needed by op=save, apply and delete.
imageNoImage id, as returned by open_photo. Needed by op=save and apply.
layerNoop=save and apply: layer name; required when the image has more than one layer (or use layer_id).
replaceNoop=apply only: take off an earlier apply of this look on the layer first. Without it, a layer that already has the look is refused.
layer_idNoop=save and apply: layer id (takes priority over `layer`).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses the 20-look / 50-filter caps, that saving under an existing name replaces it, that only recreatable settings are kept while masked/disabled/foreign filters are skipped and reported, that apply takes a checkpoint and rolls back on refusal, and that nothing-to-save is an error. This is the kind of operational detail an agent must have before mutating a user's photo.

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 opening sentence front-loads purpose and the rest is organized op-by-op with consistent op=... labels, so it is navigable despite being a single dense paragraph. A tight per-op bulleted layout would scan faster, but no sentence is filler.

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?

With no output schema, the description carries the return-shape burden and does so: list returns step counts and save times, unreadable looks are reported rather than used, and skipped filters are listed in the save result. Error, limit, and rollback behavior are all covered, leaving nothing an agent needs before calling.

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 real meaning the schema lacks: which params each op requires, that layer is required only for multi-layer images, that layer_id takes priority, and that replace forces an earlier apply to be removed first. That is more than restating the schema.

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 resource ("Your saved looks: filter recipes kept on this server, for you only") with a clear scope and ownership qualifier, and the sub-operations are enumerated explicitly. It is clear what the tool manages, but it never differentiates itself from the sibling apply_look, which an agent could reasonably confuse with op=apply here.

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?

Each op is given explicit when/why guidance: save reads live filters from a layer and requires a named layer when multi-layer, apply puts a look back on a layer with replace semantics, list is for enumeration, delete removes the definition but leaves already-added filters on the photo. It also names the prerequisite sibling (manage_filters op=list) and covers the batch-invocation case.

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