Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Let AI assistants paint, edit and export images in a running GIMP 3, with 80 tools.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"gimp3": {
"command": "uvx",
"args": [
"gimp3-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add gimp3 -- uvx gimp3-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"gimp3": {
"command": "uvx",
"args": [
"gimp3-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"gimp3": {
"type": "stdio",
"command": "uvx",
"args": [
"gimp3-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub tifyr ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Detailing Manager
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Connect your auto detailing studio's tasks, cars, clients and revenue to Claude or ChatGPT.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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
Create an 800×800 canvas and paint a ginger cat sitting front-on, in loose painterly strokes.
Look at the canvas after each round of strokes.
`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 ~/Pictures/harbor.jpg, auto-level it, add a little contrast and warmth,
sharpen slightly, and export a 2048-pixel-wide JPEG to ~/Pictures/harbor-edit.jpg.
`open_image` → `auto_levels` → `adjust_brightness_contrast` → `adjust_color_balance` → `sharpen` → `scale_to_fit` → `export_image`.
Make a graphic
Make a 1200×630 banner with a dark navy background (#1b2a4a) and the title "Summer Sale"
in large white text with a soft drop shadow, then export it for the web.
`new_canvas` → `add_text` → `apply_drop_shadow` → `export_web_optimized`.
Inspect details
Show me the top-left 300×300 pixels of the current image, enlarged.
get_state_snapshot with a region.
Work with many images
Export every open image as WebP into ~/Desktop/export.
list_images → batch_export.
Anything the tools don't cover
Use GIMP's Python API to list every path in the image and how many strokes each has.
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):
{"image_index": 0, "max_size": 512,
"region": {"x": 140, "y": 80, "width": 240, "height": 300}}
paint_stroke: paint a round of strokes and get a preview back:
{"preview": true, "strokes": [
{"points": [[100, 400], [300, 330], [520, 380]], "brush": "Oils 01", "size": 120, "color": "#3b6e8f"}, {"points": [[140, 420], [300, 370]], "brush": "Bristles 02", "size": 40, "color": "#d9a441", "opacity": 80}, {"points": [[250, 360], [330, 350]], "tool": "smudge", "size": 50, "pressure": "none", "strength": 40} ]}
call_api: evaluate Python inside GIMP:
{"api_path": "exec", "args": ["pyGObject-eval", ["len(Gimp.get_images())"]]}
AI client (Claude Desktop, Claude Code, ...)
│ MCP over stdio ▼ gimp_mcp_server.py MCP server: tool definitions and descriptions │ JSON over TCP, localhost:9877 ▼ gimp-mcp-plugin.py GIMP plugin: runs inside GIMP │ PyGObject ▼ GIMP 3.2
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:
uvx gimp3-mcp install-plugin
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:
{
"mcpServers": { "gimp": { "command": "uvx", "args": ["gimp3-mcp"] } } }
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.
claude mcp add --scope user gimp -- uvx gimp3-mcp
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 |
| Tool | What it does |
|---|---|
scale_image | Scale to exact dimensions |
scale_to_fit | Scale to fit a box, keeping the aspect ratio |
crop_to_rect | Crop to a rectangle |
crop_to_selection | Crop to the selection, or auto-crop |
rotate_image | Rotate by 90, 180, 270, or any angle |
flip_image | Flip horizontally or vertically |
resize_canvas | Change the canvas size without scaling the content |
| Tool | What it does |
|---|---|
select_rectangle / select_ellipse | Rectangle or ellipse selection, optionally feathered |
select_by_color | Select pixels similar to a color |
select_all / select_none | Select everything or nothing |
invert_selection | Invert the selection |
modify_selection | Grow, shrink, feather, border, or sharpen the selection |
| Tool | What it does |
|---|---|
create_layer | New layer, empty or filled |
duplicate_layer | Copy a layer |
delete_layer | Delete a layer |
rename_layer | Rename a layer |
reorder_layer | Move a layer in the stack |
set_layer_properties | Opacity, blend mode, visibility |
merge_visible_layers | Merge the visible layers |
flatten_image | Flatten all layers |
| Tool | What it does |
|---|---|
add_text | Add a text layer |
edit_text | Change a text layer's text, font, size, or color |
list_fonts | Installed fonts, filtered by name |
| Tool | What it does |
|---|---|
batch_export | Export all open images, or one, to a folder |
batch_resize | Resize all open images |
export_web_optimized | Export JPEG and PNG and report which is smaller |
export_social_media_kit | Export sizes for Instagram, Twitter/X, Facebook, and YouTube |
export_icon_sizes | Export Android or iOS icon sets |
export_sprite_sheet | Combine layers or open images into a sprite sheet |
| Tool | What it does |
|---|---|
check_server | Check that the plugin is reachable |
| restart_server | Reconnect after GIMP
ตัดมาแค่ช่วงต้น อ่านต่อใน repo