Model Context Protocol server and GIMP bridge for controlling GIMP through its PDB.
GIMP MCP has 18 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-200 chars, mostly adequate), and input schemas are present with type definitions. However, output schemas are entirely undocumented, LLMs cannot predict what these tools return, breaking downstream composition. Parameter descriptions are minimal (often just restating the name). No error handling guidance, no recovery hints, and no tool annotations. The batch tool (gimp.batch) is particularly problematic: it accepts an untyped 'operations' array with no schema for operation structure, making it impossible for LLMs to construct valid payloads. Naming is generally clear (verb_noun pattern), but some tools like gimp.procedure.call expose low-level PDB mechanics without wrapping complexity into user-friendly abstractions.
Add text to an image.
Execute multiple GIMP operations in a batch.
Draw a polyline on an image.
Export an image to a file.
Fill an elliptical region with the foreground color.
Fill a rectangular region with the foreground color.
Get current GIMP context state including foreground/background colors, brush, opacity, and other tool settings.
Output schemas completely undocumented. LLMs cannot predict return types, breaking tool composition and forcing agents to guess what fields are available for downstream calls.
gimp.batch accepts untyped 'operations' array with no schema for operation structure. LLMs cannot construct valid payloads without reverse-engineering the format.
gimp.procedure.call exposes low-level PDB mechanics with untyped 'arguments' object. No guidance on valid procedure names, argument structure, or error recovery. Agents must call gimp.procedure.describe first, then guess argument format.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Get detailed information about a specific image.
Get bitmap representation of an image or region as base64-encoded PNG data.
Get comprehensive GIMP environment and configuration information.
List all currently open GIMP images with their properties and layer trees.
List all layers in an image with their properties.
Open a file in GIMP.
Call a GIMP PDB procedure with specified arguments.
Get detailed information about a specific GIMP PDB procedure.
Search the GIMP PDB (Procedure Database) for procedures matching a query.
Set properties of a layer such as opacity, visibility, and blend mode.
Get current bridge and GIMP process status.
No error handling guidance. Tools return JsonRpcError with codes (-32001, -32002, etc.) but no recovery hints. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
Parameter descriptions are minimal and often just restate the name (e.g., 'ID of the image' for image_id). No guidance on valid ranges, formats, or dependencies between parameters.