after-effects-mcp

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Basarisiz
  • child_process — Shell command execution capability in .github/workflows/ci.yml
  • fs module — File system access in .github/workflows/ci.yml
  • child_process — Shell command execution capability in .github/workflows/release.yml
  • fs.rmSync — Destructive file system operation in packages/ae-panel/client/main.js
  • os.homedir — User home directory access in packages/ae-panel/client/main.js
  • fs module — File system access in packages/ae-panel/client/main.js
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Control Adobe After Effects with AI — describe the animation you want and it gets built: layers, keyframes, effects, expressions and text, all editable afterwards.

README.md
Engine Room — After Effects MCP

After Effects MCP

Control Adobe After Effects with AI.

Describe the animation you want — a lower third, a logo reveal, an animated counter — 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.

npm
CI
License: MIT
After Effects 2026
Platforms
MCP

Works with Claude, Cursor, VS Code, Codex, Windsurf and any other MCP client.


✨ What it builds

Six scenes from one quarterly-report sequence, each in a different visual style. Every layer, keyframe and effect below was built through these tools.

Dark title card: Global Macro Fund, Q3 FY2026 performance review, with a rule that draws in under the heading
Title card — engine dark
Editorial KPI grid: four figures counting up, with a risk-budget bar filling to 68 percent
KPI grid — editorial
Amber CRT terminal: a NAV curve drawing on across twelve months with a typed command line above it
NAV curve — CRT terminal
Brutalist allocation breakdown: a stacked colour bar splitting into six labelled sector cards
Allocation — brutalist
Aurora glass monthly profit and loss: twelve bars growing from a zero line over a soft gradient background
Monthly P&L — aurora glass
Minimal print outro on off-white: a single large net return figure resolving into place
Outro — minimal print

🚀 Getting started

Three steps, and you only do the first two once.

You'll need: After Effects 2026, on macOS or Windows.

1️⃣ Install

Pick the row that matches how you work, and open it for the steps.

🖥️ Claude Desktop — one click, nothing else to install

Download the latest .mcpb file and open it. Claude Desktop takes it from there — no terminal, nothing else to install.

⚡ Cursor, VS Code, Claude Code, Codex, Windsurf — if you have Node 22+

Add this to your client's MCP configuration:

{
  "mcpServers": {
    "after-effects": {
      "command": "npx",
      "args": ["-y", "@engine-room/after-effects-mcp"]
    }
  }
}

VS Code uses a slightly different shape — put this in .vscode/mcp.json:

{
  "servers": {
    "after-effects": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@engine-room/after-effects-mcp"]
    }
  }
}

Restart your client afterwards.

📦 Any client, without Node — a standalone download

Download the build for your machine from the latest release, unzip it anywhere, and point your client at the executable inside:

{
  "mcpServers": {
    "after-effects": {
      "command": "/Users/you/Applications/after-effects-mcp/after-effects-mcp"
    }
  }
}

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.

🔌 Claude Code plugin — adds skills and slash commands

This repository doubles as a plugin marketplace:

/plugin marketplace add Engine-Room-Games/after-effects-mcp
/plugin install after-effects@engine-room

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. Open After Effects when it's finished and you're ready to go. 🎉

Prefer to leave After Effects open? That works too — you'll just be asked to restart it at the end.

3️⃣ Start animating

Open the project you want to work on, then say what you want:

Build a lower third that says Chapter One, sliding in from the left.

Your assistant reads the current state of your comp, makes the change, and can screenshot the result to check its own work. Everything it builds is ordinary, editable After Effects work — keyframes you can drag, effects you can dial in.

Two commands worth knowing, in any client that supports MCP prompts:

Command 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

🎨 Your house style

Ask for a style guide and point at a comp you already like. Your colours, fonts, sizes and timing get read off it and saved as house-style.md next to your After Effects project — and everything built afterwards follows it.

It sits beside the .aep, so it travels with the project and works in every client. It's plain markdown, so you can edit it in any text editor.

⚠️ Your project needs to have been saved at least once, or there's no folder to put it in.

What goes in it, and project folders

