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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create-compositionC | Create a new composition in Adobe After Effects |
| renameCompositionC | Rename an existing composition in Adobe After Effects |
| setCompositionPropertiesC | Modify properties of an existing composition including name, dimensions (width/height), duration, framerate, and background color |
| run-scriptC | Execute arbitrary ExtendScript JavaScript code directly inside Adobe After Effects with full DOM access |
| get-resultsC | Retrieve results of a previously executed command or the latest command result |
| get-helpA | Get help, command list, property reference, and troubleshooting guidance for After Effects MCP |
| setLayerKeyframeC | Add a keyframe to a layer property at a specific timestamp with optional interpolation |
| setLayerExpressionC | Add, modify, or remove an expression on a layer property |
| setLayerPropertiesB | Set properties of a layer (position, scale, rotation, opacity, blendMode, threeDLayer, trackMatteType, enabled, etc.) |
| batchSetLayerPropertiesB | Apply property updates to multiple layers simultaneously in a single transaction |
| getLayerInfoA | Get detailed information about a layer (position, scale, rotation, 3D status, effects, masks) or all layers in a composition |
| createCameraB | Create a 1-node or 2-node 3D camera layer with focal presets, depth of field, aperture, and optional camera rig |
| setCameraPropertiesB | Set or modify properties on an existing 3D camera layer (position, pointOfInterest, rotations, zoom, depthOfField, focusDistance, aperture, iris, or auto-lock focus to a layer) |
| applyCameraMoveA | Execute cinematic camera movements ("运镜") with automatic keyframing and easing: orbit (环绕), dolly in/out (推拉), truck (横移), boom/pedestal (升降), pan (摇镜头), whip pan (甩镜头), dolly zoom (希区柯克眩晕变焦), fly through (穿梭), spiral (螺旋), handheld shake (手持呼吸感) |
| createCameraRigB | Create a professional industry-standard 3D Camera Rig with Target Null, Orbit Null controller, and parented Camera for effortless orbit and gimbal-lock-free animation |
| trackCameraToLayerB | Link a 3D camera to track a target layer: look_at (lock Point of Interest), follow_position (camera follows target layer movement), or focus_distance (auto-focus keeps target in sharp focus) |
| createNullObjectB | Create a null object layer for rigging, parenting, or animation controls |
| duplicateLayerC | Duplicate an existing layer in the composition |
| deleteLayerC | Delete a layer from the composition |
| setLayerMaskC | Create or modify layer masks (shape vertices, mode, feather, opacity, expansion, inverted) |
| getInstalledPluginsB | Query installed effects, plugins, and matchNames in After Effects |
| applyEffectB | Apply an effect or third-party plugin to a layer by display name or matchName |
| setEffectPropertiesC | Set parameter values or keyframes on an applied effect/plugin |
| getEffectPropertiesB | Inspect all parameters, matchNames, types, and current values of an effect on a layer |
| removeEffectC | Remove an effect from a layer |
| createTextLayerC | Create a 2D or 3D text layer with comprehensive typography (font, size, fill/stroke colors, tracking, leading, justification, allCaps/smallCaps), 3D orientations, and direct effects list |
| formatTextLayerB | Format an existing text layer: modify text content, font family/PostScript name, font size, fill/stroke colors, stroke width, tracking, leading, justification, allCaps/smallCaps |
| getAvailableFontsA | Get list of available PostScript fonts registered in After Effects for typography styling |
| addTextAnimatorB | Add an AE text animator with full selector and property control or predefined presets (typewriter, fade_up_chars, slide_in_chars, scale_pop_chars, tracking_expand, 3d_flip_chars with per-character 3D, wiggle_wave, glitch_decoder, or custom) |
| createSolidLayerB | Create a solid color layer in the composition |
| getProjectInfoA | Get general project information: file path, dirty status, list of all compositions and items |
| saveProjectA | Save the current After Effects project file, or save a copy to a new file path |
| rollbackA | Rollback / undo the last mutating operation in After Effects |
| getHistoryB | Get the execution history log of all operations performed via MCP, including snapshot and rollback status |
| configureSettingsC | Modify MCP settings: toggle autoSave (save on every operation), autoRecordHistory, saveMode, history limit, and timeouts |
| getSettingsA | Get current MCP settings and connection status to After Effects |
| installBridgeC | Automatically detect After Effects installations and install the mcp-bridge-auto.jsx panel script to ScriptUI Panels |
| importAssetB | Import 3D models (.obj, .gltf, .glb), images (.png, .jpg, .psd), vectors/SVG (.svg, .ai), video (.mp4, .mov) or audio into AE project and optionally add as a layer in a composition |
| create3DLayerC | Create a 3D layer (solid, text, null, or shape) with 3D transforms pre-configured |
| createLightC | Create a 3D light layer (Point, Spot, Parallel, Ambient) with intensity, color, shadows, and angle controls |
| set3DLayerTransformC | Set 3D transform properties on a layer (position, orientation, rotationX, rotationY, rotationZ, scale, anchor point) |
| addLayerMaskC | Add a new mask to a layer (rectangle, ellipse, polygon, or custom bezier shape) with mode, feather, and opacity |
| getLayerMaterialOptionsB | Get 3D material/shader options for a 3D layer (casts shadows, light transmission, ambient, diffuse, specular, metal, etc.) |
| setLayerMaterialOptionsC | Configure 3D material options and shaders on a 3D layer (shadows, lights, ambient, diffuse, specular, shininess, metal, roughness) |
| getCompRendererB | Get composition 3D render engine and shader mode (Classic 3D, Advanced 3D, Cinema 4D) and list of available renderers |
| setCompRendererA | Switch composition 3D render engine (e.g. "ADBE Advanced 3D" for PBR & 3D models, "ADBE Cinema 4D" for extrusions, "ADBE Classic 3D") |
| setKeyframeVelocityC | Adjust the speed and influence velocity curves (Graph Editor curve) of a keyframe on a property |
| getKeyframeInfoB | Get detailed information on all keyframes for a property including values, times, interpolation, and speed/influence curves |
| exportFrameB | Export a screenshot / state image of a specific frame or current time in a composition as PNG, and return base64 preview |
| exportPreviewVideoC | Quickly export a preview video for a specific frame range (e.g. frame A to frame B) with fast low-resolution rendering |
| setEffectPropertyKeyframeC | Animate an effect parameter by adding a keyframe at a specific time with easing curve interpolation |
| setEffectEnabledC | Enable or disable (bypass) an effect on a layer |
| reorderEffectC | Reorder an effect in the layer effect stack (move up or down) |
| aiModifySelectedLayerB | Instruct AI to modify a specific layer in After Effects using natural language prompt (transforms, keyframes, effects, masks, expressions) with optional visual screenshot input |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 54 tools
Most tools target distinct operations, but several property setters overlap in practice: setLayerProperties, set3DLayerTransform, setLayerMaterialOptions, and setEffectProperties all modify layer/effect state with unclear boundaries. Mask tools addLayerMask vs setLayerMask and layer creators create3DLayer vs createSolidLayer/createNullObject/createTextLayer also require reading descriptions closely to choose correctly.
The set is mostly camelCase with a consistent verb_noun pattern (e.g., applyEffect, setLayerProperties, getProjectInfo). A handful of tools break the pattern with hyphenated names: create-composition, run-script, get-results, get-help, which slightly reduces predictability.
54 tools is an extreme tool count for a single MCP server, well beyond the 3-15 range that supports reliable agent selection. While After Effects is a broad domain, this surface is heavily fragmented and likely overwhelms an agent choosing among many granular setters and creators.
Coverage is extensive across compositions, layers, effects, cameras, text, 3D, import/export, project state, and history/rollback. Minor gaps remain, such as deleting or duplicating compositions, explicit 2D shape-layer creation, parenting controls, and keyframe removal operations.