Skip to main content
Glama

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 build

Step 2: Install the CEP Extension

macOS:

./scripts/install-cep.sh

Windows:

scripts\install-cep.bat

Step 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

  1. Start After Effects 2024+

  2. Open Window > Extensions > AE-MCP

  3. 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 duration

Add 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 scripts

Communication 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.response

Troubleshooting

  1. Verify debug mode is enabled (the install script does this automatically)

  2. Restart After Effects completely

  3. Check extension location:

    • macOS: ~/Library/Application Support/Adobe/CEP/extensions/ae-mcp

    • Windows: %APPDATA%\Adobe\CEP\extensions\ae-mcp

  1. Ensure the AE-MCP panel is visible in After Effects

  2. Check ~/Documents/ae-mcp-commands/ for command files

  3. Look at the panel's log for errors

  1. Open the ExtendScript Toolkit or console in After Effects

  2. Verify composition/layer references exist

  3. 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 tools
add_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.

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

    C2.5/5.0

    Scored across 68 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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.

    Tool Count3/5

    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.

    Completeness3/5

    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

    Related MCP Servers

    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables AI assistants to control Adobe After Effects through a standardized MCP protocol, providing tools for composition creation, layer management, and animation.
      -
    • A
      license
      C
      quality
      C
      maintenance
      An MCP server that enables AI assistants to control Adobe After Effects with 70+ tools for compositing, animation, effects, and motion graphics.
      1
      68
      18 npm
      MIT