Skip to main content
Glama

convert_color_space

Convert an image’s color model, depth, and profile so it fits high-precision grading or RGBA/U8 pixel workflows, including U16, F16, and F32 depth changes.

Instructions

Convert the image colour space, e.g. depth U16/F16/F32 for high-precision grading, back to RGBA/U8 for pixel tools. model: RGBA, GRAYA, CMYKA, LABA, XYZA. Profile defaults to sRGB.

Input Schema

NameRequiredDescriptionDefault
depthNoU8
modelNoRGBA
profileNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations at all, the description carries the full behavioral burden and leaves the most important traits unstated: whether the conversion is destructive or in-place, whether it applies to the whole document, the active layer, or a selection, and whether it returns a new image. It does add one useful default ('Profile defaults to sRGB'), but that is closer to parameter semantics than to behavior.

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 verb and resource are front-loaded, and every clause carries information — the depth examples, the model list, and the profile default all earn their place. It is dense to the point of terseness (the line break mid-sentence and compressed phrasing), but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the definition covers parameters well but omits scope of effect (document/layer/selection) and return behavior. An agent could call it with plausible arguments yet be unsure what it is actually converting or what state it leaves behind.

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 0%, so the description must compensate, and it largely does: it enumerates valid model values (RGBA, GRAYA, CMYKA, LABA, XYZA), states the profile default (sRGB), and gives depth examples (U16/F16/F32, RGBA/U8). The gap is that depth's valid values are only shown by example rather than enumerated, and the profile's accepted form (path vs. name) is never clarified.

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?

The description names a specific verb and resource ('Convert the image colour space') and grounds it with concrete examples (U16/F16/F32 depth for grading, RGBA/U8 for pixel tools), which distinguishes it from siblings like adjust_image or match_colors. It stops short of explicitly contrasting with those siblings, but the operation is unambiguous.

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?

Use cases are implied rather than stated: 'for high-precision grading' and 'back to RGBA/U8 for pixel tools' hint at when a caller would reach for this tool. There is no explicit when-not guidance, no mention of alternatives such as adjust_image or match_colors, and no prerequisites (e.g. whether the document must be in a certain mode).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.