After Effects MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@After Effects MCP make a 10-second bouncing ball animation in a new 1080p comp"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
After Effects MCP
Let Claude and other AI agents work in Adobe After Effects: build comps, animate with keyframes and expressions, lay out and warp type, look at frames, and render, all through the Model Context Protocol. It ships with skills that turn a short brief into a finished, sound-designed video.
What's in the box
The MCP server
115+ commands: compositions, layers, shapes, text, masks, effects, cameras, keyframes, expressions, markers, rendering, plus procedural and layout tools.
Results come straight back. Each command runs over a local socket and returns its result in the same call;
render-framereturns a frame as an image the agent can look at.Many agent sessions, one After Effects. The first server becomes a hub and the others route through it; if it closes, another takes over.
Renders that don't freeze AE. Full renders run in a separate process with
aerender.Safe timeouts. A command that can't reach AE in time (a dialog is open, a render is running) is dropped and never runs later by surprise.
The skills (skills/): Claude Code skills that make finished videos with the server.
Skill | Makes |
| A 10–30 s one-take story: a hero element bounces through a product's workflow with real physics and a following camera |
| A 12–20 s hype promo: beat-locked kinetic type, a shape that carries every transition |
| A clean 45–90 s product demo with the product's UI rebuilt as vector layers |
| Motion-graphic B-roll for a talking-head video, timed to the speaker's words |
| A measured sound pass: cues from comp markers, beat grid checked, CC0 sounds, mixed to −16 LUFS |
| Subject cut-outs from footage with SAM 2, as After Effects track mattes |
| The foundation they share: a tested expression library (springs, ballistic hops, squash and stretch, camera follow, typing) and a build, check and render workflow |
Related MCP server: aftr
Quick start
You need After Effects 2022 or later (developed on 2026, macOS), Node.js 18+, and an MCP client such as Claude Code or Claude Desktop.
1. Install the server and the After Effects panel
On macOS double-click Install AE MCP (Mac).command, on Windows Install AE MCP (Windows).bat. It builds the server, copies the bridge panel into After Effects (asking for your admin password if needed) and registers the server as after-effects in Claude Desktop. Or by hand:
git clone https://github.com/pouulll/after-effects-mcp-extended.git
cd after-effects-mcp-extended
npm install # also builds
npm run install-bridge # copies the panel into After Effectsand register it with your client, for example in Claude Code:
claude mcp add after-effects -- node "$PWD/build/index.js"2. Open the panel in After Effects
Enable Settings → Scripting & Expressions → Allow Scripts to Write Files and Access Network (Windows: Edit → Preferences), restart After Effects, and open Window → mcp-bridge-auto.jsx. It should read Connected to MCP server (port 8790).
3. Install the skills (optional)
cp -R skills/ae-* ~/.claude/skills/Then ask your agent something like "Make a 12-second engaging explainer for my app", or just "run bridge-status" to check the connection.
How it works
Claude session A ── MCP server (hub) ◄──────── TCP 127.0.0.1:8790 ──────── After Effects
Claude session B ── MCP server (follower) ──┘ (bridge panel)After Effects doesn't let scripts listen on sockets, so the bridge panel inside AE connects out to the MCP server and polls it for work every 40–120 ms. Every agent session starts its own copy of the server; the first becomes the hub (it owns the panel connection and a single command queue), later ones become followers that forward their calls through it, and if the hub's session closes a follower takes over within about a second. Every command carries a deadline, so nothing runs late after its caller has given up.
Tools
Tool | What it does |
| Runs any of the 115+ commands and returns its result |
|
|
| Renders one frame and returns it as an image. Areas with no layer are transparent |
| Renders the render queue in the background with |
| Follows or stops a background render |
| Typed shortcut for creating a comp |
| Usage guide for agents |
run-script { script: "createTextLayer", parameters: { compName: "Intro", text: "Hello", fontSize: 96 } }Command highlights
Area | Commands |
Project |
|
Comps |
|
Layers | text, shape, solid, null, camera and light layers; |
Properties |
|
Animation |
|
Expressions |
|
Text layout |
|
Effects & text |
|
Procedural |
|
Rendering |
|
Efficiency |
|
Escape hatch |
|
The full reference is in CAPABILITIES.md. Every command that changes the project is one undo step in After Effects.
Text layout
These commands measure what is actually on screen, so parenting, scale and rotation are handled.
layoutTextStacksizes a title, subtitle and body on a modular type scale, stacks them with consistent gaps and scales the whole block to fit the area (title-safe by default).fitTextToBoxfinds the font size at which text fits a box, the comp or another layer, then aligns it inside.alignLayers,distributeLayersandsetAnchorPointwork like AE's Align panel, plus safe areas, boxes and target layers.warpTextapplies Photoshop-style warps (arc, bulge, flag, wave, rise, …). It first wraps the text in a precomp sized to the text, because AE's warp effects otherwise bend the whole comp-sized text layer and skew the type. The text stays editable.textOnPathputs text on an arc, circle, wave or your own curve with AE's Path Options, so glyphs stay sharp and upright.
Background rendering
start-render hands the render queue to aerender, which renders the saved project in its own After Effects process while yours stays usable (pass saveProject: true to save first). Follow it with render-status. inProcess: true renders inside AE instead, queueInAME: true sends the queue to Media Encoder, and AE_RENDER_PATH points at aerender if it isn't found automatically.
Example
examples/relay-engaging/ is the video at the top: one build.jsx that builds the whole project (rebuild it in seconds through evalScript), the expressions it uses, and what was measured along the way.
Companion tools
tools/frame_tools.py makes contact sheets, frame metrics, visual diffs and GIF previews from rendered frames (needs Pillow). tools/audio_tools.py extracts amplitude envelopes, onsets and BPM from audio, ready for applyValueCurve and bpmMarkers (needs numpy and ffmpeg).
Troubleshooting
Symptom | What to check |
| Is the panel open, and is Accept commands checked? Click Reconnect to MCP Server in the panel |
| AE is rendering or showing a dialog. Close the dialog; queued commands continue |
Panel says "Waiting for MCP server…" | No MCP client is running the server. Start Claude or your client |
Panel can't connect at all | Check Allow Scripts to Write Files and Access Network. Run |
Port 8790 is taken | The server falls back to 8791–8794 and writes the port to |
Security
The server only listens on 127.0.0.1, but anything on your machine that can reach that port can run commands in After Effects, including evalScript, which runs arbitrary ExtendScript. Use it on a machine you trust.
Development
npm run build # bundles src/index.ts with esbuild and copies src/scripts → build/scriptsPath | Contents |
| MCP server: tools, bridge hub/follower, aerender jobs |
| The After Effects panel (ExtendScript, ES3) |
| Hot-reloadable command pack, synced to |
| Pack commands that |
| The Claude Code skills |
| Installers |
Panel changes need a reinstall (npm run install-bridge) and an After Effects restart; commands.jsx changes only need a server restart.
Credits
Started as a fork of Dakkshin/after-effects-mcp; the socket bridge, multi-session hub, command pack, background rendering and most of the server have since been rewritten, and the original layer and composition commands still live in the panel. The skills adapt the video styles of Bart's motion-graphics skills (MIT; see skills/LICENSE-motion-graphics.md); the sound-pass method is by Vox (@Voxyz_ai).
License
MIT. See LICENSE.
Available Tools
8 toolsbridge-statusA
Check that After Effects and the MCP Bridge panel are reachable, and measure round-trip latency.
Inputs: no named parameters.
cancel-renderB
Stop a background render started by start-render.
Inputs: jobId (required).
create-compositionA
Create a new composition in After Effects with specified parameters
Inputs: name (required), width (required), height (required), duration, +3 more.
get-helpA
Get help on using the After Effects MCP integration
Inputs: no named parameters.
render-frameA
Render a single frame of a composition and return it as a PNG image, so results can be verified visually.
Inputs: time, compId, method, compName, +1 more.
render-statusA
Progress of background renders started by start-render (or run-script startRender) from this session.
Inputs: jobId.
run-scriptC
Run a command in After Effects and return its result. Executes synchronously over a local socket to the MCP Bridge panel.
Inputs: script (required), parameters.
start-renderA
Render the render queue in the background with aerender (a separate AE process), so After Effects and the bridge stay responsive. Renders the SAVED project file. Returns a jobId for render-status.
Inputs: itemIndices, saveProject.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Most tools have clearly distinct purposes: connectivity, scripting, single-frame rendering, background render lifecycle, composition creation, and help. The main overlap is that run-script is a generic escape hatch that could technically duplicate create-composition and render operations, though descriptions clarify when to use the specialized tools.
Tool names consistently use kebab-case and are mostly action-oriented verb_noun or verb_resource patterns (run-script, render-frame, start-render, cancel-render, create-composition, get-help). bridge-status and render-status are noun-status forms, a minor but visible deviation from the dominant verb-first convention.
Eight tools is well-scoped for an After Effects bridge server, covering execution, diagnostics, rendering, composition creation, and help without bloat. Each tool earns its place, and the render lifecycle is split into appropriate start/status/cancel operations.
The surface covers the core integration lifecycle: checking the bridge, executing arbitrary AE commands, visually verifying a frame, creating compositions, and managing background renders. It lacks high-level tools for common project/composition/layer CRUD, but run-script provides an escape hatch for those operations.
Related MCP Connectors
Video production studio for AI agents: AI media, motion graphics as code, timeline and export.
AI video editor your agent can drive: plan scenes, edit a multi-track timeline, and render MP4s.
One sentence to a finished animation: your AI writes motion graphics as code and checks real frames.
The agentic video editor for ChatGPT and Claude. Ask in your chat and it cuts, captions, adds music, titles and motion graphics on a real timeline you can open and adjust.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to control Adobe After Effects for project inspection, composition creation, and layer manipulation via a hardened bridge panel.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control Adobe After Effects to create videos programmatically, with commands for comps, layers, effects, and rendering.13 npm27MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to operate Adobe After Effects with the dexterity of an editor: reading projects, creating and rigging layers, setting real velocity curves, animating text, building native SVG-based shapes, applying effects, expressions, masks, and viewing render snapshots to verify results.1718 npm1MIT
- AlicenseAqualityCmaintenanceEnables AI agents to connect to Adobe After Effects locally, inspecting projects, comps, and layers, discovering and executing a catalog of operations, rendering frames, and saving projects, with on-demand skill-based guidance.121MIT