项目简介

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 平台。

安装步骤

  1. 克隆仓库

    git clone https://github.com/WaliAhmed91/after-effects-mcp.git
    cd after-effects-mcp
  2. 安装依赖

    npm install
  3. 安装 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/'
  4. 启动 MCP 服务器

    node server.js

    服务器默认通过标准输入/输出 (stdio) 与 MCP 客户端通信。

  5. 配置 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 客户端中需要保持一致。

基本使用方法

  1. 启动 MCP 服务器和 After Effects Bridge 面板。
  2. 在 MCP 客户端中配置上述服务器信息,并连接到 "AfterEffectsMCP" 服务器。
  3. 通过 MCP 客户端向服务器发送 MCP 请求,例如:
    • 使用 'run-script' 工具 调用预定义的 After Effects 脚本,执行特定操作,例如 'listCompositions' 获取合成列表。
    • 使用 'get-results' 工具 获取上次脚本执行的结果。
    • 使用 Prompt 模板,例如 'list-compositions',让 LLM 理解并执行列出合成的操作。
  4. 在 After Effects 中观察操作结果。
  5. 根据需要,可以通过 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,实现自动化和智能化的视频编辑工作流程。

信息

分类

桌面与硬件