gimp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GIMP_APP | No | Path to GIMP.app (default: /Applications/GIMP.app) | |
| GIMP_MCP_SOCKET | No | Path to the Unix socket (default: /tmp/gimp-mcp-$USER.sock) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gimp.statusA | Check whether the GIMP bridge is alive and which GIMP/Python process is serving requests. |
| gimp.get_infoA | Get GIMP version, directories, session details, platform information, and PDB health checks. |
| gimp.get_context_stateA | Get current GIMP context state such as foreground/background colors, brush, opacity, feather, antialias, and font. |
| gimp.get_image_bitmapB | Return a GIMP image as MCP image content with optional max-size scaling and region extraction. |
| gimp.list_imagesA | List open images, dimensions, layers, channels, and selected drawables. |
| gimp.get_imageC | Inspect one open image by GIMP image ID. |
| gimp.list_layersB | List layers for an image with IDs, names, visibility, opacity, dimensions, and offsets. |
| gimp.set_layer_propertiesB | Update a layer's name, visibility, opacity, or blend mode. |
| gimp.procedure.searchA | Search GIMP's Procedure Database by name/help text. This is the discovery entry point for most GIMP features. |
| gimp.procedure.describeB | Describe a PDB procedure's arguments and return values. |
| gimp.procedure.callA | Call a GIMP PDB procedure. Use describe first; pass object arguments as {"id": 123} or typed refs. |
| gimp.openB | Open an image file in GIMP through the file load PDB procedure. |
| gimp.exportB | Export an image to a file. The bridge chooses a file-* export procedure from the extension unless procedure is supplied. |
| gimp.fill_rectC | Fill a rectangular region on a drawable using the foreground color. |
| gimp.fill_ellipseC | Fill an elliptical region on a drawable using the foreground color. |
| gimp.add_textC | Create a text layer in an image. |
| gimp.draw_polylineC | Draw a deterministic pixel polyline on a drawable. |
| gimp.batchA | Run a list of bridge operations in order. Stops at the first failing operation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| resize-and-export | Resize an open image and export it through GIMP's PDB. |
| batch-convert-folder | Use GIMP file load/export PDB procedures to convert a folder of images. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| GIMP status | Current bridge and GIMP process status. |
| Open images | Currently open GIMP images and their layer trees. |
| PDB procedure index | Searchable list of GIMP PDB procedures. |
TDQS
Scored across 18 tools
Each tool has a clearly distinct purpose. Even similar tools like fill_ellipse and fill_rect are differentiated by shape, and list_images vs get_image are different operations. The procedure.* tools are for PDB access and don't overlap with others.
All tool names follow a consistent `gimp.<verb>_<noun>` pattern, with compound verbs like `get_context_state`. The sub-namespace for procedure tools (`gimp.procedure.*`) is also consistent.
18 tools is well-scoped for a GIMP MCP server. It covers core image operations without being overwhelming, and the batch and procedure tools add flexibility without bloating the surface.
The tool set covers essential image operations (open, list, add text, draw shapes, fill, export, layer manipulation) and provides access to the entire GIMP PDB via `procedure.call`, making the surface effectively complete for any GIMP operation.