photoshop-mcp-server

luoxixuan/photoshop-mcp-server

3.2

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.

Tools
9
Resources
0
Prompts
0

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)

  1. ps_open_document - 打开文档
  2. ps_create_document - 创建新文档
  3. ps_save_document - 保存文档
  4. ps_get_active_document - 获取活动文档信息
  5. ps_create_layer - 创建图层
  6. ps_get_layers - 获取所有图层
  7. ps_set_layer_visibility - 设置图层可见性
  8. ps_apply_filter - 应用滤镜
  9. ps_execute_script - 执行自定义ExtendScript脚本

工作原理

  1. MCP服务器:Node.js实现的MCP服务器,通过stdio与MCP客户端通信
  2. ExtendScript执行:服务器生成ExtendScript代码并通过Photoshop执行
  3. 结果返回:执行结果通过JSON格式返回给MCP客户端

高级配置

使用文件通信方式(推荐)

如果直接执行ExtendScript遇到问题,可以使用文件通信方式:

  1. 在Photoshop中安装并运行 ps_bridge.jsx 脚本(作为事件监听器)
  2. 服务器通过文件系统与Photoshop通信
  3. 更稳定可靠,但需要Photoshop保持运行

自定义ExtendScript

你可以通过 ps_execute_script 工具执行任何ExtendScript代码,实现自定义功能。

故障排除

问题:无法执行ExtendScript

解决方案:

  1. 确认Photoshop路径正确
  2. 检查Photoshop是否支持ExtendScript(CS6+)
  3. 尝试使用文件通信方式

问题:脚本执行超时

解决方案:

  1. 增加超时时间(在代码中修改 timeout 参数)
  2. 检查Photoshop是否响应
  3. 确保没有其他进程占用Photoshop

问题:权限错误

解决方案:

  1. 确保有写入 communicationps_scripts 目录的权限
  2. 以管理员身份运行(如果需要)

开发

添加新功能

  1. ListToolsRequestSchema 处理器中添加新工具定义
  2. CallToolRequestSchema 处理器中添加对应的处理逻辑
  3. 编写相应的ExtendScript代码

测试

npm test

许可证

MIT

贡献

欢迎提交Issue和Pull Request!

注意事项

  • 此实现依赖于Photoshop的ExtendScript功能
  • 某些操作可能需要Photoshop处于活动状态
  • 建议在测试环境中先验证功能
  • 生产环境使用前请充分测试