Skip to main content
Glama

Preview image

gimp_preview
Read-only

Renders the visible composite of a GIMP image as a PNG preview capped to a chosen maximum side length, preserving proportions without altering the document or undo history.

Instructions

Render the composite of an image (all visible layers, with transparency) as a PNG whose longest side is at most max_size pixels (16-1024, default 512 or $GIMP_MCP_PREVIEW_MAX_SIZE). Proportions are kept and the image is never upscaled. Does not modify the document, its undo history or its saved state.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "image": "<image>"
    },
    "name": "gimp_preview"
  }
}

Input Schema

NameRequiredDescriptionDefault
imageYesImage id from gimp_status, e.g. 'image:1@a1b2c3d4'.
max_sizeNoLongest side of the preview.

Output Schema

NameRequiredDescriptionDefault
bytesYesSize of the PNG payload.
imageYes
scaleYesPreview pixels per image pixel (<= 1).
widthYesPreview width in pixels.
heightYes
mime_typeNoimage/png
source_widthYesImage width in pixels.
source_heightYes
downscaled_for_sizeYesTrue when the preview was made smaller than requested to respect the byte limit.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description goes meaningfully beyond them by enumerating exactly what is NOT touched: the document, its undo history, and its saved state. It also discloses rendering behavior (composite of visible layers, transparency, proportions kept, never upscaled), which is real behavioral context an agent cannot get from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with no padding: the rendering contract and the size/default behavior come first, and the non-mutation guarantee closes it. Every clause carries information an agent would otherwise have to guess.

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?

For a two-parameter read-only render tool with an output schema already describing the return, this covers everything needed: what is rendered, how size is resolved, and what side effects do not occur. No gap remains that would cause a misinvocation.

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 baseline is 3, but the description adds genuine meaning: max_size governs the longest side, the effective default is 512 or $GIMP_MCP_PREVIEW_MAX_SIZE (the schema only shows null), and the bound interacts with no-upscaling and proportion preservation. It clarifies how the parameter actually behaves rather than restating the schema's 'Longest side of the preview.'

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?

The description opens with a specific verb and resource ('Render the composite of an image ... as a PNG'), and pins down the exact semantics: all visible layers, transparency preserved, longest side bounded. That distinguishes it from siblings like gimp_export_image (persists to disk) and gimp_inspect_image (metadata only) without needing to inspect either schema.

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 framing ('Render the composite ... as a PNG') plus the non-mutating guarantee implies the preview/inspection use case, so an agent can infer when it applies. However, it never explicitly names an alternative such as gimp_export_image or gimp_inspect_image, nor states exclusions ('use this to view, not to save'). Usage is implied rather than prescribed.

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