GIMP MCP Pro
GIMP 3.0的生产级模型上下文协议服务器+
67种打字工具•可靠的沟通•人工智能友好的工作流程
GIMP MCP Pro允许AI助手(Claude等)通过结构良好、类型化的MCP工具来控制GIMP——创建图像、管理图层、绘制形状、应用滤镜、调整颜色等等。
特性
- 67种MCP工具 跨11个模块——图像管理、图层、选择、绘图、文本、转换、颜色、过滤器、检查、历史、PDB访问
- 可靠通信 --长度前缀套接字框架(不再猜测JSON边界)
- 持久连接 --一个TCP连接,保持活动状态,并自动重新连接
- GIMP 3.0.8兼容 --使用稳定的API(DrawableFilter、PDB程序)对当前GIMP版本进行测试
- 撤消组 --多步骤AI工作流作为一个撤销步骤
- Pydantic验证 --输入在到达GIMP之前经过验证
- AI引导提示 --最佳实践和迭代工作流文档
- 视觉验证 —
get_image_bitmap让AI看到它在画什么 - PDB发现 --搜索GIMP的数千个程序
- 安全舱口 —
execute_python适用于没有专用工具的任何东西
建筑
AI Assistant ←→ MCP Server (gimp-mcp-pro) ←→ GIMP Plugin
(Claude) stdio/SSE TCP socket
Typed tools PyGObject
Pydantic models Native handlers两个进程:MCP服务器在GIMP外部运行,并通过带有长度前缀帧的TCP与GIMP Python进程内部运行的插件通信。
快速开始
1.安装MCP服务器
pip install gimp-mcp-pro或者从源代码安装:
git clone https://github.com/yourname/gimp-mcp-pro.git
cd gimp-mcp-pro
pip install -e .2.安装GIMP插件
安装脚本会自动处理此问题:
./setup.sh或者手动复制插件:
# Linux
PLUG_DIR="$HOME/.config/GIMP/3.0/plug-ins/gimp-mcp-pro"
mkdir -p "$PLUG_DIR"
cp gimp_plugin/gimp_mcp_plugin.py "$PLUG_DIR/gimp-mcp-pro"
chmod +x "$PLUG_DIR/gimp-mcp-pro"
# macOS
PLUG_DIR="$HOME/Library/Application Support/GIMP/3.0/plug-ins/gimp-mcp-pro"
mkdir -p "$PLUG_DIR"
cp gimp_plugin/gimp_mcp_plugin.py "$PLUG_DIR/gimp-mcp-pro"
chmod +x "$PLUG_DIR/gimp-mcp-pro"3.在GIMP中启动插件
打开GIMP→ 工具 → 启动MCP Pro服务器
您应该在GIMP控制台中看到“MCP Pro:在localhost:9877上监听”。
4.配置克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"gimp": {
"command": "gimp-mcp-pro"
}
}
}重新启动克劳德桌面。
5.开始编辑!
问克劳德: *“创建一个800x600的图像,中间有一个红色圆圈,下面有文字‘Hello World’”*
工具参考
图像管理(6个工具)
| 工具 | 说明 |
|---|---|
create_image | 创建新的空白图像 |
list_images | 列出所有打开的图像 |
get_image_info | 获取活动图像元数据 |
export_image | 导出为PNG、JPEG、TIFF、BMP、WebP |
flatten_image | 将所有层压平成一层 |
duplicate_image | 复制整个图像 |
图层操作(9个工具)
| 工具 | 说明 |
|---|---|
create_layer | 创建新图层 |
list_layers | 列出所有具有属性的图层 |
set_active_layer | 切换工作层 |
delete_layer | 删除图层 |
set_layer_opacity | 更改图层不透明度(0-100) |
set_layer_visibility | 显示或隐藏图层 |
duplicate_layer | 复制图层 |
merge_visible_layers | 合并所有可见图层 |
add_alpha_channel | 为图层添加透明度支持 |
绘图(9个工具)
| 工具 | 说明 |
|---|---|
set_foreground_color | 设置绘图颜色 |
set_background_color | 设置背景颜色 |
fill_selection | 用颜色填充当前选择 |
draw_line | 画一条直线 |
draw_brush_stroke | 铅笔或毛笔沿点划动 |
draw_rectangle | 矩形(填充或轮廓) |
draw_ellipse | 椭圆/圆(填充或轮廓) |
draw_polygon | 多边形(填充或轮廓) |
add_text | 添加字体/大小/颜色的文本层 |
选择(8个工具)
| 工具 | 说明 |
|---|---|
select_rectangle | 矩形选择 |
select_ellipse | 椭圆/圆形选择 |
select_polygon | 自由多边形选择 |
select_all | 选择整个图像 |
select_none | 清除所有选择 |
select_invert | 反转当前选择 |
select_grow | 按像素扩展选择 |
select_shrink | 按像素缩小选择 |
转换(11个工具)
| 工具 | 说明 |
|---|---|
scale_image | 缩放整个图像 |
scale_layer | 缩放单层 |
rotate_image | 将图像旋转90°/180°/270° |
rotate_layer | 按任意角度旋转图层 |
flip_image | 水平/垂直翻转图像 |
flip_layer | 水平/垂直翻转层 |
crop_image | 裁剪到特定矩形 |
crop_to_selection | 裁剪到选择范围 |
autocrop_image | 自动修剪未使用的画布 |
resize_canvas | 调整画布大小而不缩放内容 |
offset_layer | 在画布上移动图层位置 |
颜色调整(13个工具)
| 工具 | 说明 |
|---|---|
adjust_brightness_contrast | 亮度和对比度 |
adjust_hue_saturation | 色调、饱和度和亮度 |
adjust_levels | 伽玛输入/输出电平 |
adjust_curves | 自定义色调曲线 |
desaturate | 转换为灰度(多种方法) |
invert_colors | 负面/反转效应 |
apply_threshold | 转换为纯黑白 |
posterize | 降低颜色级别 |
color_to_alpha | 使颜色透明 |
auto_white_balance | 自动水平拉伸 |
get_colors | 获取当前前景/背景颜色 |
swap_colors | 交换前景和背景 |
sample_color | 从像素中选择颜色 |
滤镜和效果(8个工具)
| 工具 | 说明 |
|---|---|
apply_gaussian_blur | 高斯模糊 |
apply_unsharp_mask | 用锐化面膜锐化 |
apply_pixelize | 像素化/马赛克效果 |
apply_edge_detect | 边缘检测(Sobel、Prewitt、Laplace) |
apply_emboss | 浮雕/浮雕效果 |
apply_noise | 添加随机噪声/颗粒 |
apply_median | 中值去噪滤波器 |
apply_drop_shadow | 阴影效果 |
检查(4个工具)
| 工具 | 说明 |
|---|---|
get_image_bitmap | 将图像设置为可查看的PNG格式(用于AI验证) |
get_image_metadata | 无像素数据的快速元数据 |
get_context_state | 当前颜色、画笔、不透明度设置 |
get_gimp_info | GIMP版本、环境、功能 |
历史(3个工具)
| 工具 | 说明 |
|---|---|
begin_undo_group | 将操作分组为单个撤消步骤 |
end_undo_group | 结束当前撤消组 |
edit_clear | 将选择清除为透明 |
高级(2个工具)
| 工具 | 说明 |
|---|---|
search_pdb | 搜索GIMP的程序数据库 |
execute_python | 在GIMP控制台中运行原始Python |
已知限制
- 取消/重做:GIMP 3.0的插件API不公开程序撤消/重做。使用
Ctrl+Z/Ctrl+Y直接在GIMP中。撤销 *群组* 用于对AI操作进行分组。 - 投影:内部使用傅体;在某些设置中可能会导致连接问题。
- 字体名称:GIMP 3.0使用以下名称
Sans-serif,Serif,MonospaceTheadd_text该工具会自动映射常用别名。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
GIMP_MCP_HOST | localhost | GIMP插件套接字主机 |
GIMP_MCP_PORT | 9877 | GIMP插件套接字端口 |
GIMP_MCP_TIMEOUT | 30 | 默认命令超时(秒) |
GIMP_MCP_LOG_LEVEL | INFO | 日志记录级别 |
GIMP_MCP_DEBUG | false | 启用调试模式 |
技术说明
筛选器实现
所有过滤器使用 Gimp.DrawableFilter 它将GEGL操作安全地封装在GIMP的插件上下文中。直接GEGL图构建(Gegl.Node())GIMP 3.0插件上下文中的崩溃——这是GIMP MCP Pro解决的一个已知限制。
颜色处理
颜色被接受为名称("red"),十六进制("#FF0000"),或CSS rgb("rgb(255,0,0)")所有工具。在内部,颜色使用Gegl。使用GIMP 3.0 API为对象上色。
连接协议
MCP服务器使用4字节大端长度前缀的JSON消息通过TCP与GIMP插件通信。这消除了早期实现中使用的脆弱的JSON边界检测。
发展
git clone https://github.com/yourname/gimp-mcp-pro.git
cd gimp-mcp-pro
pip install -e ".[dev]"
pytest学分
基于以下见解:
- maorcc/gimp mcp --经过验证的GIMP插件架构,AI指导提示
- slliws/gimp-mcp服务器 --类型化工具模块结构
- libreearth/gimp-mcp --原始概念证明
许可证
麻省理工学院
