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 |
| precomposeLayersC | Precompose selected layers into a new nested sub-composition (precomp) with custom name |
| reorderLayerC | Reorder a layer vertically in the layer stack (moveBefore, moveAfter, moveToBeginning, moveToEnd, setIndex) |
| 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 |
| installBridgeB | Automatically detect After Effects installations and install the mcp-bridge-auto.jsx panel script to ScriptUI Panels (with automatic menu backup cleanup) |
| cleanBridgeBackupsB | Scan After Effects ScriptUI Panels and clean up any backup/duplicate jsx files that cause clutter in the Window menu |
| 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 |
| exportWithAMEB | Send composition to Adobe Media Encoder (AME) render queue for high-quality background rendering and encoding |
| 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 |
| analyzeAudioRhythmA | Extract exact BPM, beat grid, 4/4 downbeats, sub-band drum onsets (Kick 20-150Hz, Snare 150-2500Hz, Hi-Hat 2500-10500Hz), major impact points, energy envelope, and structural sections (Intro / Buildup / Climax Drop / Outro) from an audio or video file to help align VFX, camera cuts, and text animations to music. |
| applyBeatMarkersToCompA | Analyze audio beats & drum hits and automatically inject labeled markers (Downbeats, Beats, Kick, Snare, Major Impacts) into an After Effects composition or target layer. |
| alignLyricsWithMMSB | Perform frame-accurate forced alignment of lyrics/subtitles against an audio file using bundled MMS-Align / CTC-Segmentation (Neural CTC ONNX + Silero VAD v6 + Viterbi CTC-Segmentation trellis). Returns exact word-level and line-level timestamps, confidence scores, LRC drift corrections, and nearest drum beat offsets. |
| createAlignedLyricLayersC | Run MMS-Align / CTC-Segmentation on audio + lyrics and automatically generate (or re-align) 3D kinetic typography text layers in the After Effects composition with beat-locked pop/fade animations. |
| evaluateVideoWithDOVERA | Score a rendered video (.mp4, .mov, .avi) using the bundled DOVER-Mobile (Disentangled Objective Video Quality Evaluator - ConvNeXtV2-Femto-3D ONNX) model. Returns Technical Quality Score (0-100), Aesthetic Quality Score (0-100), Fused Overall Score (0-100), Audio-Visual Beat Sync Score (0-100), dataset percentiles, per-segment diagnostics, and actionable AI improvement feedback. |
| analyzeMusicEmotionWithMusiCNNA | Analyze an audio file using the bundled MusiCNN (musicnn_mood_va.onnx, Pons & Serra 2019 multi-scale timbral+temporal CNN) + AudioLyricPoseNet (audio_lyric_pose_net.onnx). Returns 50 music emotion/instrument/vocal/structure tags, continuous Russell Circumplex Valence-Arousal-Tension trajectories, emotional turning points, and per-window 3D camera + Boy/Girl 7-joint character acting choreography. |
| createArticulatedCharacterRigB | Create a 3D 7-joint articulated character silhouette rig (distinct masculine Boy with short hair, broad shoulders, blazer & tie; or feminine Girl with flowing hair ribbon & pleated skirt) with trigonometrically locked spine (zero body separation when leaning), Merge Paths Type 2 (Boolean Union), unclipped glow (Grow Bounds + Glow2), and emotional pose presets. |
| create3DSaberSymbolOrPortalB | Create an unclipped 3840x3840 3D Video Copilot Saber energy symbol or portal (heart, infinity, teardrop_portal with optional parented inner world & automatic 3D child scale-reset, clock_ring, or fracture_wall). |
| inspectFrameAestheticsAndClippingA | Inspect a rendered After Effects frame (.png, .jpg) using the bundled FastSal-NIMA-Lite (fastsal_nima_lite.onnx) visual saliency & aesthetic neural model plus geometric luminance-cliff boundary detector. Detects 3D glow/Saber rectangular clipping, subtitle-subject occlusion, spatial saliency center, and NIMA aesthetic score (1-10). |
| fixLayerGlowAndBoundsClippingB | Automatically repair 3D glow and Saber rectangular boundary clipping across a layer or an entire composition by inserting ADBE Grow Bounds before ADBE Glow2 and expanding small 3D Saber solids to 3840x3840 while recentering their masks. |
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 68 tools
Several tools have overlapping boundaries: create3DLayer overlaps createTextLayer/createNullObject/createSolidLayer, setLayerProperties overlaps set3DLayerTransform, and addLayerMask overlaps setLayerMask. The large number of highly specialized AI/VFX tools also makes it hard to know which tool is appropriate for a general editing task.
Most tool names use camelCase, but there are clear deviations such as create-composition, run-script, get-results, and get-help. Prefix patterns are also inconsistent, mixing createX, setXProperties, applyX, getX, and long AI-specific names.
68 tools is far beyond a well-scoped surface for an agent, even for a complex application like After Effects. Many tools are niche AI analysis or repair operations that dilute the core editing workflow and increase selection burden.
Coverage is broad across compositions, layers, effects, cameras, lights, text, masks, keyframes, import/export, and project settings. Minor lifecycle gaps remain, such as no explicit composition deletion or layer parenting tools, but run-script provides a general escape hatch.