Skip to main content
Glama
gimp-mcp-studio
by Onru-Labs

rotate_image

Rotates an entire image by a specified angle, using lossless GIMP rotation for 90, 180, or 270 degrees and interpolated layer rotation with flattening for other angles.

Instructions

Rotate the entire image.

Parameters:

  • angle: Rotation in degrees — 90, 180, 270 use lossless GIMP rotation; other values rotate all layers with interpolation and flatten

  • image_index: Target image index (default 0)

Returns status dict.

Input Schema

NameRequiredDescriptionDefault
angleYes
image_indexNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations supplied, the description carries the whole behavioral burden. It does disclose one important trait — that non-right angles interpolate and flatten — but omits that the tool mutates the active image in place, whether the change is reversible, and which image is affected absent image_index.

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?

Purpose is front-loaded in one sentence, then a short structured parameter list, then the return note — no filler. The wrapped lines under angle are slightly awkward but every clause carries information.

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?

For a two-parameter mutation tool with no annotations and no output schema, the definition covers intent, both parameters, the lossless-vs-interpolated split, and the return shape. The remaining gap is destructive/undo context, which matters given the flatten side effect.

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 0%, and the description does document both parameters meaningfully: the special lossless behavior at 90/180/270 and the default index of 0. It still leaves the accepted numeric range and negative-angle handling unstated, so a caller cannot tell whether arbitrary floats are valid.

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?

"Rotate the entire image" gives a specific verb and resource and, via "entire," implicitly separates this from layer-scoped siblings such as transform_layer. It never names a sibling explicitly, so the differentiation is inferred rather than stated.

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 description makes the natural use case obvious (rotate a whole image), but it offers no when-to-use/when-not guidance against flip_image or transform_layer, and no note on undo or state prerequisites. Usage is implied rather than directed.

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