After Effects MCP

After Effects MCP is a full-featured automation bridge that connects AI clients (like VS Code, Claude Desktop, and Claude Code) to Adobe After Effects through MCP, enabling scripted control of compositions, layers, effects, keyframes/graph easing, presets, markers, audio levels, waveform analysis, and effect discovery via a live bridge panel.

After Effects MCP Server

Node.js After%20Effects Build License: MIT

Control Adobe After Effects through MCP using a bridge panel running inside AE. This project is optimized for practical automation workflows: effects, presets, keyframing, markers, and audio-aware tooling.


Highlights

  • Full composition and layer automation.
  • Deep effect inspection and property editing.
  • Advanced effect graph controls (temporal + spatial).
  • Preset search/list/apply workflows.
  • Marker and audio automation, including waveform-to-marker pipelines.
  • Installed effect catalog discovery (list-available-effects).

Feature Matrix

AreaCapabilities
CompositionCreate, inspect project/compositions, get clip frame ranges
LayersText/shape/solid/adjustment creation, transform/property updates, centering
AnimationLayer keyframes, expressions, effect keyframes with graph controls
EffectsApply by name/matchName, list layer effects recursively, edit any effect property, remove effects
PresetsApply .ffx, list/search preset libraries
MarkersAdd single marker (comp/layer), add markers in bulk
AudioSet channel levels, inspect audio metadata, analyze WAV waveform, detect peaks

Requirements

  • Adobe After Effects
  • Node.js 18+
  • npm

In After Effects, enable:

  • Edit -> Preferences -> Scripting & Expressions -> Allow Scripts to Write Files and Access Network

Quick Start

  1. Clone and install:
git clone https://github.com/TheLlamainator/after-effects-mcp.git
cd after-effects-mcp
npm install
  1. Build:
npm run build
  1. Install bridge script:
npm run install-bridge
  1. Restart After Effects and open:
  • Window -> mcp-bridge-auto.jsx
  • Keep this panel open during MCP usage.

MCP Client Config

Use an absolute path to build/index.js.

{
  "mcpServers": {
    "AfterEffectsMCP": {
      "command": "node",
      "args": ["<absolute-path-to-repo>/build/index.js"]
    }
  }
}

Add to VS Code

If you use an MCP-capable VS Code extension, add this server in that extension's MCP server settings.

Use:

  • command: node
  • args: ["<absolute-path-to-repo>/build/index.js"]

Example snippet many extensions accept:

{
  "mcpServers": {
    "AfterEffectsMCP": {
      "command": "node",
      "args": ["C:\\Users\\<you>\\Documents\\Projects\\AEMCP\\build\\index.js"]
    }
  }
}

Then:

  1. Restart VS Code.
  2. Open After Effects and keep Window -> mcp-bridge-auto.jsx open.
  3. Call a simple tool like get-help or run-script with getProjectInfo.

Add to Claude Desktop

Edit Claude Desktop config and add the MCP server entry.

Typical Windows config location:

  • %APPDATA%\\Claude\\claude_desktop_config.json

Example:

{
  "mcpServers": {
    "AfterEffectsMCP": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": [
        "C:\\Users\\<you>\\Documents\\Projects\\AEMCP\\build\\index.js"
      ]
    }
  }
}

After saving:

  1. Fully restart Claude Desktop.
  2. Open AE bridge panel.
  3. Verify with tools/list in logs or by calling a known tool.

Add to Claude Code

Configure the same server command/args in your Claude Code MCP configuration.

Use this server definition:

{
  "AfterEffectsMCP": {
    "command": "node",
    "args": ["<absolute-path-to-repo>/build/index.js"]
  }
}

Then:

  1. Restart Claude Code or reload MCP servers.
  2. Ensure After Effects is open with mcp-bridge-auto.jsx panel running.
  3. Test with get-results after a queued command.

Architecture Graph

flowchart LR
    A[AI Client<br/>VS Code / Claude Desktop / Claude Code] --> B[MCP Server<br/>build/index.js]
    B --> C[Bridge Files<br/>ae_command.json / ae_mcp_result.json]
    C --> D[After Effects Bridge Panel<br/>mcp-bridge-auto.jsx]
    D --> E[Adobe After Effects]
    E --> D
    D --> C
    C --> B
    B --> A

Command Flow Graph

sequenceDiagram
    participant Client as MCP Client
    participant Server as MCP Server
    participant Bridge as AE Bridge Panel
    participant AE as After Effects

    Client->>Server: tools/call (example: apply-effect)
    Server->>Server: write ae_command.json
    Server-->>Client: queued response (or waits)
    Bridge->>Bridge: poll command file
    Bridge->>AE: execute command
    AE-->>Bridge: result/error
    Bridge->>Bridge: write ae_mcp_result.json
    Client->>Server: get-results
    Server-->>Client: final result JSON

Typical Runtime Flow

  1. Start your MCP client (it starts this server).
  2. Keep AE bridge panel open.
  3. Call tools.
  4. If response says queued, call get-results after 1-3 seconds.

Note: some AE operations finish slightly after tool timeout windows; get-results usually contains the final state.

Tool Catalog

General

  • run-script
  • get-results
  • get-help

Composition and Layer Utilities

  • create-composition
  • create-adjustment-layer
  • center-layers
  • get-layer-clip-frames

Effects and Presets

  • apply-effect
  • add-any-effect
  • mcp_aftereffects_applyEffect
  • apply-effect-template
  • list-layer-effects
  • list-available-effects
  • set-effect-property
  • set-effect-keyframe
  • remove-effect
  • apply-preset
  • list-presets
  • search-presets

Markers and Audio

  • add-marker
  • add-markers-bulk
  • set-audio-levels
  • get-audio-info
  • analyze-audio-waveform

Diagnostics and Helpers

  • test-animation
  • run-bridge-test
  • mcp_aftereffects_get_effects_help

Audio to Marker Workflow

  1. get-audio-info on target layer.
  2. Copy sourceFilePath.
  3. analyze-audio-waveform with optional numPoints.
  4. Convert peakTimes to markers[].
  5. add-markers-bulk.

Project Layout

  • src/index.ts - MCP server and tool definitions
  • src/scripts/mcp-bridge-auto.jsx - AE bridge panel
  • install-bridge.js - bridge installer

Development

Build:

npm run build

Install bridge:

npm run install-bridge

Run server directly:

node build/index.js

Troubleshooting

Server does not start

  • Run npm run build.
  • Check MCP logs for startup exceptions (for example duplicate tool registration).

Commands queue but do not complete

  • Ensure AE bridge panel is open.
  • Confirm AE scripting/network permission is enabled.
  • Retry and call get-results after a short delay.

Results appear stale

  • Reopen bridge panel.
  • Send a new command and then call get-results.

Program Files install fails

  • Expected without elevated permissions.
  • User AppData script paths are usually sufficient.

License

MIT. See LICENSE.

Inspo

https://github.com/Dakkshin/after-effects-mcp

I took the base code from them but added a lot

Related Servers