After Effects MCP Server
NPM · ADOBE-MCP-AFTEREFFECTS
Drive Adobe After Effects from any MCP client: compositions, layers, animation and rendering.
Available components
Last scanned (11 hours ago)
Scores higher than 39% of npm servers
Category Design and Media
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.
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.
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 →
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 →
get_tracking_data Get Tracking Data ~189
Read tracking results from layers: each tracker's track points (Feature Center, Feature Size, Search Offset, Search Size, Confidence, Attach Point, Attach Point Offset), or the Face Measurements and Face Track Points that detailed face tracking records, at a time and optionally every keyframe
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| keyframes | boolean | – | Also list each property's keyframes (time and value) |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| limit | integer | – | Most keyframes per property |
| source | string | – | trackers (Motion Trackers) or face (the face-tracking effects) |
| time | number | – | Read values at this time in seconds. Default: the current time |
No output schema declared.
No examples provided.
get_viewer_state Get Viewer State ~64
Describe the focused viewer (Composition, Layer or Footage panel) and its views: zoom, channel, exposure, Fast Previews, transparency grid, rulers and guides; the active composition's resolution and current time; the active tool; and whether viewer updates are paused
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
go_to_keyframe Go To Keyframe ~200
Move the current time to the previous, next, first or last keyframe (the keyframe navigator arrows, J and K): of one property, or of every animated property of the layers (the selected layers by default)
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| direction | string | yes | Where to go |
| layers | object | – | Which layers. Give indexes (1-based, from list_layers), names, or selected: true. Default the selected layers |
| property | – | – | A 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… |
No output schema declared.
No examples provided.
go_to_time Go To Time ~155
Move a composition's current-time indicator: to a time in seconds (View > Go to Time), forward or back a number of frames (Page Down/Page Up), to the start or end, to the start or end of the work area, or to a layer's In or Out point
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| frames | integer | – | Step this many frames; negative steps back (1 or 10 match the shortcuts) |
| layer | integer | – | layer_in, layer_out: the layer (1-based) |
| time | number | – | Seconds |
| to | string | – | Jump to this point |
No output schema declared.
No examples provided.
help Help ~30
List the tools by area, or describe one tool's parameters
| Name | Type | Req | Description |
|---|---|---|---|
| tool | string | – | A tool name |
No output schema declared.
No examples provided.
import_files Import Files ~127
Import files into the project (File > Import): footage, image sequences, layered Photoshop or Illustrator files as footage or compositions, another After Effects or Premiere Pro project, data files (JSON, mgJSON, CSV, TSV), or a .jsx expression library that expressions call through footage("name.jsx"), optionally into a folder
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | yes | Absolute paths |
| folder | integer | – | Put the items in this folder (id) |
| importAs | string | – | Default footage |
| sequence | boolean | – | Import the numbered files after each as an image sequence. Default false |
No output schema declared.
No examples provided.
interpret_footage Interpret Footage ~451
Change how footage is interpreted (File > Interpret Footage > Main or Proxy): alpha (ignore, straight, premultiplied with a matte colour, or guess), invert alpha, frame rate, field order, Preserve Edges, pulldown removal or guessing, pixel aspect ratio and loop count. copyFrom applies another item's interpretation first (Remember Interpretation, then Apply Interpretation)
| Name | Type | Req | Description |
|---|---|---|---|
| alpha | string | – | Alpha: Ignore, Straight - Unmatted, Premultiplied - Matted With Color, or Guess |
| copyFrom | integer | – | Footage item id whose main interpretation is copied first: alpha, matte colour, invert alpha, frame rate, fields, Preserve Edges, pulldown, loop and pixel aspect |
| fields | string | – | Separate Fields: off, upper field first, lower field first |
| frameRate | number | – | Conform to this frame rate (Assume This Frame Rate for stills); 0 returns to the file's own rate |
| invertAlpha | boolean | – | Invert Alpha |
| items | array | yes | Footage item ids (from list_items or get_footage_info) |
| loop | integer | – | Loop the footage this many times |
| matteColor | string | – | Matte colour for premultiplied alpha: "#RRGGBB" or "rgb(r,g,b)" |
| pixelAspect | number | – | Pixel aspect ratio, e.g. 1 (square), 0.9091 (D1/DV NTSC), 1.0940 (D1/DV PAL), 2 (anamorphic 2:1), 1.3333 (HDV 1080). Main footage only |
| preserveEdges | boolean | – | Preserve Edges (Best Quality Only) for separated fields |
| pulldown | string | – | Remove pulldown: a phase (W = whole frame, S = split frame; _24P_ADVANCE for 24Pa), OFF, or guess_3_2 / guess_24pa to let After Effects pick. Needs separated fields |
| source | string | – | Interpret the main footage or the item's proxy. Default main |
No output schema declared.
No examples provided.
list_effects List Effects ~56
List the effects installed in After Effects with their display name, match name and category, filtered by a search string. Match names are what apply_effect takes most reliably
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| query | string | – | – |
No output schema declared.
No examples provided.
list_items List Items ~61
List project items (compositions, footage, folders) with their id, type, folder and size. Ids are what other tools take
| Name | Type | Req | Description |
|---|---|---|---|
| folder | integer | – | Only items inside this folder (id) |
| type | string | – | Only this type |
No output schema declared.
No examples provided.
list_layer_effects List Layer Effects ~80
List the effects on layers, in order, with each effect's properties and values
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
No output schema declared.
No examples provided.
list_layers List Layers ~72
List a composition's layers, top to bottom, with index, id, type, switches, timing, parent, blending mode and track matte. Indexes are what other tools take
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
No output schema declared.
No examples provided.
list_masks List Masks ~176
List the masks on layers (Timeline panel, Masks group): index, name, mode, inversion, lock, colour, RotoBezier, motion blur, feather falloff, feather, opacity, expansion, selection and vertex count; optionally each path's vertices, tangents and feather points
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| masks | object | – | Which masks on each layer: indexes (1-based, as in the Timeline) or names. Omit for every mask |
| paths | boolean | – | Include each mask path: vertices, tangents, closed and variable-width feather points. Default false |
No output schema declared.
No examples provided.
list_paint_strokes List Paint Strokes ~120
List the paint strokes on layers (Paint effects made with the Brush, Clone Stamp and Eraser tools) and the Roto Brush & Refine Edge effects, with every setting's name and value, so set_paint_strokes and set_roto_brush can address them
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
No output schema declared.
No examples provided.
list_render_templates List Render Templates ~27
List the render settings and output module templates (Edit > Templates) available for queueing
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_shape_content List Shape Content ~150
List a shape layer's Contents (Timeline panel): groups, paths, fills, strokes and path operations as a tree with their type and match name, optionally with every property value
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| group | array | – | 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 |
| layers | object | yes | Which shape layers: indexes (1-based), names, or selected: true |
| values | boolean | – | Include each item's property values. Default false |
No output schema declared.
No examples provided.
list_text_animators List Text Animators ~84
List text layers' animators (Text > Animator groups) with their properties and values and their selectors
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
No output schema declared.
No examples provided.
manage_items Manage Items ~95
Rename, move to a folder, set the label colour of, or delete project items
| Name | Type | Req | Description |
|---|---|---|---|
| delete | boolean | – | Delete the items. Default false |
| folder | integer | – | Move into this folder (id); 0 for the root |
| items | array | yes | Item ids |
| label | integer | – | Label colour number, 0 = none |
| rename | string | – | New name (one item only) |
No output schema declared.
No examples provided.
manage_masks Manage Masks ~248
Delete masks (or all of them: Layer > Masks > Remove All Masks), duplicate them (Edit > Duplicate), select them or move the selection to the next or previous mask, toggle Layer > Mask > Hide Locked Masks, or limit an effect to masks (the effect's Compositing Options > Mask Reference)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | delete (every mask when masks is omitted), duplicate, select (only these), select_next or select_previous (from the selected mask on each layer), toggle_hide_locked (Hide Locked Masks on the layers),… |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| effect | string|integer | – | reference_in_effect: the effect on the layer, by name or 1-based index in the Effect Controls panel |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| masks | object | – | Which masks on each layer: indexes (1-based, as in the Timeline) or names. Omit for every mask |
No output schema declared.
No examples provided.
manage_motion_graphics_template Manage Motion Graphics Template ~250
Build a Motion Graphics template from a composition (Essential Graphics panel): add layer properties as controls, name the template, open the composition in the Essential Graphics panel, or export it as a .mogrt file. Returns the template's controls
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to do |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| folder | string | – | export: absolute folder for the .mogrt (default the Essential Graphics templates folder) |
| layers | object | – | add_property: the layers whose property to add |
| name | string | – | add_property: the control's name (default the property name); set_name: the template name |
| overwrite | boolean | – | export: replace an existing file. Default false |
| property | – | – | add_property: A 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… |
No output schema declared.
No examples provided.
manage_puppet Manage Puppet ~187
Puppet tools: add an empty Puppet effect to layers, choose a Puppet pin tool in the Tools panel (Position, Starch, Overlap, Advanced or Bend Pin) so pins can be placed in the Composition panel, duplicate a Puppet mesh, or list the meshes and pins with their paths for set_keyframes
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to do |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | – | Which layers. Give indexes (1-based, from list_layers), names, or selected: true. For add_effect, duplicate_mesh and list |
| mesh | integer | – | For duplicate_mesh: the mesh number, 1 = first. Default 1 |
| tool | string | – | For choose_tool: position, starch, overlap, advanced or bend |
No output schema declared.
No examples provided.
manage_render_queue Manage Render Queue ~80
Read the Render Queue, or remove, duplicate (Edit > Duplicate in the Render Queue panel), or turn items on and off for rendering
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | list, remove, duplicate (copies go to the end of the queue), enable, disable, or clear the whole queue |
| items | array | – | 1-based queue indexes |
No output schema declared.
No examples provided.
manage_script_settings Manage Script Settings ~138
Read, save or check a saved script setting (app.settings): text values kept in the After Effects preferences between sessions, under a section and key of your choosing. Values are stored as text, at most 1999 bytes
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | get reads the value, save stores it, has checks it exists |
| file | string | – | Preference file (PREFType). Default machine_specific, the "Prefs.txt" file |
| key | string | yes | Key name |
| section | string | yes | Section name, e.g. your script's name |
| value | string | – | save: the text to store |
No output schema declared.
No examples provided.
manage_team_project Manage Team Project ~182
Work with Team Projects (File > Team Project): check sign-in and status, list team projects, create or open one, share your changes with a comment, get the latest changes, resolve conflicts, convert the open team project to a local .aep, or close it. Needs a Creative Cloud sign-in with Team Projects available
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to do; status reports sign-in and which commands are available |
| comment | string | – | share: a comment for collaborators |
| description | string | – | create: a description |
| file | string | – | convert: absolute path of the .aep or .aet to write |
| name | string | – | create, open: the team project name |
| resolution | string | – | resolve: keep the shared version, keep it and a copy of yours, or keep yours |
No output schema declared.
No examples provided.
move_layers Move Layers ~291
Move layers in time without changing their length: put the In or Out point at a time ([ and ]: the current time; or the composition start or end), alone or as a set keeping offsets; nudge by frames (Alt+Page Up/Down) or seconds; stagger them in order (Quick Offset); or slip-edit the source under fixed In and Out points
| Name | Type | Req | Description |
|---|---|---|---|
| asSet | boolean | – | in_point_to and out_point_to: move the layers together so the earliest In point (or latest Out point) lands on the time. Default false |
| at | – | – | Seconds, or "current_time" (the default), "comp_start" or "comp_end" |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| frames | integer | – | offset, stagger, slip: frames (negative is earlier) |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| mode | string | yes | in_point_to, out_point_to (use at), offset (by frames or seconds), stagger (each layer one step later than the one before, in the order given), slip (move the source by frames or seconds inside the I… |
| seconds | number | – | offset, stagger, slip: seconds instead of frames |
No output schema declared.
No examples provided.
open_comp Open Comp ~49
Open a composition in the Composition panel and make it the active one
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
No output schema declared.
No examples provided.
open_footage Open Footage ~107
Open a footage item in the Footage panel, reveal its file in Finder or Explorer (Reveal in Finder / Reveal in Explorer) or in Adobe Bridge (File > Reveal in Bridge), or open it in the application that made it (Edit > Edit Original). With target bridge and no item, opens Adobe Bridge (File > Browse in Bridge)
| Name | Type | Req | Description |
|---|---|---|---|
| item | integer | – | Footage item id. Optional only for target bridge |
| target | string | yes | Where to open it |
No output schema declared.
No examples provided.
open_layer Open Layer ~140
Open a layer (Layer > Open Layer) in the Layer panel, open its source (Layer > Open Layer Source: footage in the Footage panel, a pre-composition in the Composition panel), or select its source item in the Project panel (Reveal Layer Source In Project)
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | One layer. Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| target | string | – | layer (Layer panel, the default), source, or reveal_source |
No output schema declared.
No examples provided.
open_project Open Project ~95
Open an .aep project, an .aet template (which opens as an untitled copy) or a .mogrt Motion Graphics template as a project, or start a new empty one. Unsaved changes in the current project are discarded, so save first
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | – | Absolute .aep, .aepx, .aet or .mogrt path. Omit for a new project |
No output schema declared.
No examples provided.
organize_effects Organize Effects ~213
Duplicate effects on their layers (Edit > Duplicate), move an effect up or down the layer's effect stack (drag in the Effect Controls panel), or copy effects with their keyframes and expressions to other layers in the composition (Edit > Copy, Edit > Paste; uses the clipboard and opens the composition in the Composition panel)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to do |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| effects | array | – | Applied effects by name, match name or position (1 = top); omit for all (one effect for move) |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true. For copy_to_layers, one source layer |
| position | integer | – | move: the new position in the stack, 1 = top |
| to | object | – | copy_to_layers: the layers to paste the effects onto |
No output schema declared.
No examples provided.
parent_layers Parent Layers ~146
Parent layers to another layer (or remove the parent), keeping their current position on screen, or with jump (Alt/Option while parenting): the child takes the parent's transform and jumps to it
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| jump | boolean | – | Parent with jump: keep the child's transform values relative to the new parent instead of its place on screen. Default false |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| parent | integer | – | Parent layer index; omit to remove the parent |
No output schema declared.
No examples provided.
paste_svg_as_shapes Paste SVG As Shapes ~66
Paste SVG artwork from the clipboard (for example copied from Illustrator) into a composition as shape layers (Edit > Paste). Opens the composition first
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
No output schema declared.
No examples provided.
precompose Precompose ~110
Pre-compose layers into a new composition (Layer > Pre-compose), moving all attributes or leaving them in the original
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| moveAllAttributes | boolean | – | Move all attributes into the new composition. Default true |
| name | string | yes | – |
No output schema declared.
No examples provided.
purge_caches Purge Caches ~77
Free memory or disk cache (Edit > Purge): all memory and disk cache, all memory, undo history, image cache memory, snapshots, all disk cache, all 3D cache, or all cache. Purging undo means earlier steps can no longer be undone
| Name | Type | Req | Description |
|---|---|---|---|
| targets | array | yes | What to purge, in order |
No output schema declared.
No examples provided.
queue_render Queue Render ~245
Add a composition to the Render Queue (Composition > Add to Render Queue) with a render settings template, an output module template and an output file, optionally a time span, a single frame (Composition > Save Frame As > File) or as a pre-render that imports the result and replaces the composition's uses (Composition > Pre-render)
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| duration | number | – | Seconds |
| frame | number | – | Render only the frame at this time (seconds), as Save Frame As > File does; not with start or duration |
| outputFile | string | yes | Absolute output path; the extension should match the output module |
| outputModule | string | – | Output module template, e.g. "High Quality", "H.264 - Match Render Settings - 15 Mbps" |
| preRender | boolean | – | Pre-render: after rendering, import the file and replace the composition's uses with it. Default false |
| renderSettings | string | – | Render settings template, e.g. "Best Settings" |
| start | number | – | Seconds |
No output schema declared.
No examples provided.
quit_aftereffects Quit After Effects ~84
Quit After Effects (After Effects > Quit, or File > Exit on Windows). Unsaved changes are refused unless you choose to save or discard them. After Effects quits a moment after the call returns
| Name | Type | Req | Description |
|---|---|---|---|
| unsavedChanges | string | – | What to do if the project has unsaved changes: refuse (default, the call fails), save to its file, or discard |
No output schema declared.
No examples provided.
reframe_layers Reframe Layers ~128
Fit, centre or flip layers (Layer > Transform): Fit to Comp, Fit to Comp Width, Fit to Comp Height, Center In View, Center Anchor Point in Layer Content, Flip Horizontal, Flip Vertical. The fit and centre commands select the layers and make their composition active
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to do |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
No output schema declared.
No examples provided.
reload_footage Reload Footage ~51
Re-read footage items from disk so changes made in other applications appear (File > Reload Footage)
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | Footage item ids (from list_items or get_footage_info) |
No output schema declared.
No examples provided.
remap_layer_speed Remap Layer Speed ~152
Play layers faster or slower with time remapping (Layer > Time > Enable Time Remapping), which also raises or lowers the pitch of their audio. Replaces any Time Remap keyframes with a constant speed and moves the Out point to the new end
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| speedPercent | number | yes | Playback speed: 100 is normal, 200 twice as fast and an octave higher, 50 half speed. Keep audio under about 200 |
No output schema declared.
No examples provided.
remap_layer_time Remap Layer Time ~253
Time remapping (Layer > Time): enable or disable it, Freeze Frame at a time, Freeze On Last Frame (extend the layer to the composition end holding its last frame), hold one frame between two times and then resume, or set Time Remap keyframes saying which source time shows at each composition time (as the Layer panel's remap marker does)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | enable, disable, freeze_frame (at), freeze_on_last_frame, hold (from, to), set_keyframes (keyframes) |
| at | – | – | freeze_frame: the frame to hold. Seconds, or "current_time" (the default), "comp_start" or "comp_end" |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| from | number | – | hold: composition time (seconds) whose frame is held |
| keyframes | array | – | set_keyframes: Time Remap keyframes |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| to | number | – | hold: composition time (seconds) where playback resumes |
No output schema declared.
No examples provided.
remove_effects Remove Effects ~113
Remove effects from layers by name or index, or all of them, or turn them off and on
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| effects | array | – | Effect names; omit for all |
| enabled | boolean | – | Turn the effects on or off instead of removing them |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
No output schema declared.
No examples provided.
remove_keyframes Remove Keyframes ~165
Remove keyframes from a property: all of them, or those between two times
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| from | number | – | Seconds |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
| property | – | yes | A 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… |
| to | number | – | Seconds |
No output schema declared.
No examples provided.
remove_text_animators Remove Text Animators ~120
Remove text animators from text layers: chosen ones by index or name, or all of them (Animation > Remove All Text Animators)
| Name | Type | Req | Description |
|---|---|---|---|
| all | boolean | – | Remove every animator |
| animators | array | – | Animators to remove: 1-based indexes or names |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
No output schema declared.
No examples provided.
render_queue Render Queue ~76
Render every queued item in After Effects (blocks until done; raise AFTEREFFECTS_SCRIPT_TIMEOUT_MS for long renders), or send the queue to Adobe Media Encoder
| Name | Type | Req | Description |
|---|---|---|---|
| mediaEncoder | boolean | – | Queue in Adobe Media Encoder instead. Default false |
| startEncoding | boolean | – | Media Encoder: start encoding at once. Default true |
No output schema declared.
No examples provided.
replace_footage Replace Footage ~264
Replace a footage item's source everywhere it is used, keeping layer changes (File > Replace Footage): with another file or image sequence, a colour-bar placeholder, a solid, or a composition built from a layered Photoshop or Illustrator file (With Layered Comp)
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | solid: colour, "#RRGGBB" or "rgb(r,g,b)" |
| duration | number | – | placeholder: seconds. Default the item's duration, or 10 |
| file | string | – | file, sequence: absolute path (for a sequence, its first file) |
| forceAlphabetical | boolean | – | sequence: Force alphabetical order, so gaps in the numbering do not become placeholder frames. Default false |
| frameRate | number | – | placeholder: frames per second. Default the item's rate, or 30 |
| height | integer | – | placeholder, solid: pixels. Default the item's height |
| item | integer | yes | Footage item id |
| name | string | – | placeholder, solid: name. Default the item's name |
| pixelAspect | number | – | solid: pixel aspect ratio. Default the item's |
| width | integer | – | placeholder, solid: pixels. Default the item's width |
| with | string | yes | What replaces it |
No output schema declared.
No examples provided.
replace_layer_source Replace Layer Source ~131
Replace layers' source with another footage item or composition (Alt/Option-drag in the Project panel), keeping their properties, effects and keyframes
| Name | Type | Req | Description |
|---|---|---|---|
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| fixExpressions | boolean | – | Update expressions that refer to the old source name. Default true |
| item | integer | yes | The new source: a project item id (from list_items) |
| layers | object | yes | Which layers. Give indexes (1-based, from list_layers), names, or selected: true |
No output schema declared.
No examples provided.
resolve_project_fonts Resolve Project Fonts ~61
List the fonts the project uses, marking ones that are missing and substituted (as in the Resolve Fonts dialog), or replace fonts across every text layer
| Name | Type | Req | Description |
|---|---|---|---|
| replace | array | – | Replacements to make, by PostScript name. Omit to list fonts |
No output schema declared.
No examples provided.
run_aftereffects_script_file Run After Effects Script File ~211
Run an ExtendScript file in After Effects (File > Scripts > Run Script File) as one undo step with dialogs suppressed, or schedule it to run after a delay (optionally repeating) and cancel a scheduled run, or run a script listed in the File > Scripts menu by its file name. Scripts run unrestricted
| Name | Type | Req | Description |
|---|---|---|---|
| cancelTask | integer | – | Cancel a scheduled run by the task id it returned |
| delaySeconds | number | – | With file: run it this long from now instead of now, and return the task id |
| file | string | – | Absolute path to a .jsx, .jsxbin or .js file |
| repeat | boolean | – | With delaySeconds: run again every delaySeconds until cancelled. Default false |
| scriptsMenuItem | string | – | Run the script shown in File > Scripts with this name, e.g. "Demo Palette.jsx" |
| undoName | string | – | Name of the undo step (Edit > Undo). Default "Run script" |
No output schema declared.
No examples provided.
run_animation_command Run Animation Command ~269
Run an Animation or Timeline command that acts on the selection: Enable Auto-keyframe (toggle), Select Equal / Previous / Following Keyframes, Select Keyframe Label Group (and its On Selected Layers, On All Layers and Visible Keyframes variants), Keyframe Assistant > Exponential Scale, RPF Camera Import and Create Keyframes from Data, Reveal in Timeline, Reveal Properties with Animation, Reveal All Modified Properties and Reveal Expression Errors. Select keyframes first with select_keyframes; layers (and property) given here are selected before the command runs
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The command |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition. It is opened in the Timeline first |
| layers | object | – | Select only these layers first (indexes, names, or selected: true to keep the selection) |
| property | – | – | With layers, also select this property (Reveal in Timeline). A property: a shortcut (anchor_point, position, scale, rotation, opacity, x_rotation, y_rotation, orientation, source_text, time_remap, au… |
No output schema declared.
No examples provided.
run_audio_command Run Audio Command ~125
Run an audio command on layers: Convert Audio to Keyframes (Animation > Keyframe Assistant), which adds an Audio Amplitude layer with Slider keyframes, or Edit in Adobe Audition (Edit menu), which opens the layer's audio file in Audition when it is installed
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The command |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layers | object | yes | The audio layers to select first (1-based indexes, names, or selected: true) |
No output schema declared.
No examples provided.
run_camera_command Run Camera Command ~181
Run a Layer > Camera or Layer > Light command on a layer: link the focus distance to the Point of Interest or to another layer, set the focus distance to another layer once, create an orbit null, create a stereo 3D rig (whose Stereo 3D Controls set_property can change), or create cameras or lights from a 3D model layer. Selects the layers the command needs first
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | – |
| comp | object | – | Which composition. Give its item id (from list_items) or name; omit for the active composition |
| layer | integer | yes | The camera layer index (focus, orbit null and stereo commands) or the 3D model layer index (create cameras or lights) |
| target | integer | – | link_focus_to_layer and set_focus_to_layer: the layer to focus on |
No output schema declared.
No examples provided.
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
claude mcp add zachshallbetter-adobe-mcp-aftereffects -- npx -y adobe-mcp-aftereffects
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.