Let AI assistants paint, edit and export images in a running GIMP 3, with 80 tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
gimp3-mcp lets an AI assistant work in a running GIMP 3.2. You describe what you want; the assistant creates or opens images, paints, edits, and exports them, and looks at the image between steps to check its work.
It has two parts: a GIMP plugin that runs inside GIMP, and an MCP server that your AI client (Claude Desktop, Claude Code, or any other MCP client) starts. Together they give the assistant 80 tools, from brush strokes and color adjustments to layers, text, and batch export.
gimp3-mcp started as a fork of gimp-mcp by maorcc and its contributors, and is now developed separately. See Credits and How it differs from gimp-mcp.
Each example is a prompt you can give the assistant, followed by the tools it will typically use.
Paint a picture
new_canvas β paint_stroke in rounds (textured brushes, tapered strokes, smudging) β get_state_snapshot or the preview option to look β sample_color to pick up colors already on the canvas.
Touch up a photo
open_image β auto_levels β adjust_brightness_contrast β adjust_color_balance β sharpen β scale_to_fit β export_image.
Make a graphic
new_canvas β add_text β apply_drop_shadow β export_web_optimized.
Inspect details
get_state_snapshot with a region.
Work with many images
list_images β batch_export.
Anything the tools don't cover
call_api runs Python inside GIMP.
The assistant writes these calls, not you, but they show what the tools accept. Each block is the arguments for the named tool.
get_state_snapshot: look at part of an image (coordinates are image pixels; the result is scaled to fit max_size):
paint_stroke: paint a round of strokes and get a preview back:
call_api: evaluate Python inside GIMP:
The client starts the MCP server. The server turns each tool call into a JSON command and sends it to the plugin, which carries it out with GIMP's Python API and returns the result. The plugin runs one command at a time.
uvx and fetches Python 3.11 or newer when neededStart GIMP once so it creates its settings folder, then run:
This copies the plugin into plug-ins/gimp-mcp-plugin/ inside GIMP's settings folder, and downloads the server so your AI client starts quickly later. It uses the newest GIMP 3.x folder it finds, looking in ~/Library/Application Support/GIMP on macOS, %APPDATA%\GIMP on Windows, and ~/.config/GIMP, ~/snap/gimp/current/.config/GIMP and ~/.var/app/org.gimp.GIMP/config/GIMP on Linux. If your GIMP keeps its settings elsewhere, pass --gimp-dir; Edit > Preferences > Folders > Plug-ins shows the folder GIMP is using. GIMP creates a new settings folder for each minor version, so run the command again after upgrading GIMP. Restart GIMP after installing.
Choose Tools > MCP > Start MCP Server. No image needs to be open. The server listens on localhost:9877 until GIMP quits, so start it again each time you start GIMP. The same menu has Check MCP Server and Restart MCP Server.
Claude Desktop. Add the server to claude_desktop_config.json, which is at ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows:
Quit and reopen Claude Desktop. Claude Desktop lets you turn a connector's tools on and off individually. If the assistant says a tool such as new_canvas isn't available, enable it in the gimp connector's tool settings and start a new chat.
Claude Code.
Other MCP clients. Configure a stdio server with the command uvx and the argument gimp3-mcp.
Ask the assistant to "check the GIMP connection". It calls check_server, which reports whether the plugin is reachable and which GIMP version is running.
The server provides 80 tools. Each tool's own description, which the assistant sees, documents its parameters and results.
| Tool | What it does |
|---|---|
get_state_snapshot | PNG of an image or a region, scaled to fit max_size; the assistant's main way to look |
get_image_bitmap | The same image data with separate max_width/max_height and origin_x/origin_y region keys |
get_image_metadata | Size, color mode, resolution, layers, file |
sample_color | Color at a point of the visible image, as hex, optionally averaged over a radius |
get_pixel_color | Color at one pixel of the visible image or of a single layer |
get_histogram | Mean, median, and spread of a channel of a layer |
get_selection_bounds | Bounding box of the current selection |
list_images | Open images in index order, with names and sizes |
list_layers | Layers from top to bottom, with the active layer marked |
| Tool | What it does |
|---|---|
new_canvas | Create a blank image in a new window |
open_image | Open an image file in a new window |
save_xcf | Save as GIMP's XCF format, keeping layers |
export_image | Export to PNG, JPEG, WebP, or TIFF |
close_image | Close an image opened with new_canvas or open_image (optionally saving XCF first) |
set_active_image | Bring an image's window to the front |
convert_color_mode | Convert to RGB, grayscale, or indexed color |
| Tool | What it does |
|---|---|
paint_stroke | Paint batches of brush strokes: textured brushes, tapered or pressure-varied strokes, airbrush, smudge, eraser |
list_brushes | Brush names for paint_stroke |
draw_line | Straight line with the pencil or paintbrush |
draw_rectangle / draw_ellipse | Rectangle or ellipse outline |
fill_rectangle / fill_ellipse | Filled rectangle or ellipse |
fill_layer | Fill a whole layer with a color |
fill_selection | Fill the selection with a color, GIMP's foreground or background color, a pattern, or transparency |
gradient_fill | Linear or radial gradient |
set_colors | Set GIMP's foreground and background colors |
| Tool | What it does |
|---|---|
adjust_brightness_contrast | Brightness and contrast |
adjust_curves | Curves by channel, with presets or custom points |
adjust_hue_saturation | Hue, saturation, and lightness, for all colors or one color range |
adjust_color_balance | Color balance for shadows, midtones, or highlights |
auto_levels | Stretch the tonal range automatically |
desaturate | Convert a layer to grayscale |
invert_colors | Invert a layer's colors |
| Tool | What it does |
|---|---|
blur / apply_gaussian_blur | Gaussian blur (blur takes separate horizontal and vertical radii) |
sharpen | Unsharp mask |
denoise | Noise reduction |
apply_noise | Add noise or grain |
apply_pixelate | Block mosaic |
apply_emboss | Emboss |
apply_vignette | Darken the edges |
apply_drop_shadow | Soft drop shadow below a layer |
warp_region | Disabled: on GIMP 3.2 it erased the layer instead of warping, so it now returns an error |
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/gimp-3-mcp)<a href="https://allmcps.com/mcp/gimp-3-mcp"><img src="https://allmcps.com/api/badge/gimp-3-mcp?style=directory" alt="GIMP 3 MCP on AllMCPs" /></a>