A style guide that works is specific: #131521 at 92% opacity, not "dark and clean". The most useful lines are the prohibitions — "never put text directly on footage", "keep total runtime under 8 seconds". Ask for a style guide and you'll be walked through it.

Separately, "set up a project folder for me" creates a folder for one video, series or client, with a brief your assistant reads and a renders/ directory. It writes whichever rules file your client actually reads — AGENTS.md, CLAUDE.md, .cursor/rules/, and so on. From a terminal, the same thing is:

npx @engine-room/after-effects-mcp init my-video

Updating the tools never touches either file.


🔄 Updating

Two pieces update separately, and the After Effects panel does not update itself.

  1. The tools — reinstall the .mcpb, download the new standalone build, or just restart your client if you're on npx.

  2. The panel — quit After Effects, then say:

    Update the After Effects panel.

Reopen After Effects and it's running the new version.

If you forget the second step, nothing breaks silently: the next thing you ask for stops with a plain explanation, and your assistant walks you through it.


🧰 All 70 tools
Group Tools
Comps (7) list_comps, get_comp, get_comp_tree, create_comp, set_comp, delete_comp, set_active_comp
Layers (15) list_layers, get_layer_full, create_{text,shape,solid,null,adjustment,precomp,camera,light}_layer, duplicate_layer, delete_layer, set_layer, parent_layer, reorder_layer
Transforms (1) set_transform — position, scale, rotation, anchor, opacity; 2D and 3D; optionally keyframed
Keyframes (6) add_keyframe, remove_keyframe, get_keyframes, set_interpolation, set_temporal_ease, set_spatial_tangents
Expressions (4) get_expression, set_expression, toggle_expression, clear_expression
Effects (6) list_effects, add_effect, remove_effect, set_effect_param, set_effect_enabled, list_available_effects
Text (2) set_text, add_text_animator
Shapes (3) set_shape_path, add_shape_content, set_shape_property
Masks (3) add_mask, set_mask, remove_mask
Markers (2) add_marker, remove_marker
Vision (2) screenshot_frame, screenshot_layer
Batch (1) run_batch
Footage (2) import_footage, create_footage_layer
Motion Graphics (1) export_mogrt — export a comp as a .mogrt template for Premiere
Explore (2) get_project_summary, find_layers
Raw (1) run_jsx
House style (2) get_house_style, set_house_style
Jobs (3) await_job, get_job, cancel_job
Setup (3) check_setup, setup_panel, init_project
Guidance (1) ae_guide
Issues (3) list_known_issues, log_issue, mark_issue_reported

A few behave differently from the rest:

  • get_layer_full returns a layer's transforms with their keyframes and expressions, every effect with every parameter, masks, markers and visible bounds — in one call.
  • run_batch runs many operations in a single pass and counts as one undo step. Long batches stream progress.
  • screenshot_frame and screenshot_layer are for occasional checks, not for reviewing motion frame by frame. On large comps, downsample: 2 renders at half resolution.
  • import_footage checks what After Effects actually produced. An SVG whose viewBox asks for one shape and imports at another is a known After Effects bug that renders as nothing at all, with no error — so the import is refused and explained rather than left to fail silently later.
  • export_mogrt writes a Motion Graphics template for Premiere. It suppresses the modal dialogs that would otherwise sit there waiting for a click, and can set the thumbnail from any frame you choose, rather than the first one — which is usually black if the comp fades up.
  • run_jsx runs arbitrary ExtendScript for anything the other tools don't cover.
  • ae_guide is how the assistant reads its own working guidance — the same text this server publishes as MCP resources and ships to Claude Code as skills.
🩺 When something goes wrong

Start here: ask your assistant to check the After Effects setup. It reports which part is broken and what to do about it.

