adobe-com-mcp
# Adobe COM MCP Server
用自然语言在 TRAE 里操控 **Photoshop** 和 **Illustrator**。
无需 UXP 插件,支持 PS 2020+ 和 AI CS6+。
| 平台 | 文件 | 自动化方式 |
|------|------|-----------|
| Windows | `server.py` | COM 自动化(pywin32) |
| macOS | `server_mac.py` | AppleScript + ExtendScript |
---
## 功能总览
共 **63 个工具**,覆盖日常设计 + 批量体力活自动化:
### Photoshop — 基础工具(19 个)
| 工具 | 说明 |
|------|------|
| `ps_create_document` | 新建指定像素尺寸的文档 |
| `ps_get_active_info` | 获取当前文档信息(尺寸/图层/模式等) |
| `ps_list_documents` | 列出所有打开的文档 |
| `ps_close_document` | 关闭当前文档(不保存) |
| `ps_add_layer` | 新建空白图层 |
| `ps_duplicate_layer` | 复制当前活动图层 |
| `ps_delete_layer` | 删除当前活动图层 |
| `ps_set_layer_opacity` | 设置图层不透明度(0-100) |
| `ps_add_text_layer` | 添加文字图层(可指定字号/颜色/位置) |
| `ps_fill_layer` | 用指定颜色填充当前图层 |
| `ps_set_foreground_color` | 设置前景色 |
| `ps_apply_gaussian_blur` | 高斯模糊滤镜 |
| `ps_apply_unsharp_mask` | USM 锐化滤镜 |
| `ps_resize_document` | 调整文档像素尺寸(等比或指定) |
| `ps_save_as_png` | 导出 PNG |
| `ps_save_as_jpg` | 导出 JPG |
| `ps_save_as_psd` | 保存 PSD |
| `ps_open_document` | 打开本地图片/PSD 文件 |
| `ps_do_action` | 执行已安装的 Photoshop 动作(Action) |
### Photoshop — 文字图层操作(4 个)
| 工具 | 说明 |
|------|------|
| `ps_list_text_layers` | 列出文档中所有文字图层 |
| `ps_select_all_text_layers` | 一键全选所有文字图层 |
| `ps_replace_text_in_all_layers` | 批量替换所有文字图层中的指定文字 |
| `ps_set_text_color_all` | 批量设置所有文字图层颜色 |
| `ps_set_text_size_all` | 批量设置所有文字图层字号 |
### Photoshop — 图层管理(3 个)
| 工具 | 说明 |
|------|------|
| `ps_list_all_layers` | 列出文档中所有图层(名称/类型/可见性) |
| `ps_select_layer_by_name` | 按名称选中图层 |
| `ps_toggle_layer_visibility` | 切换图层可见性 |
| `ps_batch_rename_layers` | 批量重命名图层(前缀+序号) |
### Photoshop — 批量处理体力活(10 个)★重点
| 工具 | 说明 | 手动耗时 |
|------|------|---------|
| `ps_export_all_layers_to_png` | 一键导出所有图层为单独 PNG | 30层=30轮隐藏/显示/导出 |
| `ps_create_spritesheet` | 图层自动拼成精灵表(Sprite Sheet) | 手动拼图几十分钟 |
| `ps_distribute_layers_evenly` | 多图层均匀分布间距 | 手动计算偏移+逐个移动 |
| `ps_auto_trim` | 自动裁剪透明/白色边缘 | 手动拖裁剪框 |
| `ps_batch_apply_action_to_layers` | 批量给所有图层应用动作 | 逐个选层+执行动作 |
| `ps_smart_object_replace_batch` | 批量替换智能对象内容(mockup) | 逐个打开/替换/保存/关闭 |
| `ps_auto_color_match` | 统一所有图层色调(匹配颜色) | 逐个图层Match Color |
| `ps_auto_center_content` | 自动将内容居中到画布 | 测边界+算偏移+移动 |
| `ps_auto_round_corners` | 批量给图层加圆角(电商图) | 逐个画蒙版/裁切 |
| `ps_auto_layout_strip` | 多图层拼成横向/纵向长条 | 计算尺寸+逐一排列 |
| `ps_export_layer_comps` | 一键导出所有图层组合 | 逐个切换+导出 |
| `ps_batch_resize_folder` | 文件夹批量缩放图片 | 逐张打开/缩放/保存 |
| `ps_batch_watermark` | 文件夹批量加水印 | 逐张加文字+调位置 |
| `ps_social_media_kit` | 一键生成多平台尺寸图 | 每平台单独缩放导出 |
| `ps_contact_sheet` | 生成联系表(缩略图网格) | 手动排版极费时 |
| `ps_auto_gradient_background` | 自动生成渐变背景 | 调渐变编辑器 |
| `ps_smart_replace_text_csv` | CSV批量生成文字版本 | 每条数据手动改字 |
| `ps_auto_layout_cards` | 自动网格排版多图层卡片 | 手动排版定位 |
| `ps_create_gif_from_layers` | 图层→GIF动画 | 手动逐帧设置 |
| `ps_extract_color_palette` | 提取图片主色调色盘 | 手动吸取+记录 |
### Illustrator(11 + 4 个)
| 工具 | 说明 |
|------|------|
| `ai_create_document` | 新建指定尺寸的文档(点) |
| `ai_get_active_info` | 获取当前文档信息 |
| `ai_list_documents` | 列出所有打开的文档 |
| `ai_close_document` | 关闭当前文档 |
| `ai_add_rectangle` | 画矩形(可指定填充色) |
| `ai_add_ellipse` | 画椭圆(可指定填充色) |
| `ai_add_polygon` | 画正多边形(可指定填充色) |
| `ai_add_text` | 添加文字(可指定字号/颜色/位置) |
| `ai_save_as_ai` | 保存为 .ai |
| `ai_export_svg` | 导出 SVG 矢量图 |
| `ai_export_png` | 导出 PNG(透明背景) |
| `ai_batch_replace_text` | 批量查找替换所有文字框内容 |
| `ai_export_all_artboards` | 一键导出所有画板为单独文件 |
| `ai_auto_layout_grid` | 自动网格排列所有对象 |
| `ai_align_objects` | 多对象对齐(左/右/顶/底/居中) |
---
## 安装步骤
### 1. 环境要求
| 组件 | 支持版本 | 已验证版本 |
|------|---------|-----------|
| 操作系统 | Windows(需支持 COM 自动化) | Windows 11 |
| Photoshop | **2020 及以上**(CS6+ 理论上可用) | PS 2020 (v21.0.1) |
| Illustrator | **CS6 及以上** | AI 2023 (v27.0.0) |
| Python | **3.10 及以上** | — |
| Python 包 | `pywin32` + `mcp`(`mcp<2`) | — |
> ⚠️ **版本说明**:Photoshop 通过 `DoJavaScript` 执行 ExtendScript 实现自动化,这是跨版本最稳定的方式,PS 2020+ 全部适用;Illustrator 通过 COM 对象直接调用 API,AI CS6+ 均可。若你的版本较新(如 PS 2024/2025、AI 2024),接口向下兼容,正常可用。
### 2. 安装依赖
```bash
pip install pywin32 "mcp<2"
```
### 3. 在 TRAE 中添加 MCP 服务器
1. 打开 TRAE
2. 左下角点击 **设置** → **MCP**
3. 点击 **添加 MCP 服务器**
4. 选择 **命令行(stdio)** 类型
5. 填写配置:
- **名称**:`adobe-com-mcp`
- **命令**:`python`
- **参数**:`C:\Users\你的用户名\Documents\adobe-com-mcp\server.py`
- **工作目录**:`C:\Users\你的用户名\Documents\adobe-com-mcp`
(把路径替换成你实际的 server.py 位置)
6. 保存并启用
### 4. 验证
打开 Photoshop,然后在 TRAE 聊天框说:
> 新建一个 800x800 的 Photoshop 文档
如果 PS 自动创建了文档 → 配置成功!
---
## 使用示例
### Photoshop 示例
**新建画布并加文字:**
> "帮我建一个 1920x1080 的 PS 文档,加个标题文字叫'你好世界',字号 72,放在左上角"
**做一张海报底图:**
> "新建 1080x1920 的竖版画布,背景色用 #FF6B35,加一个文字图层写'SUMMER SALE',白色 96 号字"
**修图操作:**
> "给当前图层加 3 像素高斯模糊,然后把不透明度调到 70%"
**导出成品:**
> "把这张图导出成 PNG,存到桌面"
### Illustrator 示例
**画个 Logo 雏形:**
> "在 AI 里新建 800x600 的画布,画一个蓝色正六边形,中间加文字'LOGO'"
**导出矢量图:**
> "把当前 AI 文档导出成 SVG"
### 批量体力活示例 ★重点
**导出所有图层为单独 PNG(30层只需1句话):**
> "把当前文档所有图层导出成单独的 PNG,存到桌面 layers_export 文件夹"
**生成精灵表(游戏开发):**
> "把所有图层拼成一张精灵表,自动排列网格"
**批量替换智能对象(Mockup 批量生成):**
> "把 D:\mockup_images 文件夹里的图片依次替换到文档中的智能对象图层"
**统一色调:**
> "以当前活动图层为参考,统一所有图层的色调"
**批量加圆角(电商商品图):**
> "给当前文档所有可见图层加 20px 圆角"
**AI 批量查找替换:**
> "把 AI 文档里所有文字框中的'2024'替换成'2025'"
**AI 一键导出所有画板:**
> "把 AI 文档所有画板导出成 PNG,存到桌面"
**图层均匀分布:**
> "把我选中的这些图层水平均匀分布间距"
**拼长图:**
> "把当前文档图层排成纵向长条,间距 10px"
---
## Mac 版使用(macOS)
macOS 上无法使用 Windows 的 COM 接口,因此提供了独立的 `server_mac.py`,通过
系统自带的 **AppleScript**(`osascript`)+ Photoshop / Illustrator 的 **`do javascript`**
(ExtendScript)实现同样的自动化,**工具名与 Windows 版完全一致**(`ps_*` / `ai_*`)。
### 环境要求
| 组件 | 支持版本 |
|------|---------|
| 操作系统 | macOS(需支持 AppleScript) |
| Photoshop | 任意支持 AppleScript 的版本(CS3+) |
| Illustrator | 任意支持 AppleScript 的版本(CS3+) |
| Python | 3.10+,`pip install "mcp<2"` |
> ⚠️ macOS 无需安装任何 COM / pywin32 相关依赖,系统自带 `osascript`。
### 配置(TRAE 中添加 MCP 服务器)
- **名称**:`adobe-mac-mcp`
- **命令**:`python`
- **参数**:`/你的路径/adobe-com-mcp/server_mac.py`
- **工作目录**:`/你的路径/adobe-com-mcp`
### 已实现的工具(Mac 版)
**与 Windows 版完全一致,共 63 个工具**(48 个 `ps_*` + 15 个 `ai_*`)。
工具名、参数、返回结构均与上文的 Photoshop / Illustrator 工具表一一对应,
无需重复列出——使用时直接参照上表即可。两者唯一的区别是底层执行方式:
Windows 走 COM(pywin32),macOS 走 AppleScript + ExtendScript。
> ⚠️ Mac 版为独立后端,需在 macOS 实机调试(不同 PS/AI 版本的 AppleScript 接口略有差异)。
> 首次运行会要求「自动化」权限:系统设置 → 隐私与安全性 → 自动化,允许 python 控制 Photoshop / Illustrator。
---
## 工作原理
1. MCP 服务器(Python 进程)通过 COM 接口连接 Photoshop / Illustrator
2. Photoshop 操作通过 `DoJavaScript` 执行 ExtendScript(最稳定的 PS 自动化方式)
3. Illustrator 操作通过 COM 对象直接调用 API
4. 遇到 "应用程序忙" 时自动重试(最多 40 次,间隔 250ms)
5. 每个线程独立持有 COM 对象,避免跨线程 marshalling 问题
---
## 常见问题
**Q: PS 一直报"应用程序正在使用中"怎么办?**
A: 检查 PS 是否有模态对话框(欢迎屏幕、字体缺失提示等),关掉即可。也可以重启 PS 后再试。
**Q: 可以同时操控 PS 和 AI 吗?**
A: 可以,一个 MCP 服务器同时支持两个软件,工具名分别以 `ps_` 和 `ai_` 开头。
**Q: 支持哪些 PS 版本?**
A: 测试通过 PS 2020 (v21.0.1)。理论上 CS6 及以上都可用。
**Q: 支持哪些 AI 版本?**
A: 测试通过 AI 2023 (v27.0.0)。理论上 CS6 及以上都可用。
**Q: 需要打开 PS/AI 才能用吗?**
A: 如果软件没开,MCP 会自动启动它。但建议提前打开,响应更快。
TDQS
Scored across 30 tools
Every tool targets a distinct app-specific resource and action. Photoshop and Illustrator tools are cleanly separated by prefixes, and save/export/layer/shape operations are clearly differentiated.
All tools follow the same lower_snake_case pattern with an app prefix (ps_ or ai_) followed by a verb and noun. Minor differences like ps_save_as_png vs ai_export_png are still semantically clear and predictable.
With 30 tools, the surface is too large for a single MCP server. The count is inflated by duplicating similar document and export operations across Photoshop and Illustrator, making it heavy to navigate.
Core workflows are covered: document creation, saving/exporting, basic shapes, text, layers, and filters. However, there are notable gaps such as no Illustrator open-document tool, no layer inspection, and no transform/alignment operations.