项目简介
After Effects MCP服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在实现通过标准化的MCP协议远程控制 Adobe After Effects 软件。该服务器允许用户通过 LLM 客户端向 After Effects 发送指令,执行各种操作,例如管理合成、图层、属性,以及应用效果等,从而实现自动化工作流程和更智能的视频编辑。
主要功能点
- 远程控制 After Effects: 通过 MCP 协议,实现对 After Effects 的远程操控,无需直接手动操作软件界面。
- 资源管理: 提供对 After Effects 项目中合成 (Compositions) 资源的访问和管理能力。
- 工具 (Tools) 扩展: 预置了丰富的工具集,允许 LLM 客户端调用 After Effects 的各项功能,包括:
- 获取项目信息、合成列表、图层信息
- 创建合成、文本图层、形状图层、纯色图层
- 设置图层属性、关键帧、表达式
- 应用效果和效果模板
- Prompt 模板: 内置了 Prompt 模板,方便用户通过自然语言指令快速执行常见 After Effects 任务。
- 自动化工作流: 结合 LLM 客户端,可以构建自动化的视频编辑和 motion graphics 工作流程。
- 跨平台: 服务器基于 Node.js 开发,理论上支持 Windows 和 macOS 平台。
安装步骤
-
克隆仓库
git clone https://github.com/WaliAhmed91/after-effects-mcp.git cd after-effects-mcp -
安装依赖
npm install -
安装 After Effects 桥接脚本 (Bridge Script)
- 运行以下命令安装桥接脚本到 After Effects 的 ScriptUI Panels 目录。可能需要管理员权限。
node install-bridge.js - 如果自动安装失败,请手动将 'build/scripts/mcp-bridge-auto.jsx' 文件复制到 After Effects 的 ScriptUI Panels 目录,通常路径为:
- Windows: 'C:\Program Files\Adobe\Adobe After Effects [版本]\Support Files\Scripts\ScriptUI Panels'
- macOS: '/Applications/Adobe After Effects [版本]/Scripts/ScriptUI Panels/'
- 运行以下命令安装桥接脚本到 After Effects 的 ScriptUI Panels 目录。可能需要管理员权限。
-
启动 MCP 服务器
node server.js服务器默认通过标准输入/输出 (stdio) 与 MCP 客户端通信。
-
配置 After Effects
- 启动 Adobe After Effects。
- 打开或创建一个项目。
- 启用脚本访问网络和写入文件权限:'编辑 (Edit) > 首选项 (Preferences) > 脚本和表达式 (Scripting & Expressions)',勾选 "允许脚本写入文件和访问网络 (Allow Scripts to Write Files and Access Network)"。
- 重启 After Effects 使设置生效。
- 打开 MCP Bridge Auto 面板:'窗口 (Window) > mcp-bridge-auto.jsx'。请务必保持此面板打开,它是 After Effects 与 MCP 服务器通信的桥梁。
服务器配置 (MCP 客户端)
MCP 客户端需要配置以下信息才能连接到 After Effects MCP 服务器。以下是一个 JSON 格式的配置示例,你需要将其填入 MCP 客户端的相应配置中。
{ "serverName": "AfterEffectsMCP", // 服务器名称,可以自定义 "command": "node", // 启动服务器的命令,这里使用 Node.js "args": [ // 启动服务器命令的参数 "server.js" // 运行 server.js 文件启动服务器 ], "transport": "stdio" // 通信协议,这里使用 stdio }
配置参数说明:
- 'serverName': MCP 服务器的名称,客户端用于标识和管理连接。可以自定义设置,例如 "AfterEffectsControl"。
- 'command': 启动 MCP 服务器的命令。由于服务器是 Node.js 应用,这里使用 'node' 命令来运行 JavaScript 文件。
- 'args': 启动命令的参数,以数组形式提供。这里指定运行 'server.js' 文件,即服务器的主程序入口。
- 'transport': MCP 客户端与服务器之间的通信协议。本项目使用 'stdio' (标准输入/输出) 协议进行通信,这是最简单的传输方式,适合本地或同机器部署。
注意:
- 确保你的 MCP 客户端支持 'stdio' 传输协议。
- MCP 客户端需要能够执行 'node server.js' 命令来启动服务器。请根据你的实际环境配置 Node.js 路径。
- 配置文件中的 'serverName' 可以自定义,但在 MCP 客户端中需要保持一致。
基本使用方法
- 启动 MCP 服务器和 After Effects Bridge 面板。
- 在 MCP 客户端中配置上述服务器信息,并连接到 "AfterEffectsMCP" 服务器。
- 通过 MCP 客户端向服务器发送 MCP 请求,例如:
- 使用 'run-script' 工具 调用预定义的 After Effects 脚本,执行特定操作,例如 'listCompositions' 获取合成列表。
- 使用 'get-results' 工具 获取上次脚本执行的结果。
- 使用 Prompt 模板,例如 'list-compositions',让 LLM 理解并执行列出合成的操作。
- 在 After Effects 中观察操作结果。
- 根据需要,可以通过 MCP 客户端进一步控制 After Effects,实现自动化工作流程。
示例:使用 'run-script' 工具获取合成列表
假设你使用 MCP 客户端发送以下 JSON-RPC 请求调用 'run-script' 工具:
{ "jsonrpc": "2.0", "method": "tool/run", "params": { "toolName": "run-script", "arguments": { "script": "listCompositions" } }, "id": "1" }
服务器会接收到请求,并将 'listCompositions' 脚本发送到 After Effects Bridge 面板执行。执行完成后,你可以使用 'get-results' 工具获取合成列表的 JSON 数据。
{ "jsonrpc": "2.0", "method": "tool/run", "params": { "toolName": "get-results", "arguments": {} }, "id": "2" }
服务器会返回包含合成列表 JSON 数据的响应。
总结
After Effects MCP 服务器提供了一个桥梁,使得 LLM 客户端可以通过标准化的 MCP 协议与 After Effects 进行交互,极大地扩展了 LLM 在视频内容创作领域的应用场景。通过预置的工具和 Prompt 模板,用户可以方便地控制 After Effects,实现自动化和智能化的视频编辑工作流程。
信息
分类
桌面与硬件