after-effects-mcp
MCP Server for Adobe After Effects. Enables remote control (compositions, text, shapes, solids, properties) via the Model Context Protocol using ExtendScript.
Documentation
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
1. Clone and install:
git clone https://github.com/TheLlamainator/after-effects-mcp.git
cd after-effects-mcp
npm install2. Build:
npm run build3. Install bridge script:
npm run install-bridge4. 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": ["/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:
{
"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:
{
"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:
{
"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
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 --> ACommand 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 JSONTypical 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 buildInstall bridge:
npm run install-bridgeRun server directly:
node build/index.jsTroubleshooting
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
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Use any LLMs (Large Language Models) for Deep Research. Support SSE API and MCP server.
Enhanced MCP server for interactive user feedback and command execution in AI-assisted development, featuring dual interface support (Web UI and Desktop Application) with intelligent environment detection and cross-platform compatibility.
A powerful Zotero AI and MCP plugin with ChatGPT, Gemini 3.7, Claude Fable 5, Claude Opus 5, DeepSeek V4, Grok, OpenRouter, Kimi k3, GLM 5.3, SiliconFlow, GPT-oss, Gemma 4, Qwen 3.8
Connect your browser to AI models. Just use Dia on Chrome, Arc or Firefox.
文颜 MCP Server 可以让 AI 自动将 Markdown 文章排版后发布至微信公众号。
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP