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

fill_layer

Fills an entire GIMP layer with a specified solid color, optionally targeting a named layer or image index.

Instructions

Fill an entire layer with a solid color.

Parameters:

  • color: Fill color as CSS name, hex, or rgb() string

  • layer_name: Layer to fill; defaults to active layer

  • image_index: Target image index (default 0)

Returns status dict.

Input Schema

NameRequiredDescriptionDefault
colorYes
layer_nameNo
image_indexNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses that the result is a "status dict" but never states whether existing layer pixels are destroyed, whether an active selection clips the fill, whether the operation is undoable, or if it requires an editable layer. For a destructive mutation on a layer, these are material omissions.

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-line purpose statement followed by a compact parameter list — appropriately front-loaded and free of filler. The parameter list is justified because the schema provides no per-field documentation of its own.

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?

There is no output schema, so the tool should say what "status dict" contains, and with no annotations the destructive/undo behavior should be spelled out. The description covers the operation and its parameters adequately but leaves those behavioral questions open for a 3-parameter mutation tool.

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 largely does: it gives accepted color syntaxes (CSS name, hex, rgb()), explains that layer_name defaults to the active layer, and that image_index targets a specific image. This adds genuine meaning the bare schema lacks, though it does not clarify what image_index means when multiple images are open or the semantics of a null layer_name.

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 opens with a specific verb and resource: "Fill an entire layer with a solid color." The word "entire" implicitly distinguishes it from selection-scoped siblings like fill_selection and shape-scoped ones like fill_rectangle, though neither is named explicitly. An agent can grasp the operation without opening the 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?

No explicit when-to-use or when-not-to-use guidance, and no named alternatives among the many fill-related siblings (fill_selection, fill_rectangle, gradient_fill). Usage is only implied by the defaults stated for layer_name ("defaults to active layer") and image_index ("default 0"), which does help an agent call it correctly but does not route it against alternatives.

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