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.
README
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
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.