gimp-local-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GIMP_MCP_HOST | No | Script-Fu host | 127.0.0.1 |
| GIMP_MCP_PORT | No | Script-Fu port | 10008 |
| GIMP_MCP_TIMEOUT | No | TCP operation timeout in seconds | 10 |
| GIMP_MCP_LOG_LEVEL | No | stderr log level | INFO |
| GIMP_MCP_ALLOW_REMOTE | No | explicit opt-in for non-loopback hosts | false |
| GIMP_MCP_MAX_RESPONSE_BYTES | No | bounded response body size | 65535 |
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 the configured GIMP connection and return basic session status. |
| gimp_capabilitiesA | Return supported high-level operations and known v0.1 limitations. |
| list_open_imagesA | List open images using stable GIMP image IDs. |
| get_active_imageA | Return the image associated with GIMP's default display, if available. |
| get_image_infoB | Return dimensions, name, file, base type, and dirty state for an image. |
| open_imageB | Open an existing local image file in GIMP. |
| create_imageA | Create a new RGB, GRAY, or INDEXED image. |
| save_xcfB | Save an image as XCF; existing files require overwrite=true. |
| export_imageB | Export an image using the format selected by the explicit file extension. |
| close_imageA | Close an image; dirty images require an explicit discard=true. |
| list_layersB | List root layers in top-to-bottom order. |
| get_layer_infoC | Return stable properties for a layer/drawable. |
| create_layerC | Create a transparent RGBA layer at the top of an image. |
| duplicate_layerA | Duplicate a layer and insert the copy at the top of the image. |
| rename_layerA | Rename a layer without changing its pixels. |
| delete_layerB | Delete a layer from an image. |
| set_layer_visibilityB | Set whether a layer is visible. |
| set_layer_opacityB | Set layer opacity from 0 to 100. |
| set_layer_modeA | Set a GIMP layer mode such as LAYER-MODE-NORMAL or LAYER-MODE-MULTIPLY. |
| move_layerC | Move a layer to a top-level or group position. |
| merge_downC | Merge a layer down using a GIMP merge type. |
| resize_imageB | Scale the image and its layers to exact dimensions. |
| resize_canvasA | Resize the canvas without scaling layer pixels. |
| crop_imageB | Crop an image to the supplied rectangle. |
| rotate_imageB | Rotate an image using ROTATE-90, ROTATE-180, or ROTATE-270. |
| flip_imageA | Flip an image HORIZONTAL or VERTICAL. |
| select_allC | Select the entire image. |
| select_noneC | Clear the image selection. |
| invert_selectionC | Invert the current selection. |
| select_rectangleC | Replace the selection with a rectangle. |
| select_ellipseA | Replace the selection with an ellipse. |
| select_layer_alphaB | Replace the selection with a layer's alpha. |
| brightness_contrastC | Apply the basic brightness/contrast adjustment to a drawable. |
| hue_saturationC | Apply the basic hue, saturation, and lightness adjustment. |
| desaturateC | Desaturate a drawable using a GIMP desaturation mode. |
| undoB | Undo the latest action in an image. |
| redoB | Redo the latest undone action in an image. |
| search_pdbB | Search live GIMP PDB procedure names by literal text. |
| describe_pdb_procedureA | Describe a live GIMP PDB procedure using runtime metadata. |
| invoke_pdb_procedureA | Invoke a live PDB procedure using structured positional or keyword values. Values may be JSON scalars, arrays, or {"scheme_symbol": "ENUM-VALUE"} objects. Arbitrary Scheme source is intentionally not accepted. |
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 40 tools
Each tool targets a unique operation or resource: image lifecycle, layer properties, selections, adjustments, and PDB introspection are clearly separated. Even similar-sounding tools like resize_image vs resize_canvas or select_rectangle vs select_ellipse have distinct descriptions that prevent misselection.
The vast majority follow a clear verb_noun pattern (create_image, list_layers, set_layer_opacity). Minor exceptions like gimp_status, gimp_capabilities, brightness_contrast, and hue_saturation are acceptable but deviate slightly from the dominant convention.
With 40 tools, the server exceeds the 25+ threshold considered too many. While GIMP is complex and many operations are genuinely distinct, the count feels heavy for an MCP surface and could be streamlined without sacrificing core functionality.
The tool set covers image creation/opening/saving/export, layer CRUD and properties, transformations, selections, basic color adjustments, and undo/redo. Missing advanced features like filters and text tools are mitigated by the PDB access tools, allowing agents to invoke arbitrary GIMP procedures. Minor gaps remain, but the core workflow is complete.