gimp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GIMP_CONSOLE | No | Full path to gimp-console-3.exe if it is not auto-detected. | |
| GIMP_MCP_BACKEND | No | The execution backend: 'headless' (default) or 'bridge'. | headless |
| GIMP_MCP_BRIDGE_PORT | No | The port for the bridge backend, default 50472. | 50472 |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gimp_statusA | Check that GIMP is reachable and report its version. Use this first if anything seems wrong. Reports both the headless backend and whether the live bridge plug-in is running inside an open GIMP. |
| inspect_imageB | Report an image's dimensions, layers, and orientation. Dimensions are reported as DISPLAYED (EXIF orientation applied), which is what a viewer sees -- not necessarily how the pixels are stored. |
| check_image_specA | Check an image against a dimension specification. Every constraint is optional: 0 means "no limit", and orientation "any" means no orientation requirement. Valid orientation values are: any, square, landscape, portrait, square_or_landscape, square_or_portrait. Returns pass/fail with the actual measured dimensions and a plain-language reason for each failure. Useful for validating images against a publishing platform's requirements, a print size, or an asset pipeline's conventions before spending time editing. |
| crop_imageB | Crop to an exact pixel rectangle. x/y are the top-left offset in DISPLAYED orientation. Fails clearly if the rectangle falls outside the image rather than silently clamping. |
| crop_squareB | Crop to the largest possible square. anchor picks which part of the frame to keep: center (default), top, bottom, left, right, or a corner such as topleft. |
| crop_to_aspectB | Crop to a target aspect ratio (width/height), keeping maximum area. Use 1.0 for square, 1.3333 for 4:3, 1.5 for 3:2, 1.7778 for 16:9. |
| resize_imageA | Resize an image. Give width, height, both, or max_edge (longest side, aspect preserved). With preserve_aspect and both dimensions, the image is fitted inside the box rather than distorted. |
| adjust_imageA | Brightness/contrast touch-up. Both values run -1.0..1.0 -- GIMP 3's real range for this operation -- and
are rejected outside it rather than clamped. Useful values are far smaller than the limits. GIMP 3 applies this in linear light, so it bites harder than the same number did in GIMP 2.x, and anything much past +/-0.1 visibly changes the character of a photo. Keep adjustments small when the image needs to represent a real subject faithfully. |
| fit_to_specA | Transform an image until it satisfies a dimension specification. Crops to fix the orientation if required, upscales to reach a minimum size, downscales to respect a maximum, and optionally applies a light touch-up -- all in one pass, so the JPEG is re-encoded only once. Images already satisfying a constraint keep their framing. Example: to produce a square image at least 1000x1000, pass orientation="square" with min_width=1000 and min_height=1000. |
| enhance_imageA | Tone and detail enhancement in one pass. gamma lifts midtones and shadows via levels, leaving the black and white points alone so nothing clips. 1.0 = off. contrast GIMP 3 native -1..1. 0 = off. saturation -100..100. 0 = off. sharpen high-pass sharpen blended back at this percent opacity, 0 = off. Preferred over unsharp mask, which haloes. sharpen_radius blur radius in pixels for the high pass (default 8). Contrast bites harder than the same nominal value did in GIMP 2.x, because GIMP 3 runs the operation in linear light: 2.x's "+12" is roughly 0.020 here, not 0.094. Calibrate against output rather than remapping an old number. |
| process_imageA | Apply a custom sequence of operations in one pass.
Available ops: crop, crop_square, crop_aspect, resize, adjust, autocrop, flatten, fit_spec, enhance. Running them as one pipeline re-encodes the JPEG only once, which avoids stacking compression artefacts. The optional spec arguments are checked against the FINAL result and
reported under |
| batch_processA | Apply the same operations to every image in a folder. All files are handled inside a single GIMP session, so a large folder
costs one GIMP startup rather than one per file. A file that fails does
not abort the run: it is reported in
|
| batch_fit_to_specC | Make every image in a folder satisfy one dimension specification. The common bulk case: point it at a folder of photos and get conforming copies, with each file's final dimensions and pass/fail reported. |
| batch_check_image_specA | Audit a folder: which images already satisfy a specification. Read-only; writes nothing. Use it to triage a folder before editing. |
| live_list_imagesA | List the images currently open in the running GIMP. Requires the bridge plug-in (Filters > Development > Start MCP Bridge). |
| live_screenshotA | Save a flattened snapshot of an image open in the running GIMP. Lets you see the current state of a document you are editing live, then iterate on it. Requires the bridge plug-in. |
| live_run_pythonA | Execute Python inside the running GIMP and return The Gimp module and every operation helper are already in scope. Assign to
a variable named |
| live_stop_bridgeA | Stop the bridge inside the running GIMP, leaving GIMP itself open. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Several tools overlap in purpose: adjust_image and enhance_image share the same contrast call, and process_image/batch_process can reproduce the effects of most individual editing tools. The descriptions generally clarify scope, but an agent could easily hesitate between a dedicated single-op tool and its pipeline equivalent.
Most tools follow a clear verb_object snake_case pattern such as crop_image, resize_image, inspect_image, and batch_check_image_spec. The batch_ and live_ prefixes are applied consistently, with only gimp_status and fit_to_spec deviating slightly from the otherwise predictable pattern.
At 18 tools the server is slightly above the ideal 3-15 range, but the count is justified by the distinct clusters: single-image operations, spec checking/fitting, batch variants, and live GIMP bridge tools. The single/batch pairs add surface area but each serves a real workload.
The toolset covers the core image pipeline well: inspect, validate, crop, resize, adjust, enhance, process in one pass, and batch over folders. Obvious gaps like rotation or flipping are absent, but live_run_python and process_image provide workarounds for most missing operations.