Symptom Cause and fix
"Cannot reach the After Effects panel" After Effects isn't running, or the panel isn't installed. Ask it to set up After Effects; if AE was closed, just open it afterwards.
"The panel did not answer within 120 seconds" Not the same thing. After Effects is busy — usually a long script, or a dialog waiting for a click behind another window. Wait a minute and check again before restarting anything; it normally comes back on its own.
"The After Effects panel is out of date" The tools were updated but the panel wasn't. Ask it to update the panel, then restart AE.
"…updated on disk, but After Effects is still running the previous version" The update landed; AE just hasn't restarted. Quit and reopen it. Updating again won't help.
Panel never loads, but setup looks correct On macOS, reboot once. Some builds cache the Adobe setting until a restart.
A panel answers, but the setup check reports none installed An older install is still serving. Remove it from the CEP extensions folder, reinstall, restart AE.
"No project folder to write to" Your client didn't tell the server where it's working. Say which folder you want.
Style guide can't be saved The After Effects project has never been saved. Save it, then try again.
You need the panel's own log In After Effects: Window → Extensions → AE MCP Bridge.

If your work legitimately takes longer. A heavy render or a deliberately long script can pass the limit honestly. Set AE_MCP_OP_TIMEOUT_MS in the server's environment to a larger number of milliseconds and it applies to every operation:

{
  "mcpServers": {
    "after-effects": {
      "command": "npx",
      "args": ["-y", "@engine-room/after-effects-mcp"],
      "env": { "AE_MCP_OP_TIMEOUT_MS": "600000" }
    }
  }
}

The issue notebook. These tools have rough edges. When your assistant hits one and works out a way around it, it writes the problem and the fix into .ae-mcp/issues/ in your project folder — plain text files you can read or delete. The next session reads that notebook before guessing. The folder keeps itself out of version control.

Reporting a bug. If the problem looks like ours rather than yours, you'll be offered the chance to pass it on, or you can start it yourself with /report-ae-issue. It writes the report, shows it to you, and only sends it once you say yes. Nothing about your own work — comp names, file paths, clients — goes into it. Sending needs the GitHub CLI; without it you get a prefilled link to click.

💻 Platforms and limitations

macOS and Windows — the only two platforms After Effects runs on. Two things differ, and both are handled for you:

macOS Windows
Panel location ~/Library/Application Support/Adobe/CEP/extensions %APPDATA%\Adobe\CEP\extensions
Unsigned-panel setting defaults preference HKCU\Software\Adobe\CSXS.* registry value

macOS is the more exercised of the two; issue reports are welcome.

Signing. The macOS binaries in each release are signed and notarized by Engine Room, so they run without warnings. The Windows binary is unsigned — SmartScreen may warn on first run — because that needs a separate certificate. If you fork this project and build your own binaries, they'll be unsigned and Gatekeeper will refuse to launch them until you sign with your own Developer ID. The npx path has no such constraint.

Limitations.

  • The After Effects panel is unsigned, so loading it requires Adobe's PlayerDebugMode, which the setup step enables. This is Adobe's documented path for unsigned extensions.
  • saveFrameToPng is community-known rather than officially documented. It works, but alpha edges can be imperfect on some comps.
  • A long synchronous loop in run_jsx will freeze the After Effects UI. Use run_batch for bulk work.
  • Not covered: the render queue, footage import and replacement, and application preferences.
🛠️ Development
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
Command Purpose
make build Compile TypeScript, the guides and the ExtendScript bundle
make jsx Rebuild bundle.jsx and hot-reload it into a running After Effects
make watch TypeScript watch mode
make doctor Diagnose the install
make verify Build, check version strings and generated files agree, dry-run the package
make artifacts Build the .mcpb and standalone binaries without releasing
make release Bump the patch version, build and sign every artifact, tag, and publish
make release 1.1.0 The same with an explicit version

Adding a tool takes three edits: a zod schema in packages/shared/src/schemas.ts, a handler in the matching packages/jsx/*.jsx module, and a description in packages/mcp-server/src/tools/descriptions.ts. Registration is automatic.

Guidance prose is written once in packages/mcp-server/src/{guides,prompts}/*.md and generated into the MCP resources, the ae_guide tool, the server's instructions, and the Claude Code skills and commands. Never edit the generated copies.

Releases are cut from a Mac with a Developer ID certificate; see scripts/sign-and-notarize.sh for the environment it expects. See CLAUDE.md for the architecture, the ExtendScript conventions, and the known-fragile areas.


Built by Engine Room

Yorumlar (0)

Sonuc bulunamadi