After Effects MCP Server

After Effects MCP Server

Enables AI assistants to control Adobe After Effects for composition, layer, effect, preset, marker, and audio automation through a bridge panel.

Category
Visit Server

README

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

Area Capabilities
Composition Create, inspect project/compositions, get clip frame ranges
Layers Text/shape/solid/adjustment creation, transform/property updates, centering
Animation Layer keyframes, expressions, effect keyframes with graph controls
Effects Apply by name/matchName, list layer effects recursively, edit any effect property, remove effects
Presets Apply .ffx, list/search preset libraries
Markers Add single marker (comp/layer), add markers in bulk
Audio Set 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured