Joinable
Make any game joinable: pick the pattern, get the snippet, run a two-player self-test.
제작자가 쓴 설명(영어 원문)
Edit in GIMP 3 with AI agents: live previews, grouped edits, pixel measurements and recipes.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
GIMP_AGENT_ALLOW_PYTHON필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"gimp-agent": {
"command": "uvx",
"args": [
"gimp-agent-mcp",
"serve"
],
"env": {
"GIMP_AGENT_ALLOW_PYTHON": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add gimp-agent --env GIMP_AGENT_ALLOW_PYTHON=your-value -- uvx gimp-agent-mcp serve실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"gimp-agent": {
"command": "uvx",
"args": [
"gimp-agent-mcp",
"serve"
],
"env": {
"GIMP_AGENT_ALLOW_PYTHON": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"gimp-agent": {
"type": "stdio",
"command": "uvx",
"args": [
"gimp-agent-mcp",
"serve"
],
"env": {
"GIMP_AGENT_ALLOW_PYTHON": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
GIMP_AGENT_ALLOW_PYTHON env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
레지스트리 이름이 GitHub 계정 SarutobiSasuke8 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.5.0)은 2개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Joinable, Castos MCP by usefulapi, RSS.com MCP by usefulapi
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Make any game joinable: pick the pattern, get the snippet, run a two-player self-test.
Read podcasts and episodes; create and update episodes; manage private subscribers in Castos.
Read podcasts and episodes; create and edit episodes, chapters and transcripts in RSS.com.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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 the앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요