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 (13 hours ago)

Scores higher than 39% 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
set_roto_brush ~302

Set the Roto Brush & Refine Edge effect's settings on layers (Effect Controls panel): propagation (Search Radius, View Search Radius, Motion Threshold, Motion Damping, Edge Detection, Enable Classic Controls, Use Alternate Color Estimation), matte (Feather, Contrast, Shift Edge, Reduce Chatter, Smooth) for the Roto Brush or Refine Edge matte, and refinement (Fine-tune Refine Edge Matte, Extend Where Smoothed, Increase Radius, View Map). Settings are found by their English names. Segmentation strokes and propagation are done by hand with the Roto Brush and Refine Edge tools

NameTypeReqDescription
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
effectstring|integer–Which effect, by name or 1-based index in the Effect Controls panel; omit for every one of its kind on the layer
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
mattestring–Which matte group feather, contrast, shiftEdges, reduceChatter and smooth apply to. Default roto
propertiesobject–Any other setting of the effect by name or match name, to a number or true/false
settingsobject–Settings to change
timenumber–Seconds: set keyframes at this time

No output schema declared.

No examples provided.

set_shape_content ~1,314

Change settings of existing shape items: group Transform and Blend Mode; rectangle, ellipse, polystar and path geometry and Reverse Path Direction; fill and stroke colour, opacity, Stroke Width, Line Cap, Line Join, Dashes, Taper, Wave, Fill Rule and Composite; gradient type, Start and End Point and Highlight; and the path operations' settings (Merge Paths Mode, Repeater copies, offset and composite, Trim Multiple Shapes, Offset Paths copies, Zig Zag points, Wiggle Paths correlation, ...). Each option must apply to every item named

NameTypeReqDescription
amountnumber–Offset Paths: Amount (pixels); Pucker & Bloat: Amount (percent); Wiggle Paths, Zig Zag: Size (pixels)
anchorarray–Group, repeater: Transform Anchor Point
anglenumber–Twist: Angle, degrees
blendModeinteger–Group, fill, stroke, gradients: Blend Mode, as numbered in its menu (1 = Normal)
centerarray–Twist: Center
colorstring–Fill, stroke: colour, "#RRGGBB" or "rgb(r,g,b)"
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
compositestring–Fill, stroke, gradients: Composite (below or above previous in same group); repeater: copies stack below or above
copiesnumber–Offset Paths, repeater: Copies
copyOffsetnumber–Offset Paths: Copy Offset
correlationnumber–Wiggle Paths, Wiggle Transform: Correlation, percent
dashOffsetnumber–Stroke, gradient stroke: dash Offset, pixels
dashesarray–Stroke, gradient stroke: Dashes as [dash, gap, dash, gap, dash, gap], up to three pairs
detailnumber–Wiggle Paths: Detail; Zig Zag: Ridges per segment
enabledboolean–Turn the items on or off (eye switch)
endnumber–Trim Paths: End, percent
endOpacitynumber–Repeater: Transform End Opacity, percent
endPointarray–Gradients: End Point
fillRulestring–Fill, gradient fill: Fill Rule
gradientTypestring–Gradients: linear or radial
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
highlightAnglenumber–Gradients (radial): Highlight Angle, degrees
highlightLengthnumber–Gradients (radial): Highlight Length, percent
innerRadiusnumber–Polystar (star): inner radius, pixels
innerRoundnessnumber–Polystar (star): inner roundness, percent
itemsarrayyesItems in the group, by name or 1-based index
layersobjectyesWhich shape layers: indexes (1-based), names, or selected: true
lineCapstring–Stroke, gradient stroke: Line Cap
lineJoinstring–Stroke, gradient stroke, offset paths: Line Join
mergeModestring–Merge Paths: Mode
miterLimitnumber–Stroke, gradient stroke, offset paths: Miter Limit
namestring–Rename the item (one item only)
offsetnumber–Repeater: Offset (copies); Trim Paths: Offset (degrees)
opacitynumber–Group: Transform Opacity; fill, stroke, gradients: Opacity, percent
outerRadiusnumber–Polystar: outer radius, pixels
outerRoundnessnumber–Polystar: outer roundness, percent
pathobject–Path: { vertices: [[x, y], ...], inTangents, outTangents (relative to each vertex), closed (default true) }
pointTypestring–Wiggle Paths, Zig Zag: Points
positionarray–Rectangle, ellipse, polystar: centre; group, repeater: Transform Position
propertiesobject–Any other property of the item by match name or name (a nested one as "Group > Property"), to a number, array, text or true/false
radiusnumber–Round Corners: Radius, pixels
randomSeednumber–Wiggle Paths, Wiggle Transform: Random Seed
reversedboolean–Rectangle, ellipse, polystar, path: Reverse Path Direction
rotationnumber–Polystar: rotation; group, repeater: Transform Rotation, degrees
roundnessnumber–Rectangle: corner roundness, pixels
scalearray–Group, repeater: Transform Scale [x, y] percent
sizearray–Rectangle, ellipse: [width, height] pixels
skewnumber–Group: Transform Skew
skewAxisnumber–Group: Transform Skew Axis, degrees
spatialPhasenumber–Wiggle Paths, Wiggle Transform: Spatial Phase, degrees
starPointsnumber–Polystar: number of points
starTypestring–Polystar: star or polygon
startnumber–Trim Paths: Start, percent
startOpacitynumber–Repeater: Transform Start Opacity, percent
startPointarray–Gradients: Start Point
taperobject–Stroke, gradient stroke: Taper
temporalPhasenumber–Wiggle Paths, Wiggle Transform: Temporal Phase, degrees
timenumber–Seconds: set keyframes at this time. Default: static values, or keyframes at the current time on animated properties
trimMultiplestring–Trim Paths: Trim Multiple Shapes
waveobject–Stroke, gradient stroke: Wave
widthnumber–Stroke, gradient stroke: Stroke Width, pixels
wigglesPerSecondnumber–Wiggle Paths, Wiggle Transform: Wiggles/Second

No output schema declared.

No examples provided.

set_solid_settings ~190

Change a solid layer's solid (Layer > Solid Settings): name, colour and size, either for every layer that uses the solid (Affect All Layers That Use This Solid) or for these layers only, through a new solid

NameTypeReqDescription
affectAllLayersboolean–Change the solid itself, so every layer using it changes (default true); false gives these layers a new solid
colorstring–"#RRGGBB" or "rgb(r,g,b)" (0-255)
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
heightinteger–Pixels
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
namestring–Solid name
widthinteger–Pixels

No output schema declared.

No examples provided.

set_text ~865

Set a text layer's Source Text and formatting (Character and Paragraph panels) for the whole layer or a range of characters or paragraphs: font (by PostScript name, or family and style), size, fill and stroke, tracking, kerning, leading, scale, baseline shift and super/subscript, caps, ligatures, tsume, digits, indents, spacing, justification, composer, direction and orientation, step changes, and Reset Character/Paragraph. Applies at the current time if Source Text is animated

NameTypeReqDescription
adjustobject–Step changes added to the current values, as the Character panel shortcuts do (negative to decrease)
allCapsboolean–All Caps
applyFillboolean–false: No Fill Color
applyStrokeboolean–false: No Stroke Color
autoKerningstring–Metrics or Optical kerning, or none
baselineDirectionstring–Vertical text: standard, rotated, or tate_chuu_yoko (Tate-Chuu-Yoko)
baselineOptionstring–Superscript, Subscript or normal
baselineShiftnumber–Pixels
boxSizearray–Paragraph text: [width, height] of the box in pixels
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
composerstring–Adobe Every-line or Single-line Composer
digitsstring–Digit set, e.g. hindi for Hindi Digits
directionstring–Paragraph text direction
endIndentnumber–Indent Right Margin, pixels
fauxBoldboolean–Faux Bold
fauxItalicboolean–Faux Italic
fillColorstring–Fill colour; turns fill on
firstLineIndentnumber–Indent First Line, pixels
fontstring–PostScript font name (find_fonts lists them)
fontFamilystring–Font family, with fontStyle, chosen through the font list (app.fonts)
fontSizenumber–Pixels
fontStylestring–Font style with fontFamily, e.g. "Bold"
hangingRomanboolean–Roman Hanging Punctuation
horizontalScalenumber–Percent; 100 resets
justificationstring–Paragraph alignment
kerningnumber–Manual kerning, thousandths of an em
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
leadingnumber–Pixels; turns auto leading off
leadingTypestring–Top-To-Top or Bottom-To-Bottom Leading
ligaturesboolean–Ligatures
lineJoinstring–Stroke line join
lineOrientationstring–Horizontal or vertical text
noBreakboolean–No Break
rangeobject–Format only part of the text. Character options on a paragraph range apply to its characters; paragraph options apply to whole paragraphs. Omit for the whole layer
resetCharacterboolean–Reset Character first (Character panel menu)
resetParagraphboolean–Reset Paragraph first (Paragraph panel menu)
smallCapsboolean–Small Caps
spaceAfternumber–Space After Paragraph, pixels
spaceBeforenumber–Space Before Paragraph, pixels
startIndentnumber–Indent Left Margin, pixels
strokeColorstring–Stroke colour; turns stroke on
strokeOverFillboolean–true: Stroke Over Fill; false: Fill Over Stroke
strokeWidthnumber–Pixels
textstring–New text (with range: replaces the range); line breaks start new lines
trackingnumber–Thousandths of an em; 0 resets tracking
tsumenumber–Percent
universalTextEngineboolean–true: switch the layer to the Universal Text Engine (cannot be switched back by script)
verticalScalenumber–Percent; 100 resets

No output schema declared.

No examples provided.

set_text_animator ~377

Add a text animator (Animation > Animate Text) with its properties (position, scale, rotation, opacity, fill colour, tracking, blur, character value, variable font axes, All Transform Properties...) and selectors (Animation > Add Text Selector: Range, Wiggly, Expression) with their settings; or add properties and selectors to an existing animator, or change an existing selector. A new animator without selectors gets a Range selector, as in the Animate menu

NameTypeReqDescription
animator––An existing animator to change: its 1-based index or name (list_text_animators). Omit to add a new animator
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
fontAxesarray–Variable font axes to animate (Animate Text > Variable Font Axes)
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
namestring–Name for the animator
propertiesobject–Animator properties to add (or set, when already there), each to a value or true for its default. Numbers or [x, y, z] arrays; *_color take "#RRGGBB". Keys: anchor_point, position, scale, skew, skew_…
selectorsarray–Selectors to add, or with selector: n, to change

No output schema declared.

No examples provided.

set_text_options ~417

Set a text layer's Path Options (text on a mask path: Reverse Path, Perpendicular To Path, Force Alignment, First and Last Margin), More Options (Anchor Point Grouping, Grouping Alignment, Fill & Stroke, Inter-Character Blending, Variable Font Spacing), Enable Per-character 3D (Animation menu) and Orient Each Character Independently (Layer > Transform > Auto-Orient)

NameTypeReqDescription
anchorPointGroupingstring–More Options > Anchor Point Grouping
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
fillAndStrokestring–More Options > Fill & Stroke (needs per-character 3D off)
firstMarginnumber–Path Options > First Margin, pixels
forceAlignmentboolean–Path Options > Force Alignment
groupingAlignmentarray–More Options > Grouping Alignment, [x, y] percent
interCharacterBlendinginteger–More Options > Inter-Character Blending: 1-based position in its blending mode menu (1 = Normal)
lastMarginnumber–Path Options > Last Margin, pixels
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
orientCharactersboolean–true: Orient Each Character Independently toward the camera (turns on per-character 3D); false: turn it off
pathinteger–Path Options > Path: the index of a mask on the same layer; 0 for none
perCharacter3Dboolean–Enable Per-character 3D
perpendicularToPathboolean–Path Options > Perpendicular To Path
reversePathboolean–Path Options > Reverse Path
variableFontSpacinginteger–More Options > Variable Font Spacing: 1-based position in its menu; present only when a variable font axis is animated

No output schema declared.

No examples provided.

set_track_matte ~115

Use another layer as a layer's track matte (alpha, alpha inverted, luma, luma inverted), or remove the matte

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
matteLayerinteger–Matte layer index
typestring–Default alpha; none removes the matte

No output schema declared.

No examples provided.

set_track_point ~289

Edit a track point on a layer's tracker (created by start_tracking track_motion): Feature Center, Feature Size, Search Offset, Search Size, Attach Point and Attach Point Offset, in pixels. With a time, or when the property is already keyframed, it sets a keyframe; otherwise the static value

NameTypeReqDescription
attachPointarray–Attach Point [x, y]
attachPointOffsetarray–Attach Point Offset [x, y] from the feature centre
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
featureCenterarray–Feature Center [x, y]
featureSizearray–Feature Size [width, height]
layersobjectyesThe layer: one index (1-based, from list_layers), name, or selected: true
point––Track point index (1-based) or name, e.g. "Track Point 1". Default 1
searchOffsetarray–Search Offset [x, y] from the feature centre
searchSizearray–Search Size [width, height]
timenumber–Set keyframes at this time in seconds
tracker––Tracker index (1-based) or name, e.g. "Tracker 1". Default 1

No output schema declared.

No examples provided.

set_transform ~174

Set layer transform values without keyframes: anchor point, position, scale (percent), rotation (degrees), opacity (percent), and 3D orientation and rotations. Animated properties are set at the current time

NameTypeReqDescription
anchorPointarray––
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
opacitynumber––
orientationarray–3D layers
positionarray–Pixels from the top-left
rotationnumber––
scalearray–Percent per axis
xRotationnumber––
yRotationnumber––

No output schema declared.

No examples provided.

set_view_options ~424

Change a viewer's view options: magnification (zoom percent, 100 for actual size), the Show Channel menu (RGB, red, green, blue, alpha, colorized, straight RGB; alpha boundary and overlay in the Layer panel), exposure, the transparency grid, Fast Previews (Off, Adaptive Resolution, Draft, Fast Draft, Wireframe), rulers, guides (show, snap, lock), which view is active, and maximizing the panel. Also the composition's resolution (Full, Half, Third, Quarter, Custom) and pausing viewer updates (Caps Lock)

NameTypeReqDescription
channelstring–Show Channel. alpha_boundary and alpha_overlay are Layer panel only
compobject–Open this composition in the Composition panel and use that viewer (item id or name). Omit both comp and layer for the focused viewer
customResolutionobject–Custom resolution: render every Nth pixel across and down
exposurenumber–Adjust Exposure, in stops; 0 resets
fastPreviewstring–Fast Previews mode (Composition panel only)
guidesLockedboolean–View > Lock Guides
guidesSnapboolean–View > Snap to Guides
guidesVisibleboolean–View > Show Guides
layerinteger–Open this layer (1-based, in comp or the active composition) in the Layer panel and use that viewer
maximizedboolean–Maximize the viewer panel, or restore it
pauseViewerUpdatesboolean–Stop viewers redrawing, as Caps Lock does
resolutionstring–Composition resolution (down-sample factor); custom takes customResolution
rulersboolean–View > Show Rulers
transparencyGridboolean–Show the transparency checkerboard
viewinteger–Make this view (1-based, in a two- or four-view layout) active and change it. Default the active view
zoomPercentnumber–Magnification percent; 100 is actual pixels

No output schema declared.

No examples provided.

show_panel ~44

Open or close a panel from the Window menu: Tools, Info, Audio or Preview. Choosing an open panel's command closes it

NameTypeReqDescription
panelstringyesThe panel

No output schema declared.

No examples provided.

show_text_panels ~49

Show the Character or Paragraph panel (Window > Character, Window > Paragraph), or toggle both text panels

NameTypeReqDescription
panelstringyescharacter, paragraph, or toggle (show or hide both)

No output schema declared.

No examples provided.

split_layers ~121

Split layers at a time (Edit > Split Layer): each becomes two layers, the original ending at the time and a duplicate above it starting there, both keeping all keyframes

NameTypeReqDescription
at––Seconds, or "current_time" (the default), "comp_start" or "comp_end"
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.

start_tracking ~326

Set up tracking from the Animation menu on one layer: Track Motion (adds a point tracker and opens the layer in the Layer panel), Track Mask (the mask tracker for the chosen masks), Track this Property (a track that drives the chosen property), Paste Mocha mask (Edit menu), Track in Boris FX Mocha; or open the Tracker panel or the Motion Tracking workspace (Window menu). The analysis itself runs from the Tracker panel; read and edit the resulting track points with get_tracking_data and set_track_point

NameTypeReqDescription
actionstringyestrack_motion, track_mask, track_property, paste_mocha_mask, track_in_mocha, tracker_panel (Window > Tracker) or workspace (Motion Tracking workspace)
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
layersobject–The layer: one index (1-based, from list_layers), name, or selected: true
masksarray–track_mask: mask indexes (1-based); omit for every mask on the layer
property––track_property: the property the track drives. A property: a shortcut (anchor_point, position, scale, rotation, opacity, x_rotation, y_rotation, orientation, source_text, time_remap, audio_levels) or…
timenumber–Move the current time here first (tracking starts from the current time)

No output schema declared.

No examples provided.

stretch_layers ~315

Time-stretch layers (Layer > Time > Time Stretch, the Stretch column): to a percentage or a new length, holding the In point, the current time or the Out point in place; or stretch so the In or Out point lands on a time (Ctrl/Cmd+Shift+, and +.). Optionally keep keyframes at their original times, or conform the source footage's frame rate instead

NameTypeReqDescription
at––Seconds, or "current_time" (the default), "comp_start" or "comp_end"
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
conformFrameRatenumber–Instead of stretching: conform the layers' source footage to this frame rate (Interpret Footage; 0 uses the file's rate). Affects every layer using that footage
durationnumber–New length between In and Out points, seconds
edgestring–Stretch so this end lands on at, keeping the other end in place
holdInPlacestring–percent and duration: which point stays put. Default in_point
keepKeyframeTimesboolean–Leave keyframes at their composition times instead of stretching them with the layer
layersobjectyesWhich layers. Give indexes (1-based, from list_layers), names, or selected: true
percentnumber–Stretch factor percent (100 is normal speed, 200 half speed, negative plays backwards)

No output schema declared.

No examples provided.

switch_all_layers ~129

Apply a switch to every layer in a composition (Layer > Switches): Unlock All Layers, Show All Video, or Hide Other Video (turn video off for every layer except the given ones)

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

No output schema declared.

No examples provided.

switch_workspace ~73

Switch to a built-in workspace (Window > Workspace), or reset the current workspace to its saved layout. Custom workspaces can be chosen by name with run_menu_command

NameTypeReqDescription
resetboolean–Reset the current (or chosen) workspace to its saved layout
workspacestring–The workspace to switch to

No output schema declared.

No examples provided.

tidy_project ~54

Remove unused footage, consolidate duplicate footage, or reduce the project to the chosen compositions and what they use (File > Dependencies)

NameTypeReqDescription
keeparray–reduce_project: composition ids to keep
operationstringyes–

No output schema declared.

No examples provided.

trim_layers ~188

Trim or extend layers' In or Out point to a time (Alt+[ and Alt+]: trim to the current time), or trim a set of layers together so the earliest In point or latest Out point lands there, keeping their offsets. Trimming never changes the source

NameTypeReqDescription
asSetboolean–Trim the layers as a set: the earliest In (or latest Out) point goes to the time and the others keep their offsets. Default false
at––Seconds, or "current_time" (the default), "comp_start" or "comp_end"
compobject–Which composition. Give its item id (from list_items) or name; omit for the active composition
edgestringyesWhich end to trim
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.