Skip to main content
Glama

Fill

gimp_fill
Destructive

Fill a layer or layer mask with a solid color, either across the entire layer or only within the active selection, creating a destructive pixel change in one undo step.

Instructions

Fill a layer (or layer mask) with a solid color. area='selection' fills the selected part only (EMPTY_SELECTION if nothing is selected); area='layer' fills the whole layer and ignores (but keeps) the selection. Destructive for the pixels it covers. One undo step.

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": {
      "item": "<item>",
      "color": "<color>"
    },
    "name": "gimp_fill"
  }
}

Input Schema

NameRequiredDescriptionDefault
areaNoselection
itemYesItem id (layer, group, mask...) e.g. 'item:5@a1b2c3d4'.
modeNoGIMP layer mode nick, e.g. normal, multiply, screen, overlay, soft-light, hard-light, addition, subtract, difference, darken-only, lighten-only, hue, saturation, color, dodge, burn, pass-through (groups). Invalid names are refused with the list of allowed ones.normal
colorYessRGB color as '#rrggbb', '#rrggbbaa', '#rgb' or one of: white, black, red, green, blue, transparent
opacityNo0-100.

Output Schema

NameRequiredDescriptionDefault
itemYes
changedYesFalse when the painted area does not intersect the layer.
affectedYesImage-space box of the pixels that may have changed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, so the bar is lower, yet the description adds genuinely new facts: that the selection is preserved although ignored, that failure is EMPTY_SELECTION rather than a silent no-op, and that the operation is a single undo step. It does not discuss how mode/opacity interact with the fill, which is the remaining gap.

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?

Three tight sentences, each carrying distinct information: what it does, the mode fork, and the destructive/undo consequence. The key scoping detail is front-loaded and there is no filler.

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?

With an output schema present, return values need no explanation, and the description covers destructiveness, undo granularity, and the mode-specific edge case. Minor omission: it never states whether mode/opacity apply to the filled pixels, though the schema hints at it.

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 80% and the 'area' parameter carries only an enum with no description, so the description's explanation of the two modes and the EMPTY_SELECTION error is real added meaning. Other parameters (item, color, mode, opacity) are left entirely to the schema, which documents them adequately.

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?

States a specific verb and resource ('Fill a layer (or layer mask) with a solid color') and immediately scopes it further with the selection-vs-layer distinction. No sibling in the list performs a fill, so the tool is unambiguously identifiable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit decision guidance between the two modes: area='selection' paints only the selection, area='layer' ignores (but keeps) it. It also names the failure condition (EMPTY_SELECTION) for the default path. It stops short of naming alternatives, but none of the siblings overlaps functionally.

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