GIMP Agent MCP server
io.github.SarutobiSasuke8/gimp-agent-mcp·v0.5.0·4 starsEdit in GIMP 3 with AI agents: live previews, grouped edits, pixel measurements and recipes.
4 stars104 downloads/wk
Reviews
Write oneNobody has reviewed GIMP Agent MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
GIMP Agent MCP tools (39, 8 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
gimp_adjustCommon adjustments without discovery. action: brightness_contrast, hue_saturation, curves, desaturate, invert, blur, sharpen, noise, pixelate. mode='append' keeps GEGL actions editable; mode='merge' bakes pixels. curves is destructive and needs params={channel:'value', points:[0,0,1,1]}. Returns the installed operation description used.
gimp_apply_filterApply a GEGL operation to a layer. mode='merge' bakes it in; mode='append' adds a non-destructive layer effect. Examples: white outline = op="gegl:dropshadow", params={"x":0,"y":0,"radius":0,"grow-radius":8,"color":"white"}; soft shadow = {"x":0,"y":6,"radius":12,"opacity":0.4}; blur = op="gegl:gaussian-blur", params={"std-dev-x":4,"std-dev-y":4}. gimp_help("filters") lists the useful ops.
gimp_batch_recipewrite actionRun a recipe over every file matching input_glob, writing to output_dir. Recipes must accept input_path and output_path.
gimp_canvasCommon canvas operations without PDB discovery. action: scale, crop, resize, rotate (angle 90/180/270), flip (direction horizontal/vertical), merge_visible, flatten. Operations bake pixels or layer structure and return the installed PDB description plus final image info.
gimp_close_imageClose an image without saving.
gimp_contextRead a document's selected layers, selection bounds and bridge colour/brush context. Optionally select layers or present a GUI document. With multiple images pass image_id; focused-image detection is unavailable, never inferred from list order.
gimp_drawFill or draw without PDB discovery. action: fill_layer, fill_selection, rectangle, ellipse, rectangle_outline, ellipse_outline, line. Colours use the normal CSS/#hex convention; coordinates are image pixels. Shapes clear their temporary selection. Drawing bakes pixels and returns every installed PDB operation used.
gimp_drop_snapshotwrite actionRelease a stored comparison snapshot. At most 16 may be retained per bridge; snapshots are also cleaned up when the bridge closes.
gimp_edit_batchwrite actionRun 1..100 edits on one image in ONE undo group. steps=[{op:'layer'|'text'|'select'|'path'|'layer_mask'|'apply_filter', params:{...}}]. Params use the corresponding tool arguments; image_id is injected. Reference an earlier result with {'$ref':'0.id'}. Check complete/error: failure stops later steps, preserves partial work, and always closes the undo group. One Ctrl+Z in GIMP reverts it; this is n
gimp_exportExport an image; the extension chooses the format (.png .webp .jpg .tiff .bmp .gif .xcf). options are passed to the format's export procedure, e.g. {"quality": 0.85} for JPEG (0..1), {"quality": 80, "lossless": false} for WebP, {"compression": 9} for PNG. Unknown option names return the valid list.
gimp_filter_describeDescribe a GEGL operation's properties (names, types, ranges, defaults).
gimp_filter_searchSearch the GEGL operations available as filters (e.g. 'blur', 'shadow', 'levels', 'noise').
gimp_helpRead this first. How to work with GIMP through this server, by topic: start, filters, colours, text, masks, paths, layers, measure, recipes, compose, errors, or all.
gimp_image_infoFull structure of one image: layer tree with item ids, channels, paths, selection bounds, resolution.
gimp_launchStart GIMP 3 with the bridge running. mode='gui' opens the normal window; 'headless' runs gimp-console with no UI.
gimp_layerLayer operations. action: new (image_id, name, width, height, fill, x, y, position), set (name, visible, opacity, mode, x, y, lock), move (dx, dy), reorder (position, parent_id), duplicate, merge_down, delete, resize_to_image, scale (width, height), add_alpha, crop_to_content, info.
gimp_layer_effectEdit or delete a non-destructive layer effect (ids from gimp_layer_effects). action='set' updates params/visible/opacity/blend_mode; 'delete' removes it.
gimp_layer_effectsList the non-destructive filters currently attached to a layer.
gimp_layer_maskLayer masks. action='add' with type selection|alpha|alpha-transfer|white|black|copy; 'apply' bakes the mask in; 'remove' discards it; 'enable'/'disable' toggle it; 'show'/'hide' preview it.
gimp_list_fontsList installed font names, optionally filtered by a regex.
gimp_list_imagesList open images with ids, dimensions, file path, and layer count.
gimp_list_recipesList tested multi-step recipes and their parameters.
gimp_measureMeasure pixels instead of guessing from a render. kind='color' (rgba at image x,y), 'bbox' (bounding box of non-transparent pixels), 'histogram' (mean/median/std per channel), 'dominant' (top k colours). Defaults to the selected layer.
gimp_new_imagewrite actionCreate an RGB image with one layer. fill: 'transparent', 'white', 'black', 'foreground', 'background' or any colour.
gimp_openOpen an image file (PNG, JPEG, WebP, XCF, PSD, SVG, ...) and return its structure.
gimp_pathVector paths. action='create' (image_id, strokes=[{type:'line'|'bezier', points:[[x,y],...], closed:bool}]; bezier points after the first are control1, control2, anchor triples), 'select' (path to selection), 'stroke' (draw it on layer_id with color and width), 'fill' (fill it on layer_id), 'delete'.
gimp_pdb_callCall any PDB procedure by name with arguments keyed by name. Pass images/items as ids, colours as strings, enums by nick. Example: name="gimp-image-scale", args={"image": 3, "new-width": 800, "new-height": 600}; name="gimp-image-select-round-rectangle", args={"image": 3, "operation": "replace", "x": 10, "y": 10, "width": 200, "height": 80, "corner-radius-x": 20, "corner-radius-y": 20}. Use gimp_pd
gimp_pdb_describeDescribe a PDB procedure: arguments with types, defaults and enum choices, plus return values.
gimp_pdb_searchSearch GIMP's Procedure Database by words in the procedure name (e.g. 'image scale', 'layer text', 'file png').
gimp_remove_backgroundwrite actionAI subject cut-out. Runs a segmentation model on the layer and writes the result as an editable layer mask (mode='mask') or bakes it into the alpha channel (mode='apply'). Needs the optional segmentation extra. Models: u2net (default), isnet-general-use, u2net_human_seg, isnet-anime, silueta.
gimp_renderRender an image as PNG. layer_id isolates a layer; region crops. Diagnostic overlays may include grid, layers, selection and points. points=[{"x": 100, "y": 80, "label": "target"}]. Overlays affect only the returned preview.
gimp_render_compareSide-by-side render of a snapshot and the current image. panels is a comma list of before, after, diff (diff = pixel difference, black means identical).
gimp_run_pythonwrite actionRun Python inside GIMP. Gimp, Gegl, Gio, GLib and helpers image_by_id/item_by_id/make_color are available; the namespace persists between calls. Returns stdout plus the expression value or `result`. Pass image_id to wrap the call in one undo step.
gimp_run_recipewrite actionRun a recipe by name with parameters. Recipes are Python jobs executed inside GIMP with defaults applied.
gimp_selectSelection in one tool. mode: rect, ellipse (x,y,width,height), color (color, threshold 0..1, layer_id), alpha (layer_id: select the layer's opaque pixels), item (item_id: path or channel), all, none, invert, grow/shrink/feather/border (amount), bounds (just report). op: replace, add, subtract, intersect. Returns the selection bounds.
gimp_shutdownStop the bridge. quit_gimp defaults to True for headless sessions and False for the GUI (unsaved work is not prompted for).
gimp_snapshotTake a hidden snapshot of an image's current state so gimp_render_compare can show before/after later.
gimp_statusCheck whether GIMP and the agent bridge are reachable. Returns GIMP version, mode, and open images.
gimp_textwrite actionCreate a text layer (image_id + text) or edit one (layer_id). size in px, font by name (gimp_list_fonts), colour, justify left|center|right|fill, spacing, optional fixed box.
Public scan report
scanner v0.1.10 · 2026-10-15 · same rubric, same numbers if you re-run it
- Code scan28 source files scanned20/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- mediumeval / new Function used
exec.evalgimp_agent_mcp-0.5.0/src/gimp_agent_mcp/plugin/gimp-agent-bridge.py: … else: result = eval(compiled, self.ns) finally: …
How GIMP Agent MCP compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 85/100
- higher than 73% of 4,460 AI and agents servers
- Tools
- 39
- the typical AI and agents server has 6
- Tools that change things
- 21%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 4
- more than 77% of 2,711 AI and agents servers
- Downloads a week
- 104
- more than 65% of 1,538 AI and agents servers with a package
What its tools let an agent do: 31 read · 8 change
Install GIMP Agent MCP in Claude Code, Cursor or VS Code
claude mcp add gimp-agent-mcp -- uvx gimp-agent-mcp
What the publisher says
From the GIMP Agent MCP repository's README, as published. We do not edit it. Read it on GitHub
GIMP Agent MCP
Let your AI agent edit in GIMP. Keep the layers. See what changed.
<!-- mcp-name: io.github.SarutobiSasuke8/gimp-agent-mcp -->
Connect Claude, Codex, Cursor or another MCP client to GIMP 3. The agent can work in your open window, inspect the result, refine an edit and save an XCF you can keep working on. Headless mode runs the same workflows over folders of images.
See it working
Watch the 20-second MP4 · Open the editable XCF · Reproduce the MCP session
This is a captured-step walkthrough of the real GIMP window, with pauses shortened. Three text layers are changed through MCP in one batch. One Ctrl+Z restores all three; Ctrl+Y brings them back. The text, artwork and background stay on separate named layers. This demonstrates actual tool execution, not a claim that every model will follow the same plan from a prompt.
Try asking
“Change the headline and supporting text in this card. Keep them as text layers, group the edits into one undo step, and show me the result before exporting.”
“Make this transparent artwork into a Telegram sticker with a white outline and shadow. Save a 512 × 512 PNG.”
“Pack these equal-sized PNG frames into a sprite sheet. Keep an XCF master, write the atlas JSON and verify the exported pixels against the originals.”
The included skills guide layered artwork, sprite sheets and batch jobs. They tell the agent to inspect and measure the actual output before calling a job complete.
Install
You need GIMP 3.2.x, Python 3.11+, uv and an MCP client. GIMP must be installed on the same machine as the server. Start GIMP once so its user profile exists.
uvx gimp-agent-mcp install-plugin
uvx gimp-agent-mcp install-skills
uvx gimp-agent-mcp doctorRestart GIMP after installing or upgrading the bridge. In your open GIMP window, choose Filters → Development → Start Agent Bridge.
Add this configuration to your client's MCP settings:
{
"mcpServers": {
"gimp": {
"command": "uvx",
"args": ["gimp-agent-mcp", "serve"]
}
}
}For Claude Code:
claude mcp add gimp -- uvx gimp-agent-mcp serveClaude Code can also install the server and skills as a plugin; see skills installation. For AI background removal, install the optional model runtime with uvx --from "gimp-agent-mcp[segmentation]" gimp-agent-mcp serve (use the same arguments in your MCP config). The first use downloads a model; image processing stays local.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
GIMP Agent MCP: common questions
- Is GIMP Agent MCP server safe?
- Yes, by our scan: it is graded A (85/100). Read the GIMP Agent MCP safety report
- How do I install GIMP Agent MCP?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does GIMP Agent MCP need an API key?
- No secret keys are declared. It reads 1 setting from the environment.
- Is GIMP Agent MCP maintained?
- The last commit was 20 days ago (2026-10-15). The latest release is v0.5.0.
- What can I use instead of GIMP Agent MCP?
- Servers from other publishers that do the same job: Openflowkit MCP server, Pm Claude Skills MCP server and Agent-Native Slides MCP server.
- How does GIMP Agent MCP compare with other AI and agents MCP servers?
- safety score 85/100 (higher than 73% of 4,460 AI and agents servers); tools 39 (the typical AI and agents server has 6); tools that change things 21% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to GIMP Agent MCP
Same job from other publishers: the closest match first, then the best rated.
- OpenflowkitArchitecture diagrams for your agent: draw on the live OpenFlowKit canvas or edit diagram files.not reviewedEstablishedA
- Pm Claude Skills1310 professional Agent Skills + workflow recipes — searchable & fetchable over MCP.not reviewedEstablishedA
- Agent-Native SlidesAgent-Native Google Slides - generate and edit React presentationsnot reviewedEstablishedA
- Watch SkillWatch video and live sessions, keep timestamped evidence, and verify an agent's own work.not reviewedEstablishedB
- WaveSpeedRun any model on the live WaveSpeed catalog: image, video, audio, 3D.not reviewedEstablishedA