Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AE_MCP_BRIDGE_DIRNoOverride the shared bridge directory (default: %LOCALAPPDATA%\ae-mcp-bridge on Windows, ~/Library/Logs/ae-mcp-bridge on macOS). Both the server and the bridge must use the same value.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
run-scriptC

Run a read-only script in After Effects

get-resultsA

Get results from the last script executed in After Effects

get-helpC

Get help on using the After Effects MCP integration

create-compositionC

Create a new composition in After Effects with specified parameters

create-adjustment-layerB

Create an adjustment layer in the specified composition (or active comp).

center-layersB

Center one layer, selected layers, or all layers in a composition.

get-layer-clip-framesA

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-animationC

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-templateC

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-propertyC

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_get_effects_helpC

Get help on using After Effects effects

run-bridge-testB

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-markerA

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.

check-bridgeA

Health check: verify the After Effects MCP Bridge panel is open and responding, report its version, the AE version, the shared bridge folder, and the open project/active comp. Run this FIRST when anything times out or behaves oddly. If it reports a version mismatch, re-run npm run install-bridge and restart After Effects.

create-text-layerA

Create a text layer with full Arabic / RTL support. Direction is auto-detected from the text by default (Arabic -> right-to-left, right-aligned), or force it with direction. Works on After Effects in any language.

create-cameraA

Create a camera layer in a composition. Select the comp by compName/compIndex (or active comp).

duplicate-layerA

Duplicate a layer in a composition, optionally renaming the copy. Target the layer by layerIndex or layerName.

delete-layerA

Delete a layer from a composition. Target the layer by layerIndex or layerName.

set-layer-maskA

Create or modify a mask on a layer. Provide the shape as maskRect (rectangle shorthand) OR maskPath (array of [x,y] vertices, >= 3). Omit maskIndex to add a new mask, or pass it to modify an existing one.

batch-set-layer-propertiesA

Set transform/visibility properties on MANY layers in one call. Each operation targets a layer by layerIndex or layerName and may set any of: threeDLayer, position, scale, rotation, opacity, blendMode, startTime, outPoint. Setting position clears its existing keyframes first.

set-composition-propertiesA

Change a composition's settings: duration, frameRate, and/or width+height. Select the comp by compName/compIndex (or active comp).

inspect-compA

Map a whole composition: its settings (size, fps, duration, work area) plus every layer with a useful summary - index, id, name, type, enabled/locked/shy/solo, 3D/adjustment/null flags, in/out/start, parent, blend mode, effect count, mask count, has-audio. Use this to navigate a comp and decide what to edit, then call inspect-layer for one layer's full detail. Select the comp by compName/compIndex, or leave both empty for the active comp.

inspect-layerA

Deeply inspect ONE layer so you can SEE its exact state before making precise edits: type, enabled/locked/shy/solo, in/out points, parent, blend mode, 3D flag; the full Transform group (each property's value + expression + keyframes with times/values/interpolation); all effects with their property values; masks (mode/inverted/opacity/feather/expansion); markers; source file/dimensions; and text (font/size/fill) for text layers. Select the comp by compName/compIndex (or active comp) and the layer by layerIndex or layerName.

execute-scriptA

Run ARBITRARY ExtendScript (the After Effects scripting DOM) inside After Effects and return the result. This is the most powerful tool: use it for anything the dedicated tools do not cover - masks, track mattes, parenting, 3D layers/cameras/lights, blending modes, precomposing, time remapping, layer styles, text animators, puppet pins, importing/replacing footage, batch edits across many layers, project-wide changes, etc. Your code runs as the body of a function, so use return <value>; to send data back, and return only JSON-serializable values (numbers, strings, arrays, plain objects). The whole script already runs inside one undo group, so do NOT call app.beginUndoGroup yourself. Use app and app.project to reach everything. On error you get back the message and line number. Example script: "var c = app.project.activeItem; return { name: c.name, layers: c.numLayers };"

see-frameA

SEE what a composition actually looks like: render one or more frames to images and return them so you can visually verify and self-correct (make a change, look, fix). Use this after edits to catch problems the DOM does not reveal - clipped or empty text, blown-out glow, off-frame layers, wrong colors, or Arabic/RTL text that did not shape correctly. Select the comp by name or 1-based index, or leave empty for the active comp. Returns downscaled preview images by default (maxWidth 512) to keep it fast and cheap; pass maxWidth 0 for a native-resolution still. Note: a still is a still - time-based effects like motion blur may look different from playback.

contact-sheetA

See a composition's whole timeline at a glance: render N frames sampled across the duration and composite them into ONE labeled thumbnail grid, returned as a single image. Use this to perceive motion, timing, and easing cheaply (one image instead of many). Select the comp by name or 1-based index, or leave empty for the active comp.

match-referenceA

Compare a composition against a reference image: renders the current frame, then returns a side-by-side (reference vs current) AND a difference map (bright where they differ) so you can see exactly WHERE the render deviates and converge on a match. Provide the reference as an on-disk image path. Select the comp by name or 1-based index, or leave empty for the active comp.

add-to-render-queueA

Add a composition to the After Effects render queue and configure its output. Select the comp by compName (most reliable), compIndex (1-based among compositions), or leave both empty to use the active comp. Templates must already exist in this AE installation.

render-queueA

Inspect or manage the After Effects render queue: list items with their status and output path, clear the whole queue, or remove a single item by index.

start-renderA

Render all QUEUED items in the After Effects render queue. IMPORTANT: this BLOCKS After Effects until the render finishes - the AE UI is unresponsive during the render. Add items first with add-to-render-queue. For long renders, raise timeoutMs; if the wait times out the render still continues in AE and you can check status later with render-queue.

render-aerenderA

Render a composition to a file in the BACKGROUND using aerender (a separate headless After Effects process). Unlike start-render, this does NOT freeze your After Effects UI - you can keep working. REQUIREMENT: the project must be saved to disk (aerender renders the saved .aep). By default it saves the open project first and renders it; pass projectPath to render a specific .aep instead. Returns immediately after starting unless you pass waitMs. Check progress with render-status.

render-statusA

Check background aerender renders started with render-aerender: which are still running, which finished, and the tail of each render log.

Prompts

Interactive templates invoked by user choice

NameDescription
list-compositionsList compositions in the current After Effects project
analyze-composition
create-compositionCreate a new composition with specified settings

Resources

Contextual data attached and managed by the client

NameDescription
compositions

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/a-y-ibrahim/after-effects-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server