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

draw_ellipse

Draws a stroked ellipse outline on a GIMP layer for shape annotation or graphic design, using a bounding box with optional color, width, and target layer.

Instructions

Draw an ellipse outline (stroke only) on a layer.

Parameters:

  • x, y: Top-left corner of the bounding box

  • width, height: Bounding box dimensions

  • color: Stroke color; uses current foreground if omitted

  • line_width: Stroke width in pixels (default 2.0)

  • layer_name: Target layer; defaults to active layer

  • image_index: Target image index (default 0)

Returns status dict.

Input Schema

NameRequiredDescriptionDefault
xYes
yYes
colorNo
widthYes
heightYes
layer_nameNo
line_widthNo
image_indexNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full behavioral burden. It discloses useful traits — stroke-only rendering, foreground-color fallback, active-layer fallback, and a status-dict return — but says nothing about undo semantics, whether it respects the active selection, anti-aliasing, or what fields the status dict contains.

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?

A one-line summary followed by a scannable per-parameter list is well front-loaded and wastes little space. The repeated default values (line_width 2.0, image_index 0) duplicate the schema and are the only clearly expendable content.

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 an eight-parameter drawing primitive with no annotations and no output schema, the definition covers every parameter and states the return type. The gaps are minor: 'Returns status dict' is not expanded, and no note about requiring an open image or selection behavior is given.

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 explains that x/y are the top-left corner of the bounding box (the schema only says 'X'/'Y'), that color falls back to foreground, that layer_name falls back to the active layer, and that line_width is in pixels. The defaults it repeats are already in the schema, and units for x/y/width/height are never stated.

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 first sentence gives a specific verb and resource ('Draw an ellipse outline') and the parenthetical '(stroke only)' distinguishes it from the sibling fill_ellipse without needing the schema. It does not explicitly name fill_ellipse or select_ellipse, so the differentiation is implied 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?

'Stroke only' hints that a filled shape requires fill_ellipse instead, and 'on a layer' implies an image must be open. There is no explicit when-to-use or when-not-to-use statement, no mention of selection interaction, and no prerequisite guidance, so usage must be inferred.

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