trackmcp
Back to directory
TheLlamainator

after-effects-mcp

View on GitHub

MCP Server for Adobe After Effects. Enables remote control (compositions, text, shapes, solids, properties) via the Model Context Protocol using ExtendScript.

16 stars JavaScriptOthers Updated Aug 27, 2026

Documentation

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:

bash
git clone https://github.com/TheLlamainator/after-effects-mcp.git
cd after-effects-mcp
npm install

2. Build:

bash
npm run build

3. Install bridge script:

bash
npm run install-bridge

4. 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`.

json
{
  "mcpServers": {
    "AfterEffectsMCP": {
      "command": "node",
      "args": ["/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: `["/build/index.js"]`

Example snippet many extensions accept:

json
{
  "mcpServers": {
    "AfterEffectsMCP": {
      "command": "node",
      "args": ["C:\\Users\\\\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:

json
{
  "mcpServers": {
    "AfterEffectsMCP": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": [
        "C:\\Users\\\\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:

json
{
  "AfterEffectsMCP": {
    "command": "node",
    "args": ["/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

mermaid
flowchart LR
    A[AI ClientVS Code / Claude Desktop / Claude Code] --> B[MCP Serverbuild/index.js]
    B --> C[Bridge Filesae_command.json / ae_mcp_result.json]
    C --> D[After Effects Bridge Panelmcp-bridge-auto.jsx]
    D --> E[Adobe After Effects]
    E --> D
    D --> C
    C --> B
    B --> A

Command Flow Graph

mermaid
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:

bash
npm run build

Install bridge:

bash
npm run install-bridge

Run server directly:

bash
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

Frequently asked questions

What is after-effects-mcp?

after-effects-mcp is MCP Server for Adobe After Effects. Enables remote control (compositions, text, shapes, solids, properties) via the Model Context Protocol using ExtendScript.

How do I install after-effects-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is after-effects-mcp open source?

Yes — it is hosted on GitHub at https://github.com/TheLlamainator/after-effects-mcp and has 16 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP