AE-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., "@AE-MCP Create a lower third with the name 'Jane Doe' using the modern style"
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.
Overview
AE-MCP is a comprehensive MCP server that enables AI assistants like Claude to directly control Adobe After Effects. It provides 70+ tools covering the full motion graphics workflow — from creating compositions to applying professional effects and expressions.
Key Features
Feature | Description |
70+ Tools | Complete After Effects automation |
Animation Presets | Spring physics, bounce, elastic, slide, fade |
Expression Library | 20+ pre-built expressions (wiggle, loop, physics) |
Effect Templates | One-click professional looks (cinematic, VHS, neon) |
Motion Graphics | Lower thirds, title cards, transitions, logo reveals |
Reliable Architecture | File-based communication for stability |
Related MCP server: after-effects-mcp
Requirements
Adobe After Effects 2024 or later
Node.js 18+
macOS or Windows
Installation
Step 1: Install the MCP Server
git clone https://github.com/anthropics/ae-mcp.git
cd ae-mcp
npm install
npm run buildStep 2: Install the CEP Extension
macOS:
./scripts/install-cep.shWindows:
scripts\install-cep.batStep 3: Configure Your AI Assistant
Add to your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ae-mcp": {
"command": "node",
"args": ["/path/to/ae-mcp/dist/index.js"]
}
}
}Add to your MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"ae-mcp": {
"command": "node",
"args": ["/path/to/ae-mcp/dist/index.js"]
}
}
}Bonus: This repo includes a Claude Code Skill for enhanced After Effects automation. Copy the skill files to your Claude Code skills directory:
cp -r SKILL/* ~/.claude/skills/The Claude Code skill provides specialized knowledge about After Effects workflows, property formats, and best practices. See SKILL/SKILL.md for details.
Step 4: Launch After Effects
Start After Effects 2024+
Open Window > Extensions > AE-MCP
The panel will auto-start and begin listening for commands
Tool Categories
Project & Composition
create_project · open_project · save_project · close_project · get_project_info · import_footage · create_composition · modify_composition · duplicate_composition · delete_composition · list_compositions · get_composition_info
Layer Creation
add_solid_layer · add_text_layer · add_text_layer_advanced · add_shape_layer · add_null_layer · add_adjustment_layer · add_camera_layer · add_light_layer · add_av_layer · precompose_layers · modify_layer · delete_layer
Animation & Keyframing
set_keyframe · set_keyframe_advanced · apply_easy_ease · set_temporal_ease · offset_keyframes · scale_keyframe_timing · reverse_keyframes · copy_keyframes · get_keyframes
Expressions
set_expression · get_expression · remove_expression · enable_expression · add_expression_control · apply_expression_template · link_properties
Effects
apply_effect · apply_effect_template · modify_effect_properties · remove_effect · reorder_effects · copy_effects · list_effects
Motion Graphics Templates
Tool | Styles |
| modern, corporate, news, minimal, social |
| cinematic, documentary, social, minimal |
| wipe, dissolve, push, slide, zoom |
| fade, scale, slide, spin, glitch, particle |
| typewriter, fadeIn, scaleIn, slideIn, randomize, wave |
Asset Management
import_folder · replace_footage · organize_project_items · find_missing_footage · collect_files · reduce_project
Markers & Timeline
add_composition_marker · add_layer_marker · get_markers · delete_marker · set_work_area
Quick Examples
Create an animated intro
Create a 1920x1080 composition called "Intro" at 30fps, 5 seconds.
Add a text layer saying "Welcome" centered on screen.
Apply a slideInUp animation with easy ease.
Add a subtle glow effect.Build a lower third
Create a modern lower third:
- Name: "Sarah Chen"
- Title: "Lead Designer"
- Blue primary color
- Animate in and out
- 5 second durationAdd physics-based motion
Add a bounce expression to the position of "Logo" layer.
Set amplitude to 0.15, frequency to 4, decay to 6.Animation Presets
Spring Physics (Remotion-inspired)
Preset | Description |
| Subtle, smooth animations |
| Balanced spring motion |
| Playful, bouncy animations |
| Quick, responsive animations |
| Heavy, deliberate motion |
| High energy bounces |
| Instant, responsive feel |
Motion Presets
Fade: fadeIn · fadeOut
Slide: slideInLeft · slideInRight · slideInUp · slideInDown · slideOutLeft · slideOutRight · slideOutUp · slideOutDown
Scale: scaleIn · scaleOut · scaleInBounce
Physics: bounce · elastic · overshoot
Rotate: spinIn · spinOut
Expression Templates
Category | Templates |
Wiggle |
|
Loop |
|
Physics |
|
Linking |
|
Time |
|
Effect Templates
Category | Effects |
Blur |
|
Color |
|
Stylistic |
|
Creative |
|
Architecture
ae-mcp/
├── src/ # TypeScript source
│ ├── index.ts # Entry point
│ ├── stdio-server.ts # MCP server (70+ tools)
│ ├── ae-integration/
│ │ ├── file-communicator.ts # File-based IPC
│ │ └── generators/ # ES3 script generators
│ └── presets/ # Animation, expression, effect presets
├── cep-extension/ # After Effects extension
│ ├── CSXS/manifest.xml
│ ├── jsx/host.jsx # ExtendScript host
│ └── js/main.js # Panel JavaScript
├── SKILL/ # Claude Code skill
│ ├── SKILL.md # Skill definition
│ └── examples.md # Animation examples
└── scripts/ # Installation scriptsCommunication Flow
AI Assistant (Claude)
↓
MCP Server (Node.js)
↓ Write JSON command
~/Documents/ae-mcp-commands/
↓ Poll every 100ms
CEP Extension
↓ Execute script
After Effects DOM
↓ Write response
*.json.responseTroubleshooting
Verify debug mode is enabled (the install script does this automatically)
Restart After Effects completely
Check extension location:
macOS:
~/Library/Application Support/Adobe/CEP/extensions/ae-mcpWindows:
%APPDATA%\Adobe\CEP\extensions\ae-mcp
Ensure the AE-MCP panel is visible in After Effects
Check
~/Documents/ae-mcp-commands/for command filesLook at the panel's log for errors
Open the ExtendScript Toolkit or console in After Effects
Verify composition/layer references exist
Check for ES3 compatibility issues (no arrow functions, template literals, etc.)
Contributing
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
License
MIT
Available Tools
68 toolsadd_adjustment_layerD
Add an adjustment layer
Inputs: name, compId, compName.
add_av_layerC
Add a footage item as a layer
Inputs: compId, itemId, compName, itemName, +1 more.
add_camera_layerC
Add a camera layer
Inputs: name, type, zoom, compId, +1 more.
add_composition_markerC
Add a marker to a composition
Inputs: time (required), url, compId, chapter, +5 more.
add_expression_controlC
Add an expression control effect to a layer
Inputs: controlName (required), controlType (required), compId, compName, +3 more.
add_layer_markerC
Add a marker to a layer
Inputs: time (required), compId, comment, compName, +3 more.
add_light_layerD
Add a light layer
Inputs: name, type, color, compId, +2 more.
add_null_layerC
Add a null object layer
Inputs: name, compId, compName.
add_shape_layerB
Add a shape layer to a composition
Inputs: name, size, shape, compId, +8 more.
add_solid_layerA
Add a solid color layer to a composition
Inputs: name (required), color (required), width, compId, +4 more.
add_text_layerC
Add a text layer to a composition
Inputs: text (required), name, color, compId, +5 more.
add_text_layer_advancedC
Add a text layer with advanced styling options
Inputs: text (required), name, color, compId, +11 more.
apply_easy_easeC
Apply easy ease to keyframes
Inputs: property (required), type, compId, compName, +3 more.
apply_effectC
Apply an effect to a layer
Inputs: effect (required), compId, compName, layerName, +2 more.
apply_effect_templateD
Apply a pre-configured effect template
Inputs: template (required), compId, compName, intensity, +3 more.
apply_expression_templateC
Apply a pre-built expression template
Inputs: property (required), template (required), compId, params, +3 more.
close_projectC
Close the current project
Inputs: save.
collect_filesC
Collect project files to a folder
Inputs: outputPath (required), includeFonts, includeFootage.
copy_effectsC
Copy effects from one layer to another
Inputs: compId, compName, effectIndices, sourceLayerName, +3 more.
copy_keyframesC
Copy keyframes from one property to another
Inputs: sourceProperty (required), compId, compName, timeOffset, +5 more.
create_compositionC
Create a new composition
Inputs: name (required), width (required), height (required), duration (required), +2 more.
create_logo_revealC
Create an animated logo reveal
Inputs: style, compId, compName, duration, +3 more.
create_lower_thirdC
Create a lower third graphic with animated text
Inputs: name (required), style (required), title (required), compId, +9 more.
create_projectC
Create a new After Effects project
Inputs: name.
create_text_animatorC
Add a text animator to a text layer
Inputs: animatorType (required), delay, compId, compName, +6 more.
create_title_cardC
Create a title card with animations
Inputs: style (required), title (required), color, compId, +6 more.
create_transitionC
Create a transition effect layer
Inputs: type (required), color, compId, easing, +2 more.
debug_dump_layerA
Recursively dump a layer's property tree (names, match names, expressions, keyframe counts) for diagnostics
Inputs: compId, compName, maxDepth, layerName, +1 more.
delete_compositionB
Delete a composition
Inputs: compId, compName.
delete_layerD
Delete a layer
Inputs: compId, compName, layerName, layerIndex.
delete_markerD
Delete a marker
Inputs: markerIndex (required), compId, compName, layerName, +1 more.
duplicate_compositionC
Duplicate a composition
Inputs: compId, newName, compName.
enable_expressionC
Enable or disable an expression
Inputs: enabled (required), property (required), compId, compName, +2 more.
find_missing_footageB
Find all missing footage items in the project
Inputs: no named parameters.
get_composition_infoC
Get detailed information about a composition
Inputs: compId, compName.
get_comp_reportA
Full composition report: every layer with geometry, text data, fonts (used vs installed), expressions, keyframes, and animated values sampled over time (at markers by default). Use it to verify the real state of a comp.
Inputs: compId, compName, sampleTimes, textPreview.
get_expressionC
Get the expression from a property
Inputs: property (required), compId, compName, layerName, +1 more.
get_keyframesC
Get all keyframes from a property
Inputs: property (required), compId, compName, layerName, +1 more.
get_layer_infoC
Get detailed information about a layer
Inputs: compId, compName, layerName, layerIndex.
get_markersB
Get all markers from a composition or layer
Inputs: compId, compName, layerName, layerIndex.
get_project_infoB
Get information about the current project
Inputs: no named parameters.
import_folderB
Import all files from a folder
Inputs: path (required), recursive.
import_footageB
Import footage file into the project
Inputs: path (required), name, sequence, forceAlphabetical.
link_propertiesB
Link two properties with an expression
Inputs: sourceProperty (required), targetProperty (required), compId, offset, +5 more.
list_compositionsA
List all compositions in the project
Inputs: no named parameters.
list_effectsA
List all effects on a layer
Inputs: compId, compName, layerName, layerIndex.
list_layersC
List all layers in a composition
Inputs: compId, compName.
modify_compositionC
Modify an existing composition
Inputs: name, width, compId, height, +4 more.
modify_effect_propertiesC
Modify properties of an existing effect
Inputs: properties (required), compId, compName, layerName, +3 more.
modify_layerC
Modify layer properties
Inputs: shy, is3D, name, solo, +16 more.
offset_keyframesB
Offset all keyframes in time
Inputs: offset (required), property (required), compId, compName, +2 more.
open_projectA
Open an existing After Effects project
Inputs: path (required).
organize_project_itemsC
Organize project items into folders
Inputs: structure, customFolders.
precompose_layersB
Precompose selected layers into a new composition
Inputs: name (required), layerIndices (required), compId, compName, +1 more.
reduce_projectC
Remove unused items from project
Inputs: compId, compName.
remove_effectC
Remove an effect from a layer
Inputs: compId, compName, layerName, effectName, +2 more.
remove_expressionC
Remove expression from a property
Inputs: property (required), compId, compName, layerName, +1 more.
render_frameA
Render a single frame of a composition to a PNG file on disk. Returns the file path so the AI can inspect what the comp actually looks like.
Inputs: time (required), compId, compName, fileName, +1 more.
reorder_effectsC
Reorder effects on a layer
Inputs: newIndex (required), effectIndex (required), compId, compName, +2 more.
replace_footageC
Replace footage item with a new file
Inputs: newPath (required), itemId, itemName.
reverse_keyframesC
Reverse keyframe order
Inputs: property (required), compId, compName, layerName, +1 more.
save_projectC
Save the current project
Inputs: path.
scale_keyframe_timingC
Scale keyframe timing (speed up or slow down)
Inputs: scale (required), property (required), compId, compName, +3 more.
set_expressionC
Set an expression on a property
Inputs: property (required), expression (required), compId, compName, +2 more.
set_keyframeC
Set a keyframe on a property
Inputs: time (required), value (required), property (required), compId, +3 more.
set_keyframe_advancedC
Set a keyframe with easing options
Inputs: time (required), value (required), property (required), compId, +7 more.
set_temporal_easeC
Set temporal ease on a keyframe
Inputs: property (required), keyframeIndex (required), compId, inSpeed, +6 more.
set_work_areaC
Set the work area of a composition
Inputs: start (required), duration (required), compId, compName.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 68 tools
Most tools have clearly distinct purposes, but there are a few overlapping pairs (e.g., add_text_layer vs add_text_layer_advanced, set_keyframe vs set_keyframe_advanced) that could cause confusion. Descriptions help differentiate, but the advanced variants are not strictly necessary.
The majority of tools follow a consistent verb_noun pattern (e.g., list_compositions, add_solid_layer, set_keyframe). A few outliers like debug_dump_layer and organize_project_items break the pattern slightly, but overall the naming is predictable and readable.
With 68 tools, the server is on the heavier side. While the domain is complex, there is some redundancy (e.g., advanced versions of tools, multiple template functions) that could be consolidated. The count is borderline for a well-scoped server.
The toolset covers most core After Effects operations (project, composition, layer, keyframe, expression, effects, markers, import/export). However, notable gaps include video export, composition settings modification (beyond basic), and mask/matte management. The surface is extensive but not fully complete.
Related MCP Connectors
An MCP connector for Adobe After Effects. Real, editable layers and keyframes, not scripts.
Compose, edit and render video with your AI agent. Turn footage into finished edits with content-aware reframing, word-timed captions and motion graphics. Hosted MCP with OAuth sign-in; cloud processing uses credits.
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Build editable 3D scenes, direct characters and cameras, and export AI video references with MCP.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI assistants to control Adobe After Effects for composition, layer, effect, preset, marker, and audio automation through a bridge panel.30175 npm24MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to control Adobe After Effects through a standardized MCP protocol, providing tools for composition creation, layer management, and animation.-
- AlicenseBqualityDmaintenanceMCP server that lets AI assistants control Adobe After Effects via natural language, enabling composition and layer creation, animation, effects, presets, rendering, and arbitrary ExtendScript execution with Arabic/RTL support.50175 npmMIT
- AlicenseCqualityCmaintenanceAn MCP server that enables AI assistants to control Adobe After Effects with 70+ tools for compositing, animation, effects, and motion graphics.16818 npmMIT