Server · #307 trending MCP repo · ↗ +8 stars this week
After Effects MCP
Engine-Room-Games/after-effects-mcp
Control Adobe After Effects with AI — describe the animation you want and it gets built: layers, keyframes, effects, expressions and text, all editable afterwards.
- Stars
- 49
- This week
- +8
- Forks
- 2
- Open issues
- 1
- Skills inside
- 4
Get started
Add it to your agent
claude mcp add --scope user after-effects -- npx -y @engine-room/after-effects-mcpRun in your terminal. Add --scope project to share it with your team through .mcp.json.
codex mcp add after-effects -- npx -y @engine-room/after-effects-mcpSaved to ~/.codex/config.toml.
{
"mcpServers": {
"after-effects": {
"command": "npx",
"args": [
"-y",
"@engine-room/after-effects-mcp"
]
}
}
}Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project).
{
"servers": {
"after-effects": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@engine-room/after-effects-mcp"
]
}
}
}Add to .vscode/mcp.json, then start it from the MCP view in Copilot Chat.
gemini mcp add after-effects npx -y @engine-room/after-effects-mcpSaved to .gemini/settings.json.
Inside this repo
4 skills
.claude/skills/orchestrateae-setupDiagnose and repair the connection between the AE MCP tools and After Effects — panel not installed, AE not running, Adobe debug preference off, bridge not responding, bridge on the wrong port, CEP refusing the panel's signature. Load when an After Effects tool reports it cannot reach AE, or when thplugin/skills/ae-setupafter-effectsHow to drive Adobe After Effects well through the AE MCP tools — orienting in a project, bounding every read, verifying a write with a diff, screenshots as a one-off diagnostic with their cost in tokens, write ordering, and the five bridge failures whose remedies contradict each other. Load wheneverplugin/skills/after-effectsstyle-guideHelp a motion designer capture their house style — palette, type, motion and layout — into the house-style.md file that sits next to their After Effects project and shapes everything built afterwards. Load when the user asks to create, edit or review their style guide, when they say work does not loplugin/skills/style-guideDocumentation
README

