mcp.film directory
Search the curated directory of MCP servers for AI filmmaking and plan a full production stack.
Description from the maker (original English)
Edit in GIMP 3 with AI agents: live previews, grouped edits, pixel measurements and recipes.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
GIMP_AGENT_ALLOW_PYTHONYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"gimp-agent": {
"command": "uvx",
"args": [
"gimp-agent-mcp",
"serve"
],
"env": {
"GIMP_AGENT_ALLOW_PYTHON": "your-value"
}
}
}
}Run this in your terminal
claude mcp add gimp-agent --env GIMP_AGENT_ALLOW_PYTHON=your-value -- uvx gimp-agent-mcp serveFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"gimp-agent": {
"command": "uvx",
"args": [
"gimp-agent-mcp",
"serve"
],
"env": {
"GIMP_AGENT_ALLOW_PYTHON": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"gimp-agent": {
"type": "stdio",
"command": "uvx",
"args": [
"gimp-agent-mcp",
"serve"
],
"env": {
"GIMP_AGENT_ALLOW_PYTHON": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
GIMP_AGENT_ALLOW_PYTHON envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account SarutobiSasuke8, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.5.0) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: mcp.film directory, 像塑 MCP Plus, Zovo Recipe Card Maker
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Search the curated directory of MCP servers for AI filmmaking and plan a full production stack.
Unofficial macOS MCP for Douyin AR (像塑): assets, menus, AI combine, delivery. For learning only.
Make printable recipe cards from your own recipes as a print-ready PDF.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Let your AI agent edit in GIMP. Keep the layers. See what changed.
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.
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.
“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.
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 doctor
Restart 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 serve
Claude 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.
Working from source? Run uv sync --extra dev, then uv run gimp-agent-mcp install-plugin. Configure the server as uv run --no-sync --directory /absolute/path/to/repo gimp-agent-mcp serve. --no-sync avoids Windows executable-lock errors when another server is running.
uvx gimp-agent-mcp shortcut creates a launcher that starts GIMP with the bridge enabled.gimp_launch(mode="gui") opens GIMP; mode="headless" runs without a window.gimp_status and gimp_list_images report the image attached to GIMP's active user display, its selected layer ids, selection bounds and dirty state. When the user says "this layer" or "the selection", read that context before editing. Use gimp_context(image_id) for a specific document or to bring it forward with present=true. If multiple bridges run, gimp_status follows the newest bridge file; isolate test profiles when a user session is active.
| Capability | What you get |
|---|---|
| Visual feedback | Whole-image, layer and region previews; saved snapshots; before/after/diff comparisons. Diagnostic overlays can add a coordinate grid, layer boxes, selection bounds and labelled points without changing the source. |
| Measured output | Pixel colours, alpha bounds, histograms and dominant colours. Sprite packing reopens the exported PNG and compares each cell's decoded RGBA pixels with its source. |
| Editable work | Named layers, text, paths, masks and non-destructive layer effects. Export an XCF master and delivery files separately. |
| Everyday editing | Three compact tools cover common adjustments, canvas transforms, fills and simple drawing. Every action reports the installed GEGL or PDB operation it used. |
| One undo step | gimp_edit_batch groups supported edits in one call. gimp_undo_group holds one image's edits across calls until ended, so one Ctrl+Z can revert the turn. A lost bridge connection closes its groups. |
| Runtime discovery | Search and describe the installed PDB procedures and GEGL operations, including parameter names, types and enum values. Numeric-array arguments support curves and brush strokes. |
| Repeatable jobs | Eleven recipes and folder batching, plus three bundled workflow skills. |
| Honest failure handling | A lost connection never silently replays an edit whose outcome is unknown. Reconnect, inspect, then decide whether to retry. |
Other GIMP MCP projects also provide TCP bridges and visual feedback. This project's emphasis is editable output, measurement, grouped edits and reproducible validation. Generic API access is broad, but does not guarantee that every GIMP procedure or GEGL operation works with every argument combination.
| Area | Tools |
|---|---|
| Learn and connect | gimp_help, gimp_status, gimp_launch, gimp_shutdown, gimp_context |
| Images | gimp_list_images, gimp_image_info, gimp_new_image, gimp_open, gimp_export, gimp_close_image |
| See and measure | gimp_render, gimp_snapshot, gimp_drop_snapshot, gimp_render_compare, gimp_measure |
| PDB | gimp_pdb_search, gimp_pdb_describe, gimp_pdb_call |
| Filters | gimp_filter_search, gimp_filter_describe, gimp_apply_filter, gimp_layer_effects, gimp_layer_effect |
| Everyday edits | gimp_adjust, gimp_canvas, gimp_draw |
| Structured edit | gimp_edit_batch, gimp_undo_group, gimp_select, gimp_layer_mask, gimp_layer, gimp_text, gimp_list_fonts, gimp_path |
| Cut out | gimp_remove_background (optional rembg model runtime) |
| Automate | gimp_run_python, gimp_list_recipes, gimp_run_recipe, gimp_batch_recipe, gimp_brand, gimp_cancel |
Images and items use integer IDs. Colours accept hex, common names, CSS RGB strings or component arrays; enums use nicks returned by the describe tools. Call gimp_help("batch") for grouped-edit examples. gimp_run_python may be disabled, reducing the tool count by one.
Common work no longer needs procedure discovery. For example, use gimp_adjust(layer_id, "brightness_contrast", {"brightness": 0.15}), gimp_canvas(image_id, "crop", width=1200, height=630, x=40, y=20), or gimp_draw(image_id, layer_id, "line", color="#ffffff", x=20, y=40, x2=300, y2=40, line_width=6). Adjustments default to editable layer effects where GIMP supports them; canvas and drawing actions bake pixels or structure. Every result identifies the runtime operation selected before execution.
For visual placement, ask for a diagnostic preview without marking the working image:
gimp_render(image_id=3, overlay=["grid", "layers", "selection"], grid_size=100,
points=[{"x": 600, "y": 340, "label": "headline centre"}])
| Recipe | Job |
|---|---|
telegram_sticker | Fit, outline and shadow on a transparent 512 × 512 canvas. |
compose | Cards and banners from a manifest of images, text, shapes and effects. |
sprite_sheet_pack | Ordered, equal-sized PNGs → verified grid PNG, layered XCF and atlas JSON, with optional margin and spacing. |
sprite_atlas_pack | Mixed-size PNGs → padded, optionally trimmed atlas PNG, layered XCF and atlas JSON, verified pixel for pixel. |
social_crop | Named social profiles (Open Graph, X, Instagram, story, YouTube or custom) around a focus point, with measured, pixel-checked output. |
sprite_sheet_slice | Fixed-size tiles from a sheet, optionally skipping empty cells. |
web_optimise | Resize and adjust export quality toward a file-size budget. |
icon_set | Export a square source at multiple sizes. |
watermark | Position a text or image watermark. |
contact_sheet | Labelled thumbnails from a folder. |
fit_and_export | Fit to a maximum edge and export by extension. |
Store a brand's colours, fonts, assets and canvas sizes once, then refer to them by token. Profiles are JSON files in the per-user config directory (%APPDATA%\gimp-agent-mcp\brands on Windows, ~/Library/Application Support/gimp-agent-mcp/brands on macOS, $XDG_CONFIG_HOME/gimp-agent-mcp/brands elsewhere; GIMP_AGENT_BRANDS_DIR overrides). Font names are checked against the running GIMP when a profile is saved.
gimp_brand(action="set", profile={"name": "example",
"colors": {"bg": "#0f1117", "accent": "#1f3a8a", "text": "#ffffff"}, "fonts": {"headline": "Bahnschrift Bold"}, "assets": {"logo": "/brand/logo.png"}, "canvases": {"x-card": [1200, 675], "og": [1200, 630]}})
gimp_run_recipe("compose", {"output_path": "out/card.png", "manifest": { "brand": "example", "canvas": "x-card", "background": "@bg", "items": [{"type": "image", "path": "@logo", "x": 40, "y": 40, "width": 160}, {"type": "text", "text": "Launch day", "font": "@headline", "size": 72, "color": "@text", "x": 40, "y": 240}]}})
Tokens are resolved in the server before anything reaches GIMP, so a token manifest becomes exactly the manifest you would have written by hand. Literal values still work and win over the profile; an unknown token fails with the profile name and its available keys. gimp_help("compose") has the full rules.
Recipe arguments and examples · Asset workflows · Skills
Version 0.5.0, beta. Tested with Windows GIMP 3.2.4, Linux GIMP 3.2.2 (Ubuntu 26.04), and macOS 15 GIMP 3.2.4 on Apple Silicon and Intel. Each platform runs the full smoke suite, targeted capability proof and all 23 everyday editing actions against real GIMP. GIMP 2.10 is unsupported; earlier 3.x releases are not part of the current test matrix.
gimp_edit_batch accepts bounded layer, text, selection, path, mask and filter edits. gimp_undo_group(image_id, action="start", name="agent: sticker pass") holds a group across calls; end it with action="end". gimp_status lists open groups. A client disconnect closes its groups. The supplied name is tracked by theOnly the beginning is shown; read the rest in the repo