luoxixuan/photoshop-mcp-server
If you are the rightful owner of photoshop-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This is a server implementation that controls Adobe Photoshop using the Model Context Protocol (MCP), enabling programmatic control via the ExtendScript API.
Photoshop MCP服务器
这是一个通过MCP(Model Context Protocol)协议控制Adobe Photoshop的服务器实现。它使用ExtendScript API与Photoshop通信,允许AI助手和其他MCP客户端以编程方式控制Photoshop。
功能特性
- ✅ 打开、创建、保存文档
- ✅ 获取文档信息
- ✅ 图层操作(创建、查询、设置可见性)
- ✅ 应用滤镜
- ✅ 执行自定义ExtendScript脚本
- ✅ 通过MCP协议与AI助手集成
系统要求
- Node.js 18+
- Adobe Photoshop(支持ExtendScript的版本,通常CS6及以上)
- Windows系统(当前实现针对Windows,可修改为跨平台)
安装步骤
1. 安装依赖
cd photoshop-mcp-server
npm install
2. 配置Photoshop路径
设置环境变量 PHOTOSHOP_PATH,指向你的Photoshop安装路径:
Windows PowerShell:
$env:PHOTOSHOP_PATH = "C:\Program Files\Adobe\Adobe Photoshop 2024\Photoshop.exe"
Windows CMD:
set PHOTOSHOP_PATH=C:\Program Files\Adobe\Adobe Photoshop 2024\Photoshop.exe
或者直接在代码中修改 index.js 中的默认路径。
3. 配置MCP客户端
在你的MCP配置文件(如 ~/.cursor/mcp.json 或 %APPDATA%\Cursor\mcp.json)中添加:
{
"mcpServers": {
"photoshop": {
"command": "node",
"args": [
"YourPath\\photoshop-mcp-server\\index.js"
],
"env": {
"PHOTOSHOP_PATH": "C:\\Program Files\\Adobe\\Adobe Photoshop 2024\\Photoshop.exe"
}
}
}
}
注意: 将路径替换为你实际的路径。
4. 重启MCP客户端
重启Cursor或其他MCP客户端以加载新的服务器配置。
使用方法
通过MCP客户端使用
配置完成后,你可以在AI助手中直接使用Photoshop功能,例如:
- "在Photoshop中创建一个1920x1080的文档"
- "打开图片文件 C:\Users...\image.jpg"
- "获取当前文档的所有图层"
- "隐藏名为'背景'的图层"
可用的工具(Tools)
- ps_open_document - 打开文档
- ps_create_document - 创建新文档
- ps_save_document - 保存文档
- ps_get_active_document - 获取活动文档信息
- ps_create_layer - 创建图层
- ps_get_layers - 获取所有图层
- ps_set_layer_visibility - 设置图层可见性
- ps_apply_filter - 应用滤镜
- ps_execute_script - 执行自定义ExtendScript脚本
工作原理
- MCP服务器:Node.js实现的MCP服务器,通过stdio与MCP客户端通信
- ExtendScript执行:服务器生成ExtendScript代码并通过Photoshop执行
- 结果返回:执行结果通过JSON格式返回给MCP客户端
高级配置
使用文件通信方式(推荐)
如果直接执行ExtendScript遇到问题,可以使用文件通信方式:
- 在Photoshop中安装并运行
ps_bridge.jsx脚本(作为事件监听器) - 服务器通过文件系统与Photoshop通信
- 更稳定可靠,但需要Photoshop保持运行
自定义ExtendScript
你可以通过 ps_execute_script 工具执行任何ExtendScript代码,实现自定义功能。
故障排除
问题:无法执行ExtendScript
解决方案:
- 确认Photoshop路径正确
- 检查Photoshop是否支持ExtendScript(CS6+)
- 尝试使用文件通信方式
问题:脚本执行超时
解决方案:
- 增加超时时间(在代码中修改
timeout参数) - 检查Photoshop是否响应
- 确保没有其他进程占用Photoshop
问题:权限错误
解决方案:
- 确保有写入
communication和ps_scripts目录的权限 - 以管理员身份运行(如果需要)
开发
添加新功能
- 在
ListToolsRequestSchema处理器中添加新工具定义 - 在
CallToolRequestSchema处理器中添加对应的处理逻辑 - 编写相应的ExtendScript代码
测试
npm test
许可证
MIT
贡献
欢迎提交Issue和Pull Request!
注意事项
- 此实现依赖于Photoshop的ExtendScript功能
- 某些操作可能需要Photoshop处于活动状态
- 建议在测试环境中先验证功能
- 生产环境使用前请充分测试