After Effects MCP
Control Adobe After Effects with AI.
Describe the animation you want and it gets built in your project — layers, keyframes, easing, effects, expressions and text. All of it editable afterwards, exactly like work you made by hand.
What you can do with it
Talk to your AI assistant the way you'd brief a colleague:
Build a lower third that says Chapter One, sliding in from the left.
Make the logo pop in with a little overshoot, then hold for two seconds.
Every layer in this comp should ease in 4 frames later than the one above it.
Render the main comp into the renders folder.
It reads your comp before it changes anything, makes the change as ordinary After Effects work — keyframes you can drag, effects you can dial in — and can take a screenshot to check its own result. It can also learn your house style, export Motion Graphics templates for Premiere, place sound cues, and render in the background.
Six scenes from one sequence, each in a different style — every layer, keyframe and effect built through these tools:
Title card — engine dark |
KPI grid — editorial |
NAV curve — CRT terminal |
Allocation — brutalist |
Monthly P&L — aurora glass |
Outro — minimal print |
What you need
- After Effects on macOS or Windows. Tested on After Effects 2026. The panel accepts 2022 or later, but older versions haven't been tested yet.
- An AI app that runs tools on your own computer. The tools talk to After Effects directly on your machine, so they work in any app that can start an MCP server locally: Claude Desktop, Claude Code, Cursor, VS Code, Codex, Windsurf and the like.
Claude in a web browser (claude.ai) and ChatGPT — on the web or in its app — can't use them. Those connect only to tools hosted on the internet, which have no way to reach the After Effects on your computer.
Getting started
Three steps, and you only do the first two once.
1. Install the tools
Pick the one that matches your app.
Claude Desktop — the easy one. Download the .mcpb file from the latest release and open it. Claude Desktop does the rest; there's nothing else to install.
Claude Code
Either install the plugin, which also adds skills and slash commands:
/plugin marketplace add Engine-Room-Games/after-effects-mcp
/plugin install after-effects@engine-room
or add just the server (needs Node 22 or later):
claude mcp add --scope user after-effects -- npx -y @engine-room/after-effects-mcp
--scope user makes it available in every folder you open Claude Code in, not only the current one.
Cursor, Windsurf and other apps (needs Node 22 or later)
Add this to your app's MCP configuration, then restart the app. In Cursor that's ~/.cursor/mcp.json (or .cursor/mcp.json inside one project); in Windsurf, open its MCP settings and add it there.
{
"mcpServers": {
"after-effects": {
"command": "npx",
"args": ["-y", "@engine-room/after-effects-mcp"]
}
}
}
VS Code (needs Node 22 or later)
Put this in .vscode/mcp.json, then restart VS Code:
{
"servers": {
"after-effects": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@engine-room/after-effects-mcp"]
}
}
}
Codex (needs Node 22 or later)
Add this to ~/.codex/config.toml:
[mcp_servers.after-effects]
command = "npx"
args = ["-y", "@engine-room/after-effects-mcp"]
Any app, without Node — a standalone download
From the latest release, download the zip for your machine — macos-arm64 (Apple silicon), macos-x64 (Intel Mac) or windows-x64 — unzip it anywhere, and point your app at the executable inside:
{
"mcpServers": {
"after-effects": {
"command": "/Users/you/Applications/after-effects-mcp-0.5.2-macos-arm64/after-effects-mcp"
}
}
}
The unzipped folder is named after-effects-mcp-<version>-<machine>, so use the name yours actually has. On Windows the executable is after-effects-mcp.exe. Keep the unzipped folder together — the After Effects panel lives next to the executable. The macOS builds are signed and notarized; the Windows build is unsigned, so SmartScreen may warn the first time you run it.
2. Set up After Effects
Quit After Effects if it's open, then ask your assistant:
Set up After Effects.
It installs a small panel into After Effects, which is how the tools talk to it. When it's done, open After Effects and you're ready.
After Effects must be closed while the panel installs. If it's open, the installation won't work — quit After Effects first, then install, then reopen it. The same goes for updating the panel later.
You never have to open the panel yourself; it starts whenever After Effects does.
3. Start animating
Open your project and say what you want. Two prompts are worth knowing, in any app that supports MCP prompts:
| Prompt | What it does |
|---|---|
/init-after-effects |
Walks you through setup and offers to capture your style |
/create-style-guide |
Teaches it what your work should look like |
One thing to know: while a dialog box is open in After Effects, nothing else can happen there, so the tools wait and eventually say the panel didn't answer in time. Close the dialog and the work finishes on its own — don't ask for it again, or it gets done twice.
Your house style
Ask for a style guide and point at a comp you already like. Your colours, fonts, sizes and timing — including how your existing animation eases and staggers — get read off it and saved as house-style.md next to your .aep. Everything built afterwards follows it. It's plain markdown, travels with the project, and works in every app. (The project needs to have been saved once, so there's a folder to put it in.)
The best style guides are specific — #131521 at 92% opacity, not "dark and clean" — and the most useful lines are the rules: "never put text directly on footage", "keep total runtime under 8 seconds".
You can also ask it to set up a project folder for a video, series or client: a brief your assistant reads, a renders/ folder, and whichever rules file your app reads (AGENTS.md, CLAUDE.md, .cursor/rules/ and so on). From a terminal it's npx @engine-room/after-effects-mcp init my-video. Updating the tools never touches either file.
Updating
Two pieces update separately, and the panel inside After Effects does not update itself:
- The tools — reinstall the
.mcpb, download the new standalone build, or just restart your app if you usenpx. On the Claude Code plugin, run/plugin marketplace update engine-roomand/plugin update after-effects@engine-room, then restart Claude Code. - The panel — quit After Effects, ask your assistant to update the After Effects panel, then reopen After Effects.
Forget the second step and nothing breaks quietly: your next request stops with a plain explanation of what to do.
Afterwards, run /absorb-release in your project folder (other apps list it as absorb-release in their prompt menu). It tidies up any workarounds earlier sessions wrote into your project notes that the new version makes unnecessary.
Safety and privacy
- Only your own computer can talk to After Effects. The panel listens on
127.0.0.1— your machine, never your network — and every request must carry a secret key the panel makes fresh each time After Effects starts. Without it, nothing runs. - Changes are ordinary undo steps. Cmd/Ctrl+Z works on what your assistant did, just like on your own edits. In apps that support it, deleting a comp, purging unused footage or reverting a comp asks you first.
- What your assistant sees goes to the AI model you use — layer names, text, keyframes, file paths in your project, and screenshots of your comps. If a project is confidential, treat a session with it like pasting it into a chat.
Two optional switches limit what it can do. Both are off unless you turn them on.
| Switch | What it does |
|---|---|
| Read-only mode | Your assistant can look at your project — list comps and layers, read keyframes, take screenshots — but every tool that changes something is removed. |
| Turn off running scripts | Removes run_jsx, the tool that lets your assistant write and run its own After Effects scripts. Everything else still works, rendering included; only jobs no other tool covers (like replacing or relinking footage) become impossible. |
How to turn them on
Claude Desktop: Settings → Extensions → After Effects, then tick Read-only mode or Turn off running scripts (run_jsx).
Everywhere else: add the setting to the configuration from step 1, then restart your app. Use either one on its own; read-only mode already includes the second.
| App | How |
|---|---|
Cursor, Windsurf and other mcpServers apps |
Add "env": { "AE_MCP_READ_ONLY": "1", "AE_MCP_DISABLE_RUN_JSX": "1" } next to "command" and "args". |
| VS Code | The same "env" block, inside the after-effects entry under "servers" in .vscode/mcp.json. |
| Codex | Add a section to ~/.codex/config.toml: [mcp_servers.after-effects.env]AE_MCP_READ_ONLY = "1" |
| Claude Code | Re-add the server with the setting: claude mcp remove after-effects, then claude mcp add --scope user --env AE_MCP_READ_ONLY=1 after-effects -- npx -y @engine-room/after-effects-mcp |
For example, in an mcpServers app:
{
"mcpServers": {
"after-effects": {
"command": "npx",
"args": ["-y", "@engine-room/after-effects-mcp"],
"env": {
"AE_MCP_READ_ONLY": "1",
"AE_MCP_DISABLE_RUN_JSX": "1"
}
}
}
}
A switched-off tool simply isn't there, so your assistant won't try it and will tell you when a request needs it. The switches limit this connection only — they don't lock After Effects, and another assistant connected without them still has every tool.
If something goes wrong
Ask your assistant to check the After Effects setup. It finds which part is broken and tells you what to do, in plain words.
For specific error messages, longer time limits, the issue notebook and how to report a bug, see Troubleshooting. Bug reports are welcome in the issues — macOS is the more tested of the two platforms, so Windows reports especially.
Good to know
- What's not covered: replacing or relinking footage (importing it is covered), and After Effects' own preferences.
- Screenshots are for spot checks. Alpha edges can be slightly imperfect on some comps.
- A long loop in a custom script freezes After Effects until it finishes. Bulk work goes through
run_batch, which doesn't. - The panel is signed, so After Effects loads it without Adobe's
PlayerDebugModesetting. Setup still turns that setting on as a fallback; it applies to your whole user account and lets Adobe apps load any unsigned panel. A panel installed from a git checkout is unsigned and does need it. - Removing it all: see Uninstalling, which also covers turning the debug setting back off.
- Every tool, listed: see the tools — 89 of them, plus the extras some apps show, like an interactive comp timeline.
For developers
git clone https://github.com/Engine-Room-Games/after-effects-mcp.git
cd after-effects-mcp
npm install && npm run build
npm run install:panel
npm run doctor
make help lists the rest (make jsx hot-reloads the ExtendScript bundle into a running After Effects; make release builds, signs and publishes). Start with CLAUDE.md for the architecture, the conventions and how to add a tool, and docs/ for the fragile areas and the live verification recipes. Agent guidance is written once in packages/mcp-server/src/{guides,prompts}/*.md and generated everywhere else — never edit the generated copies. Forks that build their own binaries get unsigned ones; macOS will refuse them until they're signed with your own Developer ID.
Built by Engine Room · free and open source — if it saves you time, sponsor its development
Releases