After Effects MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run-scriptA | Run a read-only script in After Effects |
| get-resultsB | Get results from the last script executed in After Effects |
| get-helpA | Get help on using the After Effects MCP integration |
| create-compositionA | Create a new composition in After Effects with specified parameters |
| create-adjustment-layerA | Create an adjustment layer in the specified composition (or active comp). |
| center-layersA | Center one layer, selected layers, or all layers in a composition. |
| get-layer-clip-framesB | Get a layer's clip start/end frames, source frame range, and duration in frames. |
| setLayerKeyframeB | Set a keyframe for a specific layer property at a given time. |
| setLayerExpressionB | Set or remove an expression for a specific layer property. |
| test-animationD | Test animation functionality in After Effects |
| apply-effectC | Apply an effect to a layer in After Effects |
| add-any-effectB | Add any After Effects effect to a layer by matchName or display name. |
| apply-effect-templateB | Apply a predefined effect template to a layer in After Effects |
| list-layer-effectsC | List effects on a layer, with optional recursive property details. |
| list-available-effectsA | List all effects available in this After Effects installation, with optional text filter. |
| set-effect-propertyB | Set or keyframe any property on an existing layer effect using name/index/path. |
| set-effect-keyframeB | Set an effect property keyframe with optional graph interpolation and easy-ease controls. |
| list-presetsA | List available After Effects .ffx presets from common or provided folders. |
| search-presetsB | Search After Effects .ffx presets by name or path. |
| apply-presetB | Apply an After Effects .ffx preset file to a layer. |
| mcp_aftereffects_applyEffectC | Apply an effect to a layer in After Effects |
| mcp_aftereffects_applyEffectTemplateC | Apply a predefined effect template to a layer in After Effects |
| mcp_aftereffects_get_effects_helpB | Get help on using After Effects effects |
| run-bridge-testA | Run the bridge test effects script to verify communication and apply test effects |
| remove-effectB | Remove one specific effect (or all effects) from a layer. |
| add-markerC | Add a marker to a layer or composition at a specified time. Markers can include a comment, label color, chapter name, URL and duration. |
| set-audio-levelsA | Set the audio levels (in dB) for an audio or AV layer. Supports per-channel control and optional keyframing. |
| get-audio-infoA | Get audio metadata, source file path, existing markers, and audio level keyframes for a layer in After Effects. |
| analyze-audio-waveformA | Analyze a WAV audio file to extract waveform amplitude data and detect peaks/transients. First call get-audio-info to retrieve the sourceFilePath, then pass it here. Returns normalized amplitude values (0-1) at evenly spaced time intervals plus an array of peak times where transients are detected. |
| add-markers-bulkA | Add multiple layer or composition markers at once. Use this after analyze-audio-waveform to place markers at detected peaks, or to add any set of markers in a single call. |
| audit-lottie-complianceA | Audit an After Effects composition for Lottie compatibility. Scans for unsupported raster effects (Wave Warp, Turbulent Displace, blurs, glows), unbaked/risky expressions (sourceRectAtTime, valueAtTime, wiggle), unconverted text layers, vector footage (AI/EPS), 3D switches, merge paths, and adjustment layers. |
| compile-lottie-compA | Restructure and compile an After Effects composition to make it 100% Lottie-compliant. Clones the composition safely to [CompName]_LottieReady, auto-bakes expressions into discrete keyframes (resolving sourceRectAtTime/valueAtTime/wiggle runtime errors), converts text and vector footage to native shape layers, flattens 3D switches, and strips unsupported raster effects. |
| export-lottie-jsonC | Export an After Effects composition directly into a production-ready Lottie JSON animation file. |
| add-lottie-state-markersB | Add named interactive state markers to an After Effects composition timeline for dotLottie interactive playback (e.g. idle, hover, active, exit). Supports presets: 'button_toggle', 'hover_loop', 'toggle_switch' or custom state definitions. |
| generate-lottie-interactivityC | Extract After Effects timeline markers and compile a complete dotLottie Interactivity Specification (state machine with onClick, onMouseEnter, onMouseLeave, onComplete, and conditionals). |
| export-dotlottie-packageB | Export an After Effects composition directly into a standard .lottie (dotLottie) ZIP container file containing the Lottie animation JSON, manifest.json, and interactive state machine (states/interactivity.json). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| list-compositions | List compositions in the current After Effects project |
| analyze-composition | |
| create-composition | Create a new composition with specified settings |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| compositions |
TDQS
Scored across 36 tools
Several tools appear to do the same thing: mcp_aftereffects_applyEffect, apply-effect, and add-any-effect all apply effects to a layer, while mcp_aftereffects_applyEffectTemplate and apply-effect-template duplicate each other. Help tools and test tools also overlap in purpose, making tool selection highly ambiguous.
The tool names mix kebab-case, camelCase, and an mcp_aftereffects_ prefix, with inconsistent verb-first ordering. Examples include apply-effect, mcp_aftereffects_applyEffect, setLayerKeyframe, and add-markers-bulk, showing no single predictable convention.
36 tools is heavy for this server, and many slots are consumed by duplicate or test/help operations rather than distinct capabilities. The count feels inflated rather than well-scoped.
The server covers effects, presets, audio analysis, markers, Lottie export, interactivity, and compliance auditing, which is broad. However, basic lifecycle operations like listing compositions/layers or deleting compositions/layers are missing, leaving notable gaps for common AE workflows.