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

draw_line

Draws a straight line on a GIMP layer between two coordinates, with configurable color, width, and pencil or paintbrush stroke style.

Instructions

Draw a straight line on a layer.

Parameters:

  • x1, y1: Start point

  • x2, y2: End point

  • color: Stroke color (CSS / hex / rgb); uses current foreground if omitted

  • width: Stroke width in pixels (default 2.0)

  • tool: "pencil" (default, hard edge) or "paintbrush" (soft edge)

  • layer_name: Target layer; defaults to active layer

  • image_index: Target image index (default 0)

Returns status dict.

Input Schema

NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
toolNopencil
colorNo
widthNo
layer_nameNo
image_indexNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does add real behavioral detail beyond structured fields: the color fallback to the current foreground, the width unit (pixels) and default, the pencil-vs-paintbrush edge semantics, and "Returns status dict." However, it never states that this mutates pixel data permanently, whether it is undoable, what happens on an invalid layer_name, or whether it errors with no open image — significant omissions for an unannotated write operation.

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?

One-sentence purpose followed by a scannable per-parameter list ordered roughly by importance, with required coordinates first and optional styling last. Every line carries information, including "Returns status dict." which is needed because no output schema exists.

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 nine-parameter drawing tool with no annotations and no output schema, the definition covers all inputs, their defaults, and the return shape, which is enough to call it correctly. What it lacks is the operational frame — coordinate origin, layer type constraints, and mutation/undo semantics — so it stops short of fully complete.

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: all nine parameters are explained with meaning and defaults, and the `tool` parameter gets enum semantics ("pencil" hard edge vs "paintbrush" soft edge) that the schema lacks entirely. The remaining gap is the coordinate space for x1/y1/x2/y2 — image pixels vs canvas coordinates and origin — which is never specified.

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?

"Draw a straight line on a layer" gives a specific verb (draw) and resource (a straight line on a layer). The shape term alone separates it from siblings draw_rectangle, draw_ellipse, and fill_rectangle without opening any 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?

Usage is only implied by the parameter list: layer_name "defaults to active layer" and image_index "default 0" hint at the multi-image/active-layer context, but there is no explicit when-to-use guidance, no alternative named (e.g. paintbrush soft-edge via a different tool), and no stated prerequisites such as an image or layer needing to exist.

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