Skip to main content
Glama

bake

DestructiveIdempotent

Bake a layer's live filters into its own pixels without merging it into anything: the layer survives as itself, just with no more editable filters; a text layer stays a text layer (baking never rasterizes one). A masked filter's confinement survives the bake exactly. Defaults to the selected layer, or the topmost layer if none is selected. Baking clears the masked-filter refusal of canvas_size, resize and transform_image: it is the way to make a masked adjustment safe to resize, rotate or flip around. all: true bakes every ordinary layer with a live filter at once; a group layer is always skipped, even one that carries its own filter, and is reported under skipped_groups_with_filters. Targeting a group directly (layer / layer_id) is refused. IRREVERSIBLE in this session: there is no undo, so make a checkpoint first when in doubt.

Input Schema

NameRequiredDescriptionDefault
allNoBake every layer on the image that has any live filter, instead of just one. A group layer is always skipped even when it carries its own filter (filters on a group item cannot be merged) — any such group is reported under skipped_groups_with_filters rather than silently ignored.
imageYesImage id, as returned by open_photo.
layerNoLayer name. Defaults to the selected layer, or the topmost layer if none is selected. Ignored when layer_id or all is given.
layer_idNoCanonical layer id. Takes priority over `layer`. Ignored when `all` is given.

Output Schema

NameRequiredDescriptionDefault
nameNo
bakedNo
layer_idNo
baked_layersNo
skipped_groups_with_filtersNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructive/idempotent, but the description adds substantial beyond-the-annotation context: irreversibility with no session undo, that text layers are not rasterized, that group layers are skipped and reported under skipped_groups_with_filters, and that targeting a group is refused. These are exactly the behavioral traits an agent needs before a destructive call.

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 core effect and survival guarantee, then layers in defaults, batch behavior, and the undo warning. It is long, but nearly every clause carries distinct operational information; a slight trim of the repeated group-skip note (stated in both description and schema) would tighten it.

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 an output schema present, return values need not be explained, and the description still proactively names skipped_groups_with_filters. Combined with the destructive/irreversibility disclosure, an agent has everything needed to call this correctly on a 4-param tool.

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 schema already documents all four parameters; baseline is 3. The description nonetheless adds real meaning over the schema: it explains the group-skip/reporting semantics of `all`, and the refusal when targeting a group via layer/layer_id, which the schema does not state as a hard rule.

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 ('bake') and resource ('a layer's live filters into its own pixels'), and immediately disambiguates from merging siblings by clarifying the layer survives as itself. It even distinguishes the outcome for text layers, so an agent can tell it apart from add_effect/apply_look/manage_filters without opening a schema.

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 when-to-use context (make a masked adjustment safe to resize/rotate/flip), the default target (selected layer, else topmost), the batch mode (all: true), and the recommended precaution (run `checkpoint` first). It also names the prior refusal from canvas_size/resize/transform_image, routing the agent correctly.

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