Skip to content
Agentmart
Submit a tool

GIMP Agent MCP

Edit in GIMP 3 with AI agents: live previews, grouped edits, pixel measurements and recipes.

Connector by SarutobiSasuke8 · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)★ 5
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/sarutobisasuke8-gimp-agent-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Edit in GIMP 3 with AI agents: live previews, grouped edits, pixel measurements and recipes.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
15 read · 13 write · 4 delete · 9 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 41

Read from the source code; the running server may list different tools.

Read 15 · Look things up without changing anything.

  • gimp_context
  • gimp_filter_describe
  • gimp_filter_search
  • gimp_help
  • gimp_image_info
  • gimp_layer_effects
  • gimp_list_fonts
  • gimp_list_images
  • gimp_list_recipes
  • gimp_measure
  • gimp_pdb_describe
  • gimp_pdb_search
Show 3 more tools
  • gimp_render_compare
  • gimp_snapshot
  • gimp_status

Write 13 · Create, change, send or run things.

  • gimp_apply_filter
  • gimp_batch_recipe
  • gimp_cancel
  • gimp_close_image
  • gimp_draw
  • gimp_edit_batch
  • gimp_launch
  • gimp_new_image
  • gimp_pdb_call
  • gimp_run_recipe
  • gimp_select
  • gimp_shutdown
Show 1 more tools
  • gimp_text

Delete 4 · Delete, drop, revoke or wipe things.

  • gimp_drop_snapshot
  • gimp_layer_effect
  • gimp_remove_background
  • gimp_run_python

Not yet classified 9 · We could not tell from the name and description.

  • gimp_adjust
  • gimp_brand
  • gimp_canvas
  • gimp_export
  • gimp_layer
  • gimp_layer_mask
  • gimp_open
  • gimp_path
  • gimp_render

Secrets and settings it asks for

Other settings (environment variables or headers).

  • GIMP_AGENT_ALLOW_PYTHON

Network hosts it talks to 2

  • github.com · found in code
  • json.schemastore.org · found in code

Files it touches

  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (41)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • gimp_adjust

    Common 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_filter

    Apply 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. A merge already in progress cannot be interrupted; for heavy work on large images prefer a recipe.

  • gimp_batch_recipe

    Run a recipe over every file matching input_glob, writing to output_dir. Recipes must accept input_path and output_path. Reports progress per file; gimp_cancel stops it (cancelled=true, not_started lists the rest).

  • gimp_brand

    Brand kits for compose. action='list' (stored profiles), 'get' (name), 'set' (profile={name, colors, fonts, assets, canvases}; fonts are checked against the running GIMP unless check_fonts=False), 'delete' (name). A compose manifest then uses {"brand": name, "canvas": "x-card", "background": "@bg"} and items like {"font": "@headline", "color": "@text"}. See gimp_help("compose").

  • gimp_cancel

    Ask a long operation to stop. The bridge answers this even while another call is running: the running call stops at its next checkpoint (between recipe items, batch files or edit-batch steps, or before a filter starts) and returns an OperationCancelled error. A single GEGL merge already in progress cannot be interrupted. image_id limits the cancel to work on that image. Also reports what is running.

  • gimp_canvas

    Common 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_image

    Close an image without saving.

  • gimp_context

    Read one document's selected layers, selection bounds and bridge colour/brush context. Pass image_id when multiple images are open; use gimp_status for the active user display. Optionally select layers or present a GUI document.

  • gimp_draw

    Fill 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_snapshot

    Release a stored comparison snapshot. At most 16 may be retained per bridge; snapshots are also cleaned up when the bridge closes.

  • gimp_edit_batch

    Run 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 not automatic rollback or programmatic undo. No edits by another bridge request interleave within the batch. Reports progress per step; gimp_cancel stops it before the next step (cancelled=true).

  • gimp_export

    Export 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_describe

    Describe a GEGL operation's properties (names, types, ranges, defaults).

  • gimp_filter_search

    Search the GEGL operations available as filters (e.g. 'blur', 'shadow', 'levels', 'noise').

  • gimp_help

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

Show 26 more tools
  • gimp_image_info

    Full structure of one image: layer tree with item ids, channels, paths, selection bounds, resolution.

  • gimp_launch

    Start GIMP 3 with the bridge running. mode='gui' opens the normal window; 'headless' runs gimp-console with no UI.

  • gimp_layer

    Layer 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_effect

    Edit 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_effects

    List the non-destructive filters currently attached to a layer.

  • gimp_layer_mask

    Layer 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_fonts

    List installed font names, optionally filtered by a regex.

  • gimp_list_images

    List open images and report the active image, selected layers, selection bounds and dirty state.

  • gimp_list_recipes

    List tested multi-step recipes and their parameters.

  • gimp_measure

    Measure 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_image

    Create an RGB image with one layer. fill: 'transparent', 'white', 'black', 'foreground', 'background' or any colour.

  • gimp_open

    Open an image file (PNG, JPEG, WebP, XCF, PSD, SVG, ...) and return its structure.

  • gimp_path

    Vector 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_call

    Call 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_pdb_describe first when unsure.

  • gimp_pdb_describe

    Describe a PDB procedure: arguments with types, defaults and enum choices, plus return values.

  • gimp_pdb_search

    Search GIMP's Procedure Database by words in the procedure name (e.g. 'image scale', 'layer text', 'file png').

  • gimp_remove_background

    AI 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_render

    Render 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_compare

    Side-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_python

    Run 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. Call checkpoint(fraction, text) inside loops to report progress and let gimp_cancel stop the code there.

  • gimp_run_recipe

    Run a recipe by name with parameters. Recipes are Python jobs executed inside GIMP with defaults applied. Recipes report progress between items; gimp_cancel stops one at its next item and removes images it created.

  • gimp_select

    Selection 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_shutdown

    Stop the bridge and wait up to 30 s until it is gone. quit_gimp defaults to True for headless sessions and False for the GUI (unsaved work is not prompted for). fully_exited is true once GIMP was asked to quit and the bridge port is closed, its bridge file removed and (on POSIX) its plug-in process ended; it is false on a timeout, with what was still present in detail.

  • gimp_snapshot

    Take a hidden snapshot of an image's current state so gimp_render_compare can show before/after later.

  • gimp_status

    Check whether GIMP and the bridge are reachable, including the active image, selected layers and selection.

  • gimp_text

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

Signals

Stars
5
Forks
0
Open issues
3
Weekly downloads
123
Last commit
Oct 18, 2026 (11 days ago)
Last release
Sep 8, 2026 (1 month ago)
Last package publish
Sep 8, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.SarutobiSasuke8/gimp-agent-mcp
Version
0.5.0
Auth
No auth
Packages
pypi gimp-agent-mcp
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from SarutobiSasuke8

Cite this page

GIMP Agent MCP. Agent Mart. https://agentmart.dev/connectors/sarutobisasuke8-gimp-agent-mcp (last updated 2026-10-24)