Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GIMP_CONSOLENoFull path to gimp-console-3.exe if it is not auto-detected.
GIMP_MCP_BACKENDNoThe execution backend: 'headless' (default) or 'bridge'.headless
GIMP_MCP_BRIDGE_PORTNoThe 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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. enhance_image uses the same range for contrast; they wrap the same GIMP call.

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.

operations is a JSON list, e.g. [{"op":"crop_square","anchor":"center"}, {"op":"resize","max_edge":2000}, {"op":"adjust","brightness":0.05}]

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 spec, so a pipeline that both reshapes and edits an image can be validated without a second pass over it.

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 errors and the rest continue.

operations is a JSON list, same format as process_image. Set suffix to e.g. "_out" to avoid overwriting, and output_format to "jpg"/"png" to convert.

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 result.

The Gimp module and every operation helper are already in scope. Assign to a variable named result to return a value. Escape hatch for anything the typed tools above do not cover; requires the bridge plug-in.

live_stop_bridgeA

Stop the bridge inside the running GIMP, leaving GIMP itself open.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Diterex/gimp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server