@iflow-mcp/ishu86-after-effects-mcp
v1.0.0
Published
Advanced After Effects MCP server for motion graphics productivity
Readme
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 |
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.json - Windows:
%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 |
|------|--------|
| create_lower_third | modern, corporate, news, minimal, social |
| create_title_card | cinematic, documentary, social, minimal |
| create_transition | wipe, dissolve, push, slide, zoom |
| create_logo_reveal | fade, scale, slide, spin, glitch, particle |
| create_text_animator | 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 |
|--------|-------------|
| gentle | Subtle, smooth animations |
| default | Balanced spring motion |
| wobbly | Playful, bouncy animations |
| stiff | Quick, responsive animations |
| slow | Heavy, deliberate motion |
| bouncy | High energy bounces |
| snappy | 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 | wiggle · wiggleSmooth · wiggleFadeIn · wiggleFadeOut |
| Loop | loopCycle · loopPingpong · loopOffset · loopContinue |
| Physics | bounce · inertia · springy · overshoot |
| Linking | matchPosition · offsetPosition · followWithDelay · inverseRotation |
| Time | time · clock · countdown · frameNumber |
Effect Templates
| Category | Effects |
|----------|---------|
| Blur | gaussianBlur · directionalBlur · glassBlur |
| Color | curves · colorBalance · brightnessContrast · vibrance |
| Stylistic | glow · dropShadow · vignette |
| Creative | cinematicLook · vhsRetro · neonGlow · filmGrain · chromaticAberration · duotone |
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-mcp - Windows:
%APPDATA%\Adobe\CEP\extensions\ae-mcp
- macOS:
- Ensure the AE-MCP panel is visible in After Effects
- Check
~/Documents/ae-mcp-commands/for command files - Look 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
