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
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
- Clone and install:
git clone https://github.com/TheLlamainator/after-effects-mcp.git
cd after-effects-mcp
npm install
- Build:
npm run build
- Install bridge script:
npm run install-bridge
- 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:
- Restart VS Code.
- Open After Effects and keep
Window -> mcp-bridge-auto.jsxopen. - Call a simple tool like
get-helporrun-scriptwithgetProjectInfo.
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:
- Fully restart Claude Desktop.
- Open AE bridge panel.
- Verify with
tools/listin 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:
- Restart Claude Code or reload MCP servers.
- Ensure After Effects is open with
mcp-bridge-auto.jsxpanel running. - Test with
get-resultsafter 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
- Start your MCP client (it starts this server).
- Keep AE bridge panel open.
- Call tools.
- If response says queued, call
get-resultsafter 1-3 seconds.
Note: some AE operations finish slightly after tool timeout windows; get-results usually contains the final state.
Tool Catalog
General
run-scriptget-resultsget-help
Composition and Layer Utilities
create-compositioncreate-adjustment-layercenter-layersget-layer-clip-frames
Effects and Presets
apply-effectadd-any-effectmcp_aftereffects_applyEffectapply-effect-templatelist-layer-effectslist-available-effectsset-effect-propertyset-effect-keyframeremove-effectapply-presetlist-presetssearch-presets
Markers and Audio
add-markeradd-markers-bulkset-audio-levelsget-audio-infoanalyze-audio-waveform
Diagnostics and Helpers
test-animationrun-bridge-testmcp_aftereffects_get_effects_help
Audio to Marker Workflow
get-audio-infoon target layer.- Copy
sourceFilePath. analyze-audio-waveformwith optionalnumPoints.- Convert
peakTimestomarkers[]. add-markers-bulk.
Project Layout
src/index.ts- MCP server and tool definitionssrc/scripts/mcp-bridge-auto.jsx- AE bridge panelinstall-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-resultsafter 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
Chhart MCP
Chhart MCP is a tool that enables AI assistants to generate instant, shareable flowcharts and Sankey diagrams directly in chat,
Chatvolt Agent Server
A simple notes system with resources, tools, and prompts.
Linear
Query and search for issues in Linear, a project management tool.
n8n MCP Server
Automate workflows with n8n, a powerful workflow automation tool.
UpTier
Desktop task manager with clean To Do-style UI and 25+ MCP tools for prioritization, goal tracking, and multi-profile workflows.
ferc-compliance-codes
The Industry Standard MCP Server for Federal Energy Regulatory Commission (FERC) compliance. Provides AI agents with structured access to 18 CFR regulations, EQR filing codes, and reliability standards.
Home Assistant MCP Server
An MCP server for interacting with Home Assistant. Requires HA_URL and HA_TOKEN environment variables.
OmniFocus MCP Server
Integrate OmniFocus with Claude Desktop for AI-powered task management and weekly reviews.
Todoist MCP
Manage Todoist tasks and projects using the Todoist CLI.
Zephyr Scale
Manage Zephyr Scale test cases through the Atlassian REST API.