Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

After Effects MCP Server

NPM · ADOBE-MCP-AFTEREFFECTS

Drive Adobe After Effects from any MCP client: compositions, layers, animation and rendering.

68 Trust /100

Last scanned (6 hours ago)

Scores higher than 38% of npm servers

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 3 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability60
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 32116 tokens (~195/item across 164 items; 164 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 96% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 165 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 21 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 20 Oct 26 53

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 23 Oct 2026 · Analysed npm/adobe-mcp-aftereffects@0.1.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 164 exposed · ~31,764 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_comp_marker ~92

Add a composition marker at a time, with a comment, duration, chapter and web link

NameTypeReqDescription
chapterstring––
commentstring––
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
durationnumber–Seconds
timenumberyesSeconds
urlstring––

No output schema declared.

No examples provided.

add_essential_graphics_controls ~130

Add controls to a composition's Essential Graphics panel (Animation > Add Property to Essential Graphics): properties such as Source Text, colours, sliders, checkboxes, angles, 2D points and scale, Dropdown Menu Controls (optionally setting their menu items) and 3D shadow colour, or footage and precomposition layers as media replacement. A nested composition then shows them as Essential Properties

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
controlsarrayyesControls to add, in order

No output schema declared.

No examples provided.

add_layer ~181

Add a layer (Layer > New): solid, null, adjustment, text, shape, camera or light, or a project item (footage or composition) as a layer, at the top of the composition

NameTypeReqDescription
colorstring–Solid and adjustment colour. Default white
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
durationnumber–Seconds; default the composition duration
heightinteger––
iteminteger–type item: the project item id to add
lightTypestring–type light. Default point
namestring––
textstring–type text: the text
typestringyes–
widthinteger–Solid size; default the composition size

No output schema declared.

No examples provided.

add_mask ~195

Add a mask to layers: a rectangle or ellipse from bounds, or a path from points, all in the layer's own pixel coordinates; with its mode, feather, opacity, expansion and inversion

NameTypeReqDescription
boundsobject–Rectangle or ellipse bounds
closedboolean–Path: closed. Default true
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
expansionnumber–Pixels
feathernumber–Pixels
invertedboolean––
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
modestring–Default add
namestring––
opacitynumber––
pointsarray–Path points [[x, y], ...]
shapestring–Default rectangle

No output schema declared.

No examples provided.

add_protected_region ~160

Protect part of a composition's timing so it keeps its length when the composition is nested or the template is stretched (Composition > Responsive Design - Time > Create Intro, Create Outro or Create Protected Region from Work Area), or protect a custom span: a composition marker with Protected Region on

NameTypeReqDescription
commentstring–Marker comment
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
durationnumber–custom: duration, seconds
regionstringyesintro: the first 15% of the duration; outro: the last 15%; work_area; custom: start and duration
startnumber–custom: start, seconds

No output schema declared.

No examples provided.

add_shape_content ~276

Add shapes to shape layers (the Timeline panel's Add menu), or to a new shape layer: groups (which can hold items of their own), rectangle, ellipse, polystar and free paths, fill, stroke, gradient fill and gradient stroke, and the path operations Merge Paths, Offset Paths, Pucker & Bloat, Repeater, Round Corners, Trim Paths, Twist, Wiggle Paths, Wiggle Transform and Zig Zag, each with its settings. Items are added in order at the end of the group. Gradient colours are set in the Gradient Editor

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
grouparray–The group to work in: names or 1-based indexes of nested groups from the layer's Contents, e.g. ["Shape 1"]. Omit for Contents itself
itemsarrayyesItems to add, in order (paint and operations act on the paths above them in the same group)
layerNamestring–Name of the new shape layer when layers is omitted
layersobject–Shape layers to add to; omit to create a new shape layer
timenumber–Seconds: set the values as keyframes at this time

No output schema declared.

No examples provided.

add_text_layer ~180

Add a text layer (Layer > New > Text, or the Horizontal and Vertical Type tools): point text, or paragraph text in a box, horizontal or vertical, optionally named and placed

NameTypeReqDescription
boxSizearray–Paragraph text: [width, height] of the box in pixels. Default half the composition size
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
kindstring–point text (default) or paragraph text in a box
namestring–Layer name
orientationstring–Horizontal Type tool (default) or Vertical Type tool
positionarray–[x, y] in pixels from the composition's top-left
textstringyesThe text; line breaks start new lines

No output schema declared.

No examples provided.

aftereffects_status ~71

Check that After Effects is reachable: platform, how the server addresses After Effects, whether it is running, its version and project. Use this first when a call fails to connect

NameTypeReqDescription
probeboolean–Ask After Effects for its version and project (starts it if it is not running). Default true

No output schema declared.

No examples provided.

align_video_to_data ~132

Align Video to Data (Layer > Time): offset video layers in time by the frame counts their names have in a data layer's mgJSON videoSyncTimeList. Selects the data layer and the video layers and makes the composition active

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
dataLayerintegeryesIndex of the mgJSON data layer
layersobjectyesThe video layers to align. Which layers. Give indexes (1-based, from list_layers), names, or selected: true

No output schema declared.

No examples provided.

apply_camera_tracker ~223

Track the camera of footage layers (Animation > Track Camera): apply the 3D Camera Tracker effect, or change the one already applied, and set Solve Method, Detailed Analysis, Auto-delete Points Across Time and Hide Warning Banner. After Effects analyses the layer in the background; creating a camera or content from the solved points is done in the Composition panel

NameTypeReqDescription
addNewboolean–Add another instance even when the layer already has 3D Camera Tracker. Default false: change the existing one
autoDeletePointsboolean–Advanced > Auto-delete Points Across Time
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
detailedAnalysisboolean–Advanced > Detailed Analysis
hideWarningBannerboolean–Advanced > Hide Warning Banner
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
solveMethodstring–Advanced > Solve Method: a hint about the scene

No output schema declared.

No examples provided.

apply_color_effect ~297

Apply a colour effect (Effect > Color Correction or Utility) to layers, or to a new adjustment layer at the top of the composition so it affects everything below and final renders: Lumetri Color, Curves, Levels, Hue/Saturation, Exposure and other grading effects; Broadcast Colors to keep output broadcast-safe; Color Profile Converter to simulate an output type in renders. Set controls by display name with properties

NameTypeReqDescription
adjustmentLayerboolean–Apply to a new adjustment layer spanning the composition, at the top
broadcastLocalestring–broadcast_colors: Broadcast Locale
broadcastMethodstring–broadcast_colors: How To Make Color Safe
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
effectstringyesThe colour effect
layerNamestring–Name of the new adjustment layer. Default: the effect name
layersobject–Apply to these layers. Which layers. Give indexes (1-based, from list_layers), names, or selected: true. Omit with adjustmentLayer: true
maxSignalIrenumber–broadcast_colors: Maximum Signal Amplitude (IRE)
propertiesobject–Control display names to values (numbers, arrays, booleans; menus take their 1-based item number), e.g. { "Exposure": 0.5 }

No output schema declared.

No examples provided.

apply_effect ~151

Apply an effect to layers (Effect menu) by match name (e.g. "ADBE Gaussian Blur 2") or display name, optionally setting its properties by name, e.g. { "Blurriness": 20 }

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
effectstringyesMatch name or display name
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
namestring–Rename the applied effect
propertiesobject–Property display names to values (numbers, arrays, booleans)

No output schema declared.

No examples provided.

apply_preset ~93

Apply an animation preset (.ffx) to layers (Animation > Apply Animation Preset)

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
presetFilestringyesAbsolute .ffx path

No output schema declared.

No examples provided.

apply_warp_stabilizer ~493

Apply Warp Stabilizer VFX to layers (Animation > Warp Stabilizer VFX), or change the one already applied, and set its controls: Result, Smoothness, Method, Preserve Scale, Framing, Auto-scale, Additional Scale, Detailed Analysis, Rolling Shutter Ripple, Crop Less <-> Smooth More, synthesis options, Objective, Target Layer, Track Point Size, Auto-delete Points and Hide Warning Banner. After Effects analyses the layer in the background after the effect is added or its analysis settings change

NameTypeReqDescription
actionSafeMarginnumber–Auto-scale > Action-Safe Margin percent
addNewboolean–Add another instance even when the layer already has Warp Stabilizer. Default false: change the existing one
additionalScalenumber–Additional Scale percent
autoDeletePointsboolean–Advanced > Auto-delete Points Across Time
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
cropLessSmoothMorenumber–Advanced > Crop Less <-> Smooth More percent
detailedAnalysisboolean–Advanced > Detailed Analysis
framingstring–Framing: how moving edges are handled
hideWarningBannerboolean–Advanced > Hide Warning Banner
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
maximumScalenumber–Auto-scale > Maximum Scale percent
methodstring–Method: the most complex stabilization allowed
objectivestring–Objective: stabilize, reverse, or apply the motion to a target layer
preserveScaleboolean–Preserve Scale
resultstring–Result: smooth the camera move or remove it
rollingShutterRipplestring–Advanced > Rolling Shutter Ripple
smoothnessnumber–Smoothness percent (Smooth Motion)
synthesisEdgeCroppingobject–Advanced > Synthesis Edge Cropping, pixels trimmed from each edge
synthesisEdgeFeathernumber–Advanced > Synthesis Edge Feather
synthesisInputRangenumber–Advanced > Synthesis Input Range, seconds
targetLayerinteger–Target Layer index for the apply_motion_to_target objectives
trackPointSizenumber–Advanced > Track Point Size percent

No output schema declared.

No examples provided.

arrange_layers ~105

Change the stacking order: move layers to the top, to the bottom, or before or after another layer

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
orderstringyes–
relativeTointeger–Layer index, for before and after

No output schema declared.

No examples provided.

arrange_shape_content ~233

Rearrange shape items in a group: delete, duplicate, move to a position, Group Shapes (wrap the items in a new group), Ungroup Shapes (dissolve groups) or Convert To Bezier Path (turn a rectangle, ellipse or polystar into a free path). Grouping, ungrouping and converting open the composition and run the Layer > Mask and Shape Path command on the items

NameTypeReqDescription
actionstringyesWhat to do with the items
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
grouparray–The group to work in: names or 1-based indexes of nested groups from the layer's Contents, e.g. ["Shape 1"]. Omit for Contents itself
itemsarrayyesItems in the group, by name or 1-based index
layersobjectyesWhich shape layers: indexes (1-based), names, or selected: true
toIndexinteger–move: the new 1-based position in the group

No output schema declared.

No examples provided.

choose_layer_tool ~67

Choose a layer tool in the Tools panel: Rotation, Pan Behind (Anchor Point) or Selection, for the user's next drag in the Composition panel. To rotate or move an anchor point from here, use set_transform

NameTypeReqDescription
toolstringyesrotation, pan_behind or selection

No output schema declared.

No examples provided.

configure_render_engine ~136

Turn Multi-Frame Rendering on or off with a CPU limit for the next render, start, pause, continue or end Watch Folder mode (File > Watch Folder: After Effects then renders projects saved into the folder and stops taking other work), and report whether this After Effects is a render-only engine

NameTypeReqDescription
folderstring–start: absolute path of the folder to watch
maxCpuPercentinteger–Most CPU Multi-Frame Rendering may use, 1-100. Default 100
multiFrameRenderingboolean–Use Multi-Frame Rendering
watchFolderstring–Watch Folder mode

No output schema declared.

No examples provided.

control_render_queue ~95

Show or hide the Render Queue panel (Window > Render Queue), pause, continue or stop a render in progress, turn the whole-queue completion notification on or off, and read progress: each item's status, start time and elapsed time

NameTypeReqDescription
actionstring–Default status. pause, continue and stop act on the render in progress
notifyboolean–Send a Creative Cloud notification when the whole queue finishes

No output schema declared.

No examples provided.

convert_expression_to_keyframes ~210

Bake a property's expression into a keyframe on every frame and switch the expression off, keeping its text (Animation > Keyframe Assistant > Convert Expression to Keyframes). Keyframes already in the span are replaced

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
fromnumber–Start (seconds). Default the layer's in point
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
property–yesA property: a shortcut (anchor_point, position, scale, rotation, opacity, x_rotation, y_rotation, orientation, source_text, time_remap, audio_levels) or a path of match names or display names from th…
tonumber–End (seconds). Default the layer's out point

No output schema declared.

No examples provided.

convert_text_layers ~149

Convert layers with a Layer menu command: Create Shapes from Text (new shape layers with the outlines), Create Masks from Text (a solid with a mask per character), or Convert to Editable Text (Photoshop text layers to After Effects text). Selects the layers and runs the command in their composition

NameTypeReqDescription
actionstringyesshapes: Create Shapes from Text; masks: Create Masks from Text; editable: Convert to Editable Text
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true

No output schema declared.

No examples provided.

copy_animation ~221

Copy from one layer's property to properties on other layers: its keyframes (Edit > Copy and Paste, or Paste Reverse Keyframes with reverse), its expression only (Edit > Copy Expression Only), or a link: an expression on each target that follows the source, as Edit > Copy With Property Links then Paste, or dragging the expression pick whip, would write

NameTypeReqDescription
fromobjectyesThe source
keysobject–With what: keyframes, which source keyframes. Which keyframes of the property: those matching any of indexes, the from/to time range, times or selected. Omit for all of them
reverseboolean–With what: keyframes, paste them in reverse time order (Paste Reverse Keyframes)
timenumber–With what: keyframes, where the first pasted keyframe lands (seconds). Default the source times
toobjectyesThe targets
whatstringyeskeyframes, expression (the expression only), or link (a property link expression)

No output schema declared.

No examples provided.

create_comp ~393

Create a composition (Composition > New Composition) with a size, pixel aspect, duration, frame rate and background colour, optionally in a folder, and open it

NameTypeReqDescription
adaptiveSampleLimitinteger–Motion blur Adaptive Sample Limit
backgroundColorstring–"#RRGGBB" or "rgb(r,g,b)" (0-255)
dropFrameboolean–Drop Frame timecode (29.97 and 59.94 fps); false is Non-Drop Frame
durationnumberyesSeconds
folderinteger–Folder id
frameBlendingboolean–Timeline switch: Enable Frame Blending for the composition
frameRatenumberyesFrames per second
heightintegeryesPixels
hideShyLayersboolean–Timeline switch: Hide Shy Layers
motionBlurboolean–Enable motion blur for the composition
namestringyes–
pixelAspectnumber–Default 1
preserveNestedFrameRateboolean–Preserve frame rate when nested or in render queue
preserveNestedResolutionboolean–Preserve resolution when nested
resolutionstring–Resolution: full, half, third or quarter
resolutionFactorarray–Custom resolution: render every [x, y]th pixel
samplesPerFrameinteger–Motion blur Samples Per Frame
shutterAnglenumber––
shutterPhasenumber–Motion blur Shutter Phase, degrees
startFrameinteger–Start Frame: the number shown for the first frame, when the project counts frames
startTimecodenumber–Start Timecode: the time shown for the first frame, in seconds
widthintegeryesPixels
workAreaDurationnumber–Seconds
workAreaStartnumber–Seconds

No output schema declared.

No examples provided.

create_comp_from_items ~218

Make compositions from footage or compositions in the Project panel (File > New Comp from Selection): one per item, or one holding them all, sized and timed from an item, optionally with the layers in sequence and added to the Render Queue

NameTypeReqDescription
addToRenderQueueboolean–Add each new composition to the Render Queue
itemsarrayyesProject item ids (from list_items)
modestring–each: one composition per item (the default); single: one composition with every item as a layer, the first on top
namestring–single: the composition name; default the first item's name
overlapnumber–sequenceLayers: seconds each layer overlaps the one before
sequenceLayersboolean–single: place the layers one after another in time
stillDurationnumber–Seconds for still images. Default 5
useDimensionsFrominteger–single: the item id whose size and frame rate the composition takes; default the first item

No output schema declared.

No examples provided.

create_folder ~59

Add a folder to the Project panel, optionally inside another folder, and move items into it

NameTypeReqDescription
itemsarray–Item ids to move into the new folder
namestringyes–
parentinteger–Parent folder id

No output schema declared.

No examples provided.

create_footage_item ~184

Add a footage item without adding a layer: a colour-bar placeholder for footage that is not available yet (File > Import > Placeholder) or a solid (File > Import > Solid), optionally into a folder

NameTypeReqDescription
colorstring–solid: colour, "#RRGGBB" or "rgb(r,g,b)"
durationnumber–placeholder: seconds. Default 10
folderinteger–Put the item in this folder (id)
frameRatenumber–placeholder: frames per second. Default 30
heightinteger–Pixels. Default 1080
kindstringyesWhat to add
namestringyesItem name
pixelAspectnumber–solid: pixel aspect ratio. Default 1
widthinteger–Pixels. Default 1920

No output schema declared.

No examples provided.

create_proxy ~177

Queue a composition to render as its own proxy (File > Create Proxy > Still or Movie): adds a Render Queue item whose post-render action is Set Proxy. Render it with render_queue

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
kindstringyesstill: one frame; movie: the whole composition
outputFilestringyesAbsolute path of the proxy file; the extension should match the output module
outputModulestring–Output module template. Default "Photoshop" for a still when it exists, otherwise the default template
renderSettingsstring–Render settings template, e.g. "Draft Settings"
timenumber–still: the frame, in seconds. Default the current time

No output schema declared.

No examples provided.

create_shapes_from_vector_layer ~97

Convert Illustrator, PDF or SVG footage layers to shape layers (Layer > Create > Create Shapes from Vector Layer). Each new shape layer is placed above its source, which is turned off

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobjectyesVector footage layers: indexes (1-based), names, or selected: true

No output schema declared.

No examples provided.

delete_layers ~67

Delete layers from a composition

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true

No output schema declared.

No examples provided.

detect_scene_edits ~146

Find the cuts in video footage layers (Layer > Scene Edit Detection) and add a marker at each, split the layer at each cut, or split and pre-compose each scene; none only returns the cut times

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
modestring–markers: Create Layer Markers; split: Split Layer; split_precomp: Split Layer and Create Pre-comps; none: report the cuts only. Default markers

No output schema declared.

No examples provided.

duplicate_comp ~56

Duplicate a composition (Edit > Duplicate), optionally renaming the copy

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
namestring––

No output schema declared.

No examples provided.

duplicate_layers ~91

Duplicate layers (Edit > Duplicate), or copy them into another composition

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
toCompinteger–Copy into this composition (id) instead

No output schema declared.

No examples provided.

edit_comp_guides ~159

Add, move, remove or clear a composition's ruler guides (View > Add Guide, Edit Guide, Clear Guides). Positions are pixels from the left (vertical guides) or top (horizontal guides); guides are numbered from 1 in the order they were added

NameTypeReqDescription
actionstringyesadd a guide, move or remove guide n, or clear all guides
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
guideinteger–move, remove: the guide number (1 = first added; add returns it)
orientationstring–add: the guide's direction
positionnumber–add, move: pixels

No output schema declared.

No examples provided.

edit_keyframes ~625

Change existing keyframes of a property (Animation > Keyframe Interpolation, Keyframe Velocity, Keyframe Assistant, the Graph Editor buttons and the keyframe context menu): interpolation presets such as Easy Ease, Easy Ease In/Out, Auto Bezier, Continuous Bezier, Linear and Toggle Hold Keyframe; incoming and outgoing interpolation and ease (speed and influence of the Bezier handles); Rove Across Time; motion path tangents; keyframe colour label; the value of every chosen keyframe (Edit Value); and Time-Reverse Keyframes. keys.times adds a keyframe where none exists, holding the value there, as the keyframe navigator or the Pen tool on a motion path does

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
easeInobject–Incoming temporal ease (Keyframe Velocity dialog, Graph Editor handle): speed and influence for every dimension
easeOutobject–Outgoing temporal ease: speed and influence for every dimension
inInterpolationstring–Incoming interpolation
keysobject–Which keyframes of the property: those matching any of indexes, the from/to time range, times or selected. Omit for all of them
labelinteger–Keyframe colour label, 0 (none) to 16
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
outInterpolationstring–Outgoing interpolation
presetstring–linear, bezier, auto_bezier, continuous_bezier, hold (both sides), toggle_hold (outgoing Hold, or back to Auto Bezier), easy_ease, easy_ease_in, easy_ease_out
property–yesA property: a shortcut (anchor_point, position, scale, rotation, opacity, x_rotation, y_rotation, orientation, source_text, time_remap, audio_levels) or a path of match names or display names from th…
rovingboolean–Rove Across Time (spatial properties; the first and last keyframes never rove)
spatialAutoBezierboolean–Auto Bezier on the motion path (spatial properties only)
spatialContinuousboolean–Continuous Bezier on the motion path (spatial properties only)
spatialTangentsobject–Motion path direction handles, relative to the keyframe, in pixels (spatial properties only)
temporalAutoBezierboolean–Auto Bezier in time
temporalContinuousboolean–Continuous Bezier in time
timeReverseboolean–Time-Reverse Keyframes: mirror the chosen keyframes in time within their span (done before the other changes)
value––New value for every chosen keyframe: a number, an array of numbers, text or true/false

No output schema declared.

No examples provided.

edit_markers ~401

Composition and layer markers (Layer > Add Marker, the Marker dialog): list, add (or set a numbered composition marker 0-9), edit comment, duration, chapter, web link, cue point, label and protected region, remove one or all, move the current time to a marker, or Update Markers From Source. Give layers for layer markers; omit them for composition markers

NameTypeReqDescription
actionstringyeslist, add, update, remove, remove_all, go_to, update_from_source (layers whose source has markers)
at––add: where to put the marker; update, remove, go_to: the marker at this time. Seconds, or "current_time" (the default), "comp_start" or "comp_end"
chapterstring––
commentstring––
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
cuePointNamestring––
durationnumber–Seconds
eventCuePointboolean–Cue point type: true event, false navigation
frameTargetstring–Web link frame target
labelinteger–Label colour (0 none)
layersobject–Layer markers on these layers; omit for composition markers. Which layers. Give indexes (1-based, from list_layers), names, or selected: true
markerinteger–update, remove, go_to: the marker's number in time order (1 = first), instead of at
numberinteger–Composition markers: the numbered marker 0-9 (add moves it if it exists; update, remove, go_to find it)
parametersobject–Cue point parameters, name to value
protectedRegionboolean–Protected region (composition markers with a duration)
urlstring–Web link

No output schema declared.

No examples provided.

edit_project_metadata ~80

Read or replace the project's XMP metadata (shown in the Metadata panel and in Adobe Bridge). showPanel toggles Window > Metadata

NameTypeReqDescription
showPanelboolean–Toggle the Metadata panel. Default false
xmpstring–A complete XMP packet (x:xmpmeta) that replaces the project's. Omit to read it

No output schema declared.

No examples provided.

execute_aftereffects_code ~79

Run your own ExtendScript in After Effects and return its last expression. It runs unrestricted: it can change or delete anything, read or write files, and run system commands (system.callSystem, which needs Allow Scripts to Write Files and Access Network). Prefer the specific tools

NameTypeReqDescription
codestringyesExtendScript (ES3) source

No output schema declared.

No examples provided.

export_motion_graphics_template ~154

Export a composition as a Motion Graphics template (.mogrt) (File > Export > Export As Motion Graphics Template) to the Local Templates Folder or a folder on a local drive. The file is named after the template name

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
folderstring–Absolute folder to save into. Omit for the Local Templates Folder (Essential Graphics templates)
overwriteboolean–Replace a file of the same name. Default false
templateNamestring–Set the template name (and file name) first. Default: the current template name, or the composition name

No output schema declared.

No examples provided.

find_effects ~134

Browse the effects on the Effect menu by category (Blur & Sharpen, Distort, Generate, Expression Controls, ...) or by name, from the built-in effect catalog: display name, match name, category, the controls After Effects documents for each, and whether this After Effects has it installed (Effect menu; Effects & Presets panel)

NameTypeReqDescription
categorystring–Only effects in this Effect menu category
controlsboolean–Include each effect's documented controls
limitinteger–Most effects to return
querystring–Only effects whose display name or match name contains this text

No output schema declared.

No examples provided.

find_fonts ~133

Search the fonts After Effects can use (Character panel font menu, app.fonts) by name, or list only variable fonts or missing and substituted fonts. Returns PostScript names for set_text, families and styles, variable font axes, and the favourite and recent font lists

NameTypeReqDescription
limitinteger–Most fonts to return. Default 200
missingboolean–List the project's missing or substituted fonts instead
querystring–Text to find in the family, style, full or PostScript name; omit for all
variableOnlyboolean–Only variable fonts (with design axes)

No output schema declared.

No examples provided.

find_missing_dependencies ~98

Find missing footage, effects or fonts (File > Dependencies > Find Missing Footage, Find Missing Effects, Find Missing Fonts). Footage and fonts are listed; reveal also runs the menu command, which shows them in the Project or Timeline panel. Missing effects can only be revealed

NameTypeReqDescription
kindstringyesWhat to look for
revealboolean–Run the Find Missing menu command too. Default false; always true for effects

No output schema declared.

No examples provided.

find_project_items ~96

Search the project like the Project panel search field (File > Find): items whose name or comment contains text, and items that are missing, unused or used, optionally of one type

NameTypeReqDescription
statusstring–missing: footage whose file cannot be found; unused or used in any composition
textstring–Text to find in names and comments (case-insensitive)
typestring–Only this type

No output schema declared.

No examples provided.

get_aftereffects_info ~84

Describe the running After Effects and the computer: version, build, language, memory in use, render-engine and watch-folder modes, operating system, the project's GPU acceleration (File > Project Settings) and the types available, whether viewer updates are paused, and the values of preference keys you name

NameTypeReqDescription
preferencesarray–Preference keys to read from the preferences files

No output schema declared.

No examples provided.

get_color_management ~104

Read the project's colour settings (File > Project Settings > Color): bit depth, working colour space, working gamma, Linearize Working Color Space, Blend Colors Using 1.0 Gamma and Compensate for Scene-referred Profiles, and optionally the ICC colour profiles that can be the working space

NameTypeReqDescription
listProfilesboolean–Also list the colour profiles available as working spaces
querystring–Only profiles whose description contains this text (case-insensitive)

No output schema declared.

No examples provided.

get_effect_controls ~201

Read the controls of effects on layers (Effect Controls panel): each control's name, match name, type (number, menu, point, point3d, color, layer, mask, topic, group or custom; checkboxes are numbers 0 or 1), current value, menu choices, range, units, keyframe count and expression

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
effect––An effect already on the layer: its name in the Effect Controls panel (e.g. "Gaussian Blur 2"), its match name, or its position (1 = top). Omit for every effect on the layers
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
timenumber–Read values at this time (seconds) instead of the current time

No output schema declared.

No examples provided.

get_footage_info ~97

Describe footage items (Project panel, Interpret Footage): source kind (file, solid, placeholder), file and missing path, alpha, frame rates, fields and pulldown, pixel aspect, loop, proxy and the compositions that use each item

NameTypeReqDescription
itemsarray–Footage item ids. Omit for every footage item
missingOnlyboolean–Only items whose source file is missing. Default false

No output schema declared.

No examples provided.

get_project_info ~43

Describe the open project: file, unsaved changes, bit depth, working colour space, expression engine, item counts by type, the active item and the render queue

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_property ~193

Read a layer property: its value, keyframes (time, value, interpolation) and expression. Properties are named by a shortcut or a path of match names or names; this includes the Data group of a data-driven layer

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
property–yesA property: a shortcut (anchor_point, position, scale, rotation, opacity, x_rotation, y_rotation, orientation, source_text, time_remap, audio_levels) or a path of match names or display names from th…
timenumber–Also read the value at this time (seconds)

No output schema declared.

No examples provided.

get_render_item ~87

Read Render Queue items in full (Render Queue panel): status, start and elapsed render time, log level, notification, time span, every render setting and every output module's format, file, file name template, post-render action and settings, by the names set_render_settings and set_output_module accept

NameTypeReqDescription
itemsarray–1-based queue indexes; omit for every item

No output schema declared.

No examples provided.

get_text ~109

Read text layers' Source Text: text, font (with its PostScript name, family, style and variable axes), character and paragraph formatting, point or paragraph text and box size, and where each paragraph and composed line starts and ends

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true

No output schema declared.

No examples provided.

Install

How do I install the After Effects MCP Server server?

After Effects MCP Server runs locally as an npm package, launched with npx -y adobe-mcp-aftereffects. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · adobe-mcp-aftereffects

# add to Claude Code
claude mcp add zachshallbetter-adobe-mcp-aftereffects -- npx -y adobe-mcp-aftereffects
Common questions

What is the After Effects MCP Server server?

After Effects MCP Server is listed in the public MCP registry as io.github.zachshallbetter/adobe-mcp-aftereffects. Drive Adobe After Effects from any MCP client: compositions, layers, animation and rendering. This page covers its npm package (adobe-mcp-aftereffects).

Is the After Effects MCP Server server safe to use?

After Effects MCP Server scores 68 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 23 October 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the After Effects MCP Server server expose?

After Effects MCP Server exposes 164 tools: get_project_info, list_items, import_files, create_folder, manage_items, and 159 more. Their descriptions and schemas cost roughly 31,764 tokens of context every time the server is loaded.

Is the After Effects MCP Server server still maintained?

After Effects MCP Server is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the After Effects MCP Server server under?

After Effects MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.