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. |
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 30 tools
Several tools overlap in purpose, e.g., apply-effect, add-any-effect, and mcp_aftereffects_applyEffect all apply effects but with different naming. Similarly, apply-effect-template and mcp_aftereffects_applyEffectTemplate are redundant. This duplication confuses tool selection.
Naming conventions are inconsistent: camelCase (setLayerExpression, setLayerKeyframe) mixed with snake_case (add-any-effect, set-effect-property). Some tools have a 'mcp_aftereffects_' prefix while others do not, lacking a predictable pattern.
30 tools is somewhat high, and several are redundant (multiple apply effect tools). The server would benefit from consolidation to reduce clutter, but the count is not extremely excessive.
The tool set covers effects, markers, audio, and keyframes but lacks basic layer creation (e.g., text, shape layers) and import/export/rendering. Essential workflows have significant gaps.