🚀 adb - mcp
adb - mcp 是一个概念验证项目,旨在通过 MCP 协议为大语言模型(LLMs)提供接口,从而为 Adobe 工具(Adobe Photoshop 和 Adobe Premiere)创建 AI 代理。
该项目未得到 Adobe 的认可或支持。
此项目已在 Anthropic 的 Claude 桌面版(Mac 和 Windows)上进行了测试,可让 Claude 控制 Adobe Photoshop 和 Adobe Premiere。理论上,它应能与任何支持 MCP 协议的 AI 应用程序/大语言模型配合使用,并且其架构设计支持多个 Adobe 应用程序。
示例用例包括:
- 逐步指导 Claude 在 Photoshop 中执行操作,提供基于对话的界面(如果您是 Photoshop 新手,这特别有用)。
- 给 Claude 分配任务(创建一张类似宝丽来照片的 Instagram 帖子、创建双重曝光效果),让它从头到尾完成任务,作为模板使用。
- 让 Claude 为您生成自定义的 Photoshop 教程,方法是创建一个示例文件,然后逐步说明如何重现。
- 作为 Photoshop 实用工具(让 Claude 将您所有的图层重命名为一致的格式)。
- 让 Claude 创建预填充了剪辑、过渡效果、特效和音频的 Premiere 新项目。
查看视频示例
目前,对于 Photoshop,AI 代理可以从 Photoshop 获取一些信息,从而检查其操作。然而,它无法自动查看其操作结果(即从 Photoshop 获取图像)。这应该是可行的,但尚未实现。在此期间,您可以将内容从 Photoshop 复制并粘贴到 Claude 桌面版中。
由于 Premiere 插件 API 当前的限制,与 Photoshop 代理相比,Premiere 代理的功能稍有限制。
🚀 快速开始
工作原理
概念验证的实现方式如下:
- 一个 MCP 服务器,为 AI/大语言模型提供访问 Adobe Photoshop 功能的接口。
- 一个基于 Node 的命令代理服务器,位于 MCP 服务器和 Adobe 应用程序插件之间。
- 一个 Adobe 应用程序(Photoshop 和 Premiere)插件,用于监听命令并驱动程序。
AI <-> MCP 服务器 <-> 命令代理服务器 <-> Photoshop / Premiere UXP 插件 <-> Photoshop / Premiere
需要代理服务器是因为基于 UXP 的 JavaScript 插件的公共 API 不允许它以服务器的身份监听套接字连接(MCP 服务器需要连接到该套接字),它只能作为客户端连接到套接字。
要求
要运行此项目,需要满足以下条件:
- 支持 MCP 协议的 AI 大语言模型(已在 Mac 和 Windows 上的 Claude 桌面版进行测试)。
- Python 3,用于运行本项目提供的 MCP 服务器。
- NodeJS,用于在 MCP 服务器和 Photoshop 之间提供代理。
- Adobe UXP 开发工具(可通过 Creative Cloud 获取),用于安装和调试连接到代理的 Photoshop / Premiere 插件。
- 安装了 MCP 插件的 Adobe Photoshop(26.0 或更高版本)或 Adobe Premiere 测试版(25.3 版本 46 或更高版本)。
安装指南
本项目是使用 Claude 桌面版进行开发和测试的,假设您也将使用它。使用其他支持 MCP 的 AI 应用程序应该也是可行的。
下载 adp - mcp
下载 adp - mcp 项目,并将其解压到您想要保存的位置。
Claude 桌面版
下载并安装 Claude 桌面版。安装完成后,启动它以确保一切正常。
MCP 服务器
确保您的系统已安装并配置了 Python3(在系统的 PATH 中)。这里假设您使用 [uv](https://github.com/astral - sh/uv) 进行包管理,并且已经在系统上进行了设置和配置。
切换到 mcp 目录并启动开发服务器:
Photoshop
$cd mcp
$uv run mcp dev ps - mcp.py
Premiere
$cd mcp
$uv run mcp dev pr - mcp.py
现在,您可以在 http://localhost:5173 上加载开发界面,点击“连接”,然后在“资源”下点击“config://get_instructions”。这应该会列出一堆 JSON 信息。如果列出了,说明一切都已正常工作和配置。
现在我们可以将其安装到 Claude 桌面版中。
Photoshop
uv run mcp install --with fonttools --with python - socketio --with mcp --with requests --with websocket - client ps - mcp.py
Premiere
uv run mcp install --with fonttools --with python - socketio --with mcp --with requests --with websocket - client pr - mcp.py
如果您的 Claude 桌面版正在运行,请关闭它(确保它没有在后台运行),然后重新启动。如果它没有错误地启动,那么您就可以继续了。
此时,您还需要安装其他一些东西。
命令代理 Node 服务器
确保您的系统已安装并配置了 NodeJS(在系统的 PATH 中)。
切换到 adb - proxy - socket 目录。安装依赖项,然后启动服务器:
$cd adb - proxy - socket
$npm install
$node proxy.js
您应该会看到一条类似于“Photoshop MCP 命令代理服务器正在 ws://localhost:3001 上运行”的消息。
Claude 要与插件进行通信,此代理必须正在运行。
Adobe 应用程序插件
Photoshop
在 Photoshop 中启用开发者模式:
- 启动 Photoshop(26.0 或更高版本)。
- 选择“设置 > 插件”,并勾选“启用开发者模式”。
- 重启 Photoshop。
从 Creative Cloud 桌面版安装并启动“UXP 开发工具”。出现提示时,启用开发者模式。
安装插件:
- 选择“文件 > 添加插件”。
- 导航到 uxp/ps 目录,并选择 manifest.json 文件。
- 插件列出后,点击“加载”按钮。
这应该会在 Photoshop 中加载插件。如果您没有看到它,可以通过 Photoshop 的插件菜单打开它。
Premiere
- 启动 Premiere Pro 测试版(25.3)。
从 Creative Cloud 桌面版安装并启动“UXP 开发工具”。出现提示时,启用开发者模式。
安装插件:
- 选择“文件 > 添加插件”。
- 导航到 uxp/pr 目录,并选择 manifest.json 文件。
- 插件列出后,点击“加载”按钮。
这应该会在 Premiere 中加载插件。如果您没有看到它,可以通过 Premiere 的插件菜单打开它。
使用 Claude 与 Adobe 应用程序
启动以下程序:
- Claude 桌面版。
- adb - proxy - socket Node 服务器。
- 启动 Photoshop 和/或 Premiere。
Photoshop
- 启动 UXP 开发工具,点击“Photoshop MCP 代理”的“加载”按钮。
- 在 Photoshop 中,如果 MCP 代理面板未打开,选择“插件 > Photoshop MCP 代理 > Photoshop MCP 代理”打开它。
- 在 Photoshop 的代理面板中点击“连接”。
现在您可以切换到 Claude 桌面版。在开始会话之前,您应该加载指令资源,这将为 Claude 提供指导和信息。方法是点击套接字图标(从 MCP 附加),然后选择“选择集成” > “Adobe Photoshop” > “config://get_instructions”。
Premiere
- 启动 UXP 开发工具,点击“Premiere MCP 代理”的“加载”按钮。
- 在 Premiere 中,如果 MCP 代理面板未打开,选择“窗口 > UXP 插件 > Premiere MCP 代理 > Premiere MCP 代理”打开它。
- 在 Photoshop 的代理面板中点击“连接”。
现在您可以切换到 Claude 桌面版。在开始会话之前,您应该加载指令资源,这将为 Claude 提供指导和信息。方法是点击套接字图标(从 MCP 附加),然后选择“选择集成” > “Adobe Premiere” > “config://get_instructions”。
注意,每次重启 Photoshop 和 Premiere 时,您都必须通过 UCP 开发应用程序重新加载插件。
设置会话
在聊天输入字段中,点击“从 MCP 附加”按钮(看起来像两个套接字)。然后点击“选择集成”,在“Adobe Photoshop”或“Adobe Premiere”下选择 config://get_instructions。这将把指令加载到提示中。将其提交给 Claude,处理完成后,您就可以开始了。
提示
随时可以提出以下问题:
Can you list what apis / functions are available for working with Photoshop / Premiere?
它将列出所有可用的功能。
在提出提示时,您无需引用 API,只需使用自然语言给出指令即可。
例如:
Create a new Photoshop file with a blue background, that is 1080 width by 720 height at 300 dpi
Create a new Photoshop file for an instagram post
Create a double exposure image in Photoshop of a woman and a forest
Generate an image of a forest, and then add a clipping mask to only show the center in a circle
Make something cool with photoshop
Add cross fade transitions between all of the clips on the timeline in Premiere
使用建议
一般建议
- 提出提示时,要求 AI 思考并检查其操作。
- 您给予的指导越多(例如“考虑使用剪贴蒙版”),结果就越好。
- 模型越先进,或者为模型提供的资源越多,AI 的表现就越好、越有创意。
- 一般来说,在 AI 工作时,不要在 Adobe 应用程序中进行更改。如果您确实进行了更改,请务必告知 AI。
- AI 会从错误中学习,但开始新聊天时会丢失记忆。您可以指导它以不同的方式做事,然后让它重新开始,它应该会遵循新的方法。
目前,AI 可以访问 Photoshop / Premiere 功能的一部分。一般来说,我们的方法是提供底层工具,让 AI 具备完成更复杂任务的基础。
Photoshop 插件的功能比 Premiere 更多。
默认情况下,AI 不能直接访问文件,不过,如果您安装了 Claude 文件系统 MCP 服务器,它就可以访问文件并将其加载到 Photoshop / Premiere 中(打开文件并嵌入图像)。
Photoshop
- 您可以将图像从 Photoshop 复制并粘贴到 AI 中,以便它更好地了解情况。
- 目前,AI 在正确调整文本大小和位置方面存在问题,因此为它提供使用的字体大小指南,以及告知它相对于画布对齐文本会有所帮助。
- AI 可以访问系统上的所有 Postscript 字体。如果您想指定一种字体,必须使用其 Postscript 名称(您可以向 AI 询问)。
- 您可以向 AI 征求建议。有时它会提出非常有用的想法和反馈。
Premiere
故障排除
MCP 在 Claude 中无法运行
如果在运行 Claude 时出现 MCP 无法正常工作的错误,您可能需要编辑您的 Claude 配置文件,并为 UV 命令指定绝对路径。更多信息[点击这里](https://github.com/mikechambers/adb - mcp/issues/5#issuecomment - 2829817624)。
插件无法安装或连接
- 尝试加载插件之前,确保应用程序正在运行。
- 在 UXP 开发工具中,点击加载按钮旁边的调试按钮,查看是否有错误。
- 确保 Node / 代理服务器正在运行。如果插件连接成功,您应该会看到类似以下的输出:
adb - mcp Command proxy server running on ws://localhost:3001
User connected: Ud6L4CjMWGAeofYAAAAB
Client Ud6L4CjMWGAeofYAAAAB registered for application: photoshop
- 当您按下连接按钮时,如果仍然显示“连接”,则表示要么出现了错误,要么无法连接到代理服务器。
AI 客户端内的错误
- 如果 AI 端出现故障,它通常会告知您问题所在。如果您点击命令/代码框,可以查看错误信息。
- 如果出现问题,首先要检查的是确保 Photoshop / Premiere 中的插件已连接,并且 Node 代理服务器正在运行。
- 如果响应时间变得非常慢,请检查 AI 服务器是否负载过高,并且确保当前对话中没有过多文本(有时重新开始新聊天可以加快速度,但您会丢失上下文)。
如果您仍然遇到问题,请在 Discord 上发布[问题](https://github.com/mikechambers/adb - mcp/issues)。请尽可能提供详细信息(操作系统、应用程序、应用程序版本以及调试信息或错误)。
🔧 技术细节
添加新功能相对容易,需要以下步骤:
- 在 mcp/ps - mcp.py / mcp/pr - mcp.py 文件中添加 API 和参数(供 AI 使用)。
- 在 uxp/ps/commands/index.js / uxp/pr/commands/index.js 文件中实现 API。
待完成
💬 问题、功能请求和反馈
如果您有任何问题、功能请求、需要帮助或只是想聊天,请加入 Discord。
您也可以在 [问题页面](https://github.com/mikechambers/adb - mcp/issues) 上记录错误和功能请求。
📄 许可证
本项目根据 MIT 许可证 发布。
