ae-motion
MCP server that lets Claude and other AI assistants build, animate, preview and render motion graphics in a live Adobe After Effects project: 65 tools for comps, layers, keyframes, text, masks, effects, layout, 3D cameras and lights, and aerender.
Install / Use
claude mcp add dha-aa -- npx -y github:dha-aa/ae-motionIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of ae-motion
ae-motion scores 83/100 on our quality scale, 3070th of 4,588 Development & Engineering skills we index.
Its MCP Server is 15 KB long, well organised into 17 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so ae-motion is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
ae-motion compared with similar skills
All 4 of these similar skills score higher than ae-motion; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| ae-motion (this skill)by dha-aa | 83 | 3 | today | MCP Server |
| Agent-Reachby Panniantong | 100 | 94.8k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.8k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.3k | today | CLAUDE.md |
| ai-job-searchby MadsLorentzen | 100 | 45.4k | 1d ago | CLAUDE.md |
Frequently asked questions
- How do I install ae-motion?
- Run
claude mcp add dha-aa -- npx -y github:dha-aa/ae-motion. The install tabs above show the steps for each supported agent. - Which AI agents does ae-motion work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is ae-motion safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is ae-motion still maintained?
- The repository was last updated today, so ae-motion is actively maintained.
Skill content
View source on GitHubAE Motion MCP
An MCP server that lets Claude (or any MCP client) build, animate, preview and render motion graphics in a live Adobe After Effects project.
Ask for "a 5 second lower third with an eased slide-in", and the model creates the comp, adds layers, sets keyframes, checks a preview frame and kicks off a render, all in the project you have open.
https://github.com/user-attachments/assets/4734d955-5c97-4644-a387-f05d4dc0e2f6
https://github.com/user-attachments/assets/c05af0f1-3f7e-4a31-84ef-cbc0fb87006d
Full Video: Watch here
MCP client --stdio--> MCP server (Node) --HTTP 127.0.0.1 + token--> CEP panel in AE --> ExtendScript
Contents
- Requirements
- Installation
- Verify it works
- What it can do
- Configuration
- Security
- Troubleshooting
- Updates
- Updating and uninstalling
- Documentation
Requirements
- After Effects 2022 (22.0) or later, on macOS or Windows
- Node.js 22.18 or later (the build and tests run TypeScript directly through Node's type stripping)
- An MCP client such as Claude Code or Claude Desktop
Installation
1. Get the code and run the installer
git clone https://github.com/dha-aa/ae-motion.git
cd ae-motion
macOS:
bash scripts/install.sh
Windows (PowerShell):
./scripts/install.ps1
The installer:
- Runs
npm install && npm run build, which produces the server (dist/) and the panel's host script (panel/host/host.jsx). - Copies
panel/into the CEP extensions folder:- macOS:
~/Library/Application Support/Adobe/CEP/extensions/com.aemotion.mcp - Windows:
%APPDATA%\Adobe\CEP\extensions\com.aemotion.mcp
- macOS:
- Enables unsigned CEP panels (
PlayerDebugMode, CSXS 9 to 12). This per-user setting is required for any panel that isn't signed by Adobe.
- In the repo folder run
npm install && npm run build. - Copy the contents of
panel/into the extensions folder above, in a folder namedcom.aemotion.mcp. - Enable unsigned panels.
- macOS:
for v in 9 10 11 12; do defaults write com.adobe.CSXS.$v PlayerDebugMode 1; done - Windows: for each of 9 to 12,
reg add "HKCU\Software\Adobe\CSXS.<v>" /v PlayerDebugMode /t REG_SZ /d 1 /f
- macOS:
2. Allow scripts in After Effects
Open the preferences, go to Scripting & Expressions, and enable Allow Scripts to Write Files and Access Network.
- macOS: After Effects > Settings
- Windows: Edit > Preferences
3. Open the panel
Restart After Effects, then open Window > Extensions > AE Motion MCP and keep it open. Docking it in a workspace makes it load on startup.
The panel starts a small server on 127.0.0.1 (port 47670, or the next free port up to 47690) and writes its port and a random token to ~/.ae-motion-mcp/bridge.json. The MCP server reads that file to find it. If the panel is closed, every tool returns BRIDGE_DOWN.
The panel also shows a token meter: an estimate of what ae-motion adds to the model's context this session (tool-result text and preview images), how big its tool definitions are per request, today's total, and the costliest tools. It counts only what ae-motion sends; your messages and the model's replies are on top (your client shows the full count).
4. Register the server with your client
Use the absolute path to dist/index.js.
Claude Code
claude mcp add ae-motion -- node /absolute/path/to/ae-motion/dist/index.js
Claude Desktop: add this to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\) and restart the app.
{
"mcpServers": {
"ae-motion": {
"command": "node",
"args": ["/absolute/path/to/ae-motion/dist/index.js"],
"env": { "AE_MCP_TOOLSETS": "core" }
}
}
}
AE_MCP_TOOLSETS: core starts Claude Desktop with the core tools only (about 7.5k tokens of tool definitions instead of 16k on every message); the model adds 3D, timeline, masks, design or scripting with load_tools when it needs them. Leave it out to load everything. Claude Code does not need it: it loads MCP tools only when they are used.
Other clients: any client that can launch a stdio MCP server works with node /absolute/path/to/ae-motion/dist/index.js.
To set environment variables, add an env object next to args in the JSON above, or pass --env KEY=value to claude mcp add (before the server name).
Verify it works
- The panel status line shows
127.0.0.1:<port>, and~/.ae-motion-mcp/bridge.jsonexists. - In your client, ask: "get the project info". You should get the project's comps, footage and the After Effects version.
- Then try something visible: "create a 1920x1080 comp at 30 fps, 5 seconds, with a white solid background, and show me frame 0".
If a call fails, the error includes a code and a hint. See Troubleshooting.
What it can do
77 tools in thirteen groups. The full reference, with behavior notes, is in docs/tools.md.
| Group | Tools |
|---|---|
| Inspect | get_project, get_comp, get_layer, list_properties, get_keyframes, find_effects |
| Project | open_project, save_project, create_comp, set_comp, import_footage, delete_item |
| Layers | add_layer, set_layer, link_layers, replace_source, delete_layer, duplicate_layer, reorder_layer, precompose |
| Timeline | split_layer, delete_range, insert_time, shift_layers, sequence_layers, align_to_markers, trim_comp, set_playhead, add_marker, update_marker, list_markers, delete_marker |
| Masks and mattes | add_mask, set_track_matte |
| Design | align_layers, set_anchor, add_shape, add_layer_style, text_to_shapes |
| Animate | set_property, set_keyframes, edit_keyframes, copy_animation, set_expression, add_property, apply_effect, edit_effect, apply_preset, set_text, get_text, find_fonts, stagger, add_shape_modifier |
| Motion | animate (named moves with springs and bounces), text_reveal, transition (wipe, bars, iris), review_motion (a motion critic) |
| 3D and camera | get_camera, set_camera, camera_move, camera_shake, camera_rig, set_3d, set_light, set_3d_view |
| Preview and render | preview_frame, render_start, render_status, render_cancel |
| Escape hatch | run_jsx (disabled unless AE_MCP_ALLOW_JSX=1) |
| Audio | beat_markers, audio_react, find_sound_cues, add_sfx, duck_music |
| Server | check_for_updates, batch (many steps in one call), load_tools (only with AE_MCP_TOOLSETS) |
Also: resources ae://project and ae://selection, and the prompt motion-guide (conventions and a recommended build loop).
Conventions: time in seconds, sizes in pixels, colors [r,g,b] floats 0 to 1, scale in percent. Comps and layers are addressed by the numeric ids tools return; properties by alias (position, scale, rotation, opacity, anchor) or an array of match names (list_properties discovers them). Every mutating call is one undo step in After Effects.
Example prompts: "orbit the camera 120 degrees around the product over 4 seconds", "cut 3s to 5s out of every layer and close the gap", "line up these five layers one after another with a 10 frame overlap", "make these cards 3D, rotate them 25 degrees and add a spot light with shadows", "center the title and give it a soft drop shadow", "space these icons evenly across the bottom".
Configuration
All settings are environment variables on the MCP server process. The one exception is AE_MCP_BRIDGE_FILE, which must also be set for the panel's environment if you change it.
| Variable | Effect |
|---|---|
| AE_MCP_ALLOWED_DIRS | Folders (separated by the OS path delimiter, : or ;) that tools may read from and write to. Default: your home folder. The temp folder is always allowed. |
| AE_MCP_ALLOW_JSX | Set to 1 to enable run_jsx. |
| AE_MCP_TOOLSETS | Load only some tool groups, to send the model fewer tool definitions (cheaper requests): a comma list of project, layers, timeline, masks, animate, motion, scene3d, design, output, audio, scripting, or core (= project, layers, animate, motion, output: about 7.5k tokens of definitions instead of 16k). inspect, check_for_updates and batch are always on, and load_tools adds the other groups during a session (the client is told to refresh its tool list; the new tools also run through batch). Default: all. |
| AE_AERENDER | Full path to aerender if auto-detection fails. |
| AE_MCP_BRIDGE_FILE | Override the bridge file (default ~/.ae-motion-mcp/bridge.json). |
| AE_MCP_UPDATE_CHECK | Set to 0 to turn off the daily check for new releases (see Updates). |
Security
- The panel only listens on
127.0.0.1, and every request needs the random token stored in the bridge file, which is created readable by your user only. - File paths passed to tools (
import_footage,apply_preset,save_project, render output) must be insideAE_MCP_ALLOWED_DIRS. run_jsxcan execute anything After Effects can, so it is off unless you opt in.- Installing the panel turns on
PlayerDebugModefor CEP, which lets this user load any unsigned panel. Turn it back off if you uninstall (see below).
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| BRIDGE_DOWN: Bridge file not found | The panel isn't open. Open Window > Extensions > AE Motion MCP and keep it open. |
| BRIDGE_DOWN: rejected the token (stale bridge file) | After Effects was restarted or the panel reloaded. Close and reopen the panel. |
| BRIDGE_DOWN: Cannot reach the After Effects panel | After Effects isn't running, or the panel is closed. Check the status line in the panel. |
| The panel isn't in the Window > Extensions menu | Re-run the installer, make sure PlayerDebugMode is set for your CSXS version, then fully restart After Effects. |
| Panel status shows "Cannot write bridge file" | ~/.ae-motion-mcp/ can't be created or written by your user. Fix the folder permissions, or point AE_MCP_BRIDGE_FILE somewhere writable (for both the panel and the server). |
| preview_frame or import_footage fail with a scripting permission error | Enable Allow Scripts to Write Files and Access Network in After Effects (see Installation). |
| FORBIDDEN: path outside the allowed folders | Add the folder to AE_MCP_ALLOWED_DIRS. |
| FORBIDDEN: run_jsx is disabled | Set AE_MCP_ALLOW_JSX=1 in the server's environment. |
| TIMEOUT | The command may still be running. Check the panel, inspect state, then retry. A modal dialog open in After Effects also blocks commands. |
| AE_ERROR: aerender not found | Set AE_AERENDER to the full path of the aerender executable. |
| BAD_ARGS: Project has never been saved | Save the project once (or call save_project with a path), then call render_start again. |
| EXISTS on render_start | The output file exists. Pass overwrite: true or choose another path. |
| UNSUPPORTED on preview_frame | Your After Effects version has no saveFrameToPng. Update After Effects. |
| AE_ERROR with hint "ExtendScript line N" | N is a line of the installed panel/host/host.jsx; the // ---- host/<file> ---- banners there show which source file it came from. Please open an issue. |
| Unknown file extension ".ts" during install or npm test | Your Node.js is older than 22.18, which cannot run .ts files directly. Update Node.js (node --version to check). |
| Changes to the server don't show up | Run
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
94.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.3kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
ai-job-search
45.4kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
