Skip to main content
Glama

Adobe Studio MCP

One free, open-source MCP server that lets Claude (or any MCP client) drive After Effects, Premiere Pro, Photoshop and Illustrator — together.

  • 182 native tools — full Filmit-style motion-graphics & editing toolset (same tool names, ae_ / pr_ prefix), plus advanced extras: 3D cameras & lights, camera moves, text animators, expression rigs, markers, time-remap, MOGRT / Essential Graphics, render queue & Adobe Media Encoder, Premiere auto-reframe, scene-edit detection, speed, captions, XML/AAF export…

  • +501 community tools from the 5 best Adobe MCPs on GitHub, bundled and served through the same connection (searchable catalog, or flat).

  • Cross-app workflows — Dynamic Link (AE comps → Premiere, live), Premiere → AE, PSD → layered AE comp, Illustrator → AE shape layers, frames → Photoshop, PS/AI → Premiere, AE → MOGRT → Premiere, BridgeTalk messaging between apps.

  • Launch / open / quit apps by command — no computer-use or clicking.

  • Plugins & extensions — discover every installed effect plugin, CEP panel, UXP plugin, script, preset, MOGRT and action; use them (any third-party effect, any script, any menu command), read/edit their files, enable/disable, install new ones, and talk to open CEP panels live.

  • Media — download from YouTube (and 1000+ sites) with yt-dlp as MP4 (edit-friendly H.264), MOV, MKV, WebM, MP3, WAV, M4A, FLAC…; search & download Pixabay photos, illustrations, vectors and videos with the official API — and drop them straight into any app.

  • Nothing is out of reach — raw ExtendScript (adobe_runScript), AE menu commands, Photoshop Action Manager (batchPlay-style JSON → every PS command and plugin filter), Illustrator menu commands & Live Effects, Premiere QE DOM.

Not affiliated with Adobe. Windows first-class, macOS supported.

Install (Windows)

Requirements: Node.js 18+, Git, Adobe apps (2022 or newer recommended).

git clone --recurse-submodules https://github.com/UXxArunjay/adobe-studio-mcp.git
cd adobe-studio-mcp
powershell -ExecutionPolicy Bypass -File scripts\install-windows.ps1

The installer builds the server and the 5 bundled MCPs, installs the Adobe Studio MCP Hub (one hidden CEP extension that loads in all four apps), enables unsigned CEP extensions, turns on After Effects Allow Scripts to Write Files and Access Network, and adds adobe-studio to Claude Desktop (backup kept). Restart the Adobe apps and Claude Desktop, then ask: "adobe_status".

macOS: bash scripts/install-macos.sh.

Other MCP clients

{ "mcpServers": { "adobe-studio": { "command": "node", "args": ["C:/path/to/adobe-studio-mcp/dist/index.js"] } } }

Claude Code: claude mcp add adobe-studio -- node C:/path/to/adobe-studio-mcp/dist/index.js

Related MCP server: AfterEffectsMCP

How it connects

App

Transport (first available)

Needs

After Effects

Hub (CEP) → AfterFX.exe -r script + result file

Hub, or the AE scripting pref (installer sets it)

Premiere Pro

Hub (CEP)

Hub (auto-starts; Window › Extensions › Adobe Studio MCP Hub shows status)

Photoshop

Hub (CEP) → Windows COM

nothing

Illustrator

Hub (CEP) → Windows COM

nothing

Every call is serialized per app, wrapped in an undo group (AE), Unicode-safe (Hindi etc.), and returns JSON or an image (*_exportFrame, ps_preview, xapp_preview) so the model can check its own work.

Configuration (env vars)

Variable

Default

Purpose

ADOBE_MCP_MODE

compact

compact: community tools via adobe_catalog_*; full: all ~680 tools listed flat; off: native only

ADOBE_MCP_TOOLSETS

all

Limit native toolsets, e.g. ae,pr,xapp (smaller tool list = fewer tokens)

ADOBE_MCP_TIMEOUT_MS

120000

Default per-call timeout

PIXABAY_API_KEY

–

Pixabay key (or adobe_config {"set":{"pixabayKey":"…"}}) — free at pixabay.com/api/docs

ADOBE_MCP_MEDIA_DIR

~/.adobe-studio-mcp/media

Where downloads go

ADOBE_MCP_AE_EXE / _PR_EXE / _PS_EXE / _AI_EXE

auto

Custom app paths

Tools

Full list with descriptions: docs/TOOLS.md. Highlights:

  • Studio: adobe_status, adobe_launchApp, adobe_openFile, adobe_quitApp, adobe_runScript, adobe_batch, adobe_setup, adobe_config

  • Plugins: adobe_listPlugins, adobe_pluginFile, adobe_togglePlugin, adobe_installPlugin, adobe_extensions, ae_listEffects, pr_findEffects, ae_applyPreset, ae_runScriptFile, ps_runAction, ai_runAction

  • After Effects (72): comps, text/shape/solid/null/adjustment/camera/light layers, masks, effects, keyframes & easing, expressions & templates, track mattes, parenting, precompose, 3D, camera moves, markers, time remap, render queue, AME, MOGRT…

  • Premiere Pro (39): project/sequence state, place/insert, razor, ripple range removal, trim, move, speed, Motion/Opacity/Volume keyframes, effects & transitions, MOGRT titles, captions, markers, tracks, export via AME, XML, auto-reframe, scene detection, pr_applyEditPlan

  • Photoshop (22) / Illustrator (16): documents, layers, text, shapes, filters, adjustment layers, selections (Select Subject/Sky), Remove Background, content-aware fill, layer styles, smart objects, artboards, image trace, exports, Action Manager / menu commands

  • Cross-app (16): xapp_aeCompToPremiere, xapp_premiereToAE, xapp_photoshopToAE, xapp_illustratorToAE, xapp_frameToPhotoshop, xapp_toPremiere, xapp_mogrtToPremiere, xapp_renderAEToPremiere, xapp_bridgeTalk, xapp_preview, media_youtubeDownload, media_info, media_tools, media_import, pixabay_search, pixabay_download

  • Catalog: adobe_catalog_search → adobe_catalog_describe → adobe_catalog_call over ae1 / ae2 / pr1 / ps1 / ai1

Bundled community MCPs

id

Project

Tools

ae1

Dakkshin/after-effects-mcp

13

ae2

kumoproductions/mcp-aftereffects

11 (+ dozens of do operations)

pr1

hetpatel-11/Adobe_Premiere_Pro_MCP

283

ps1

alisaitteke/photoshop-mcp

128 (incl. Firefly generative fill/expand)

ai1

ie3jp/illustrator-mcp-server

66

All MIT — see THIRD_PARTY_NOTICES.md. Update them with node scripts/setup-upstream.mjs --pull.

Troubleshooting

  • Run adobe_status first — it tells you, per app, whether it is installed, running and connected, and what to do next.

  • Launch apps with adobe_launchApp. On Windows it starts them through the Windows shell, so their CEP engine (and the hub) loads even when the MCP runs inside a sandboxed agent.

  • Photoshop 2026 without the Creative Cloud desktop service may not start CEP at all (PlugPlugSetup error in %TEMP%\CEP12-PHXS.log). Nothing to do — Photoshop is driven through COM automatically.

  • After Effects frame export uses saveFrameToPng and falls back to a one-frame Render Queue render (needs ffmpeg, auto-installed). AE renders only while its window is not minimised and the PC is unlocked.

  • Premiere built-in titles (Basic Title…) keep their text in a binary format that scripting can't edit in Premiere 2026. For editable text use an After Effects MOGRT (xapp_mogrtToPremiere) or pr_addCaptions.

  • Premiere effect parameter names differ between versions (e.g. 2026 Gaussian Blur uses Amount); a wrong name returns the list of available parameters.

  • YouTube errors: media_tools {"action":"update"} updates yt-dlp, which fixes most extraction problems.

Development

npm install && npm run build
npm test          # ES3 syntax check of all 150+ generated ExtendScript programs + MCP smoke test
npm run docs      # regenerate docs/TOOLS.md

Add a tool: jsxTool({ name, toolset, app, description, input: { …zod… }, jsx: String.raw\…ExtendScript body…` })insrc/tools/*.ts. Helpers available inside every script are in src/jsx/prelude.ts`.

Responsible use

Download only media you own or are licensed to use (your own uploads, Creative Commons, permission from the owner). Respect YouTube's Terms of Service and creators' copyright. Pixabay content is free under the Pixabay Content License; credit is appreciated.

License

MIT © 2026 Arunjay Patel.

Available Tools

182 tools
adobe_batchA

Run many tool calls (any native tool: ae_*, pr_*, ps_*, ai_*, xapp_*, media_*, pixabay_*) in one go, in order — fewer round trips. steps:[{tool, input}]. stopOnError default true.

Inputs: steps (required), stopOnError.

adobe_catalog_callB

Call a catalog tool from a bundled community MCP with its arguments: {tool:"pr1__add_transition", arguments:{...}}.

Inputs: tool (required), arguments.

adobe_catalog_describeB
Read-only

Full description and input JSON schema of a catalog tool (name like "ps1__photoshop_generative_fill").

Inputs: tool (required).

adobe_catalog_librariesB
Read-only

Status of the bundled community MCP libraries (installed/built, tool counts, setup notes); refresh:true reconnects and rebuilds the catalog.

Inputs: refresh.

adobe_configB

Read or set Adobe Studio MCP settings stored on this computer: pixabayKey (Pixabay API key), mediaDir (default download folder), ytdlpArgs (extra yt-dlp args).

Inputs: set.

adobe_extensionsB

Talk to CEP extensions/panels LIVE inside a running app (through the Adobe Studio MCP Hub): list loaded extensions, open or close a panel by extension id, dispatch a CSEvent to extensions (many panels listen for events), listen for events and read them back, get host environment. Call a panel's ExtendScript functions with adobe_runScript.

Inputs: app (required), action (required), id, data, +3 more.

adobe_installPluginA

Install an extension/plugin/script/preset from a file or folder: .zxp/.zip/folder CEP extension → user CEP folder; .ccx UXP plugin → Adobe UPIA installer; .jsx/.jsxbin → AE Scripts (or ScriptUI Panels with panel:true); .ffx → AE User Presets; .mogrt → Premiere Essential Graphics; .atn → loaded into Photoshop; .aex/.8bf/.aip/.prm → the app Plug-ins folder (admin may be needed).

Inputs: path (required), app, panel.

adobe_launchAppA

Open an Adobe app by command — After Effects, Premiere Pro, Photoshop, Illustrator or Media Encoder — optionally with files (projects/images) and a specific version year; waits until it accepts scripts (wait:false to return immediately). No computer-use needed.

Inputs: app (required), wait, files, version, +1 more.

adobe_listPluginsA
Read-only

Discover everything installed for the Adobe apps: effect/filter plugins (.aex/.prm/.8bf/.aip), CEP extensions (panels, with bundle ids/hosts/menus), UXP plugins, ExtendScript scripts & ScriptUI panels, AE presets (.ffx), MOGRTs, Photoshop actions. Filter by app, kind, text. For live in-app effect lists also use ae_listEffects / pr_findEffects.

Inputs: app, kind, limit, filter.

adobe_openFileA

Open any file in the right Adobe app (.aep→AE, .prproj→Premiere, .psd/.jpg/.png/RAW→Photoshop, .ai/.svg/.eps/.pdf→Illustrator) — launches the app first if needed. app overrides the choice.

Inputs: path (required), app, discardChanges.

adobe_pluginFileA

Read or edit the files of an installed extension / script / preset (manifest.xml, panel HTML/JS, host .jsx, UXP manifest.json, scripts...). Actions: list (folder), read, write (makes a .mcpbak backup first), restore (from .mcpbak). Restricted to Adobe plugin/extension/script folders.

Inputs: path (required), action (required), content.

adobe_quitAppA
Destructive

Quit an Adobe app by command. mode: "safe" (default — refuses if anything is unsaved), "save" (saves open work first), "discard" (closes without saving), "force" (kills the process — unsaved work is lost).

Inputs: app (required), mode.

adobe_runScriptA

Run raw ExtendScript inside an app — full scripting-DOM access to EVERYTHING the app exposes (AE app.project, Premiere app.project + QE (app.enableQE(); qe.project), Photoshop DOM + Action Manager, Illustrator DOM, BridgeTalk). The code is a function body: return a JSON-able value; helpers are preloaded (__comp, __layer, __prop, __seq, __track, __clip, __doc, __hex, __s...). ARGS holds args. Or pass file to $.evalFile a .jsx.

Inputs: app (required), args, code, file, +2 more.

adobe_setupA

One-time setup / repair: installs the Adobe Studio MCP Hub CEP extension (for all 4 apps), enables unsigned CEP extensions (PlayerDebugMode), and turns on After Effects "Allow Scripts to Write Files and Access Network". Restart the apps afterwards.

Inputs: skipAePrefs.

adobe_statusA
Read-only

Which Adobe apps are installed (versions, paths), running, and scriptable right now (transport: hub|com|afterfx|osascript), hub panel heartbeats, and next steps. Call first in a session.

Inputs: no named parameters.

adobe_togglePluginA

Enable or disable an installed plugin / extension / script by path (renames to/from ".disabled" so the app skips it on next launch). Program Files locations may need the MCP to run as administrator.

Inputs: path (required), enabled (required).

ae_addAdjustmentB

After Effects: add an adjustment layer (optionally with effects by name/matchName) affecting everything below it.

Inputs: name, effects, duration, startTime, +1 more.

ae_addCameraA

After Effects: add a 3D camera (preset focal length mm, e.g. 35/50/85), with optional position/pointOfInterest, one-node (no POI), depth of field (focusDistance, aperture, blurLevel).

Inputs: name, oneNode, aperture, position, +6 more.

ae_addEffectA

After Effects: add ANY effect (built-in or third-party plugin) by display name or matchName, optionally setting parameters {paramName: value} (colors as hex). Use ae_listEffects to discover installed effects.

Inputs: layer (required), effect (required), name, properties, +1 more.

ae_addExpressionControlB

After Effects: add an expression control (slider/angle/checkbox/color/point/point3d/layer/dropdown) to rig expressions against.

Inputs: layer (required), controlType (required), name, items, +2 more.

ae_addLightB

After Effects: add a light — point, spot, parallel, ambient — color, intensity %, position, cone angle/feather, casts shadows.

Inputs: name, type, color, position, +6 more.

ae_addMarkersC

After Effects: add comp or layer markers [{time, comment?, duration?, chapter?, url?, label?}] — e.g. VO word/sync markers.

Inputs: markers (required), layer, compositionName.

ae_addMaskB

After Effects: add a mask to a layer — rect [x,y,w,h], ellipse [x,y,w,h] or path points (layer space) — with mode, feather, expansion, opacity, inverted.

Inputs: layer (required), mode, name, rect, +7 more.

ae_addNullA

After Effects: add a null object (for parenting / rigs), optionally 3D and positioned.

Inputs: name, threeD, position, compositionName.

ae_addShapeLayerB

After Effects: add a vector shape layer — rect, roundedRect, ellipse, polygon, star or custom path (points [[x,y],...] relative to the layer center) — with hex fill/stroke. position = layer center (default comp center).

Inputs: size (required), shape (required), fill, name, +12 more.

ae_addSolidB

After Effects: add a solid layer (default comp size, full duration).

Inputs: name, size, color, duration, +2 more.

ae_addTextAnimatorA

After Effects: per-character text animator with a range-selector reveal — typewriter, fadeInChars, scaleInChars, slideInChars, tracking — over duration seconds from startTime. basedOn chars|words|lines.

Inputs: layer (required), animator (required), slide, basedOn, +6 more.

ae_addTextLayerB

After Effects: add a text layer (point text, or paragraph text when boxSize is given) with font, size, color, stroke, tracking, leading, justification and position (default comp center).

Inputs: text (required), font, name, color, +16 more.

ae_addToRenderQueueB

After Effects: add a comp to the Render Queue with output path, output-module template (e.g. "H.264 - Match Render Settings - 15 Mbps", "Lossless", "High Quality with Alpha") and render-settings template; work area or custom range.

Inputs: outputPath (required), start, duration, compositionName, +2 more.

ae_alignLayersA

After Effects: align layers to the comp — left, hCenter, right, top, vCenter, bottom, center — with margin px (uses visual bounds, respects anchor point).

Inputs: align (required), layers (required), margin, compositionName.

ae_applyExpressionTemplateA

After Effects: apply a ready-made expression — wiggle, wiggleSmooth, loopCycle, loopPingpong, loopOffset, loopContinue, bounce, inertia, overshoot, time. params tune it (freq/amp/decay/rate/elasticity/gravity/bounces). bounce/inertia/overshoot ride after your keyframes.

Inputs: layer (required), property (required), template (required), params, +1 more.

ae_applyGradientB

After Effects: apply a reliable gradient (Gradient Ramp) with real colors. stops [{color:hex}, ...] (first + last used), type linear|radial, angleDeg (linear direction).

Inputs: layer (required), stops (required), type, blend, +2 more.

ae_applyPresetC

After Effects: apply an animation preset (.ffx — including third-party preset packs) to layers.

Inputs: path (required), layers (required), compositionName.

ae_audioToKeyframesA

After Effects: Convert Audio to Keyframes on an audio layer (creates "Audio Amplitude" null with sliders) — for audio-reactive animation.

Inputs: layer (required), compositionName.

ae_cameraMoveB

After Effects: animate a camera with a cinematic preset — pushIn, pullOut, truckLeft, truckRight, pedestalUp, pedestalDown, orbit — from startTime over duration, distance px, with smooth ease. Creates a camera if none.

Inputs: move (required), ease, camera, distance, +3 more.

ae_createCompB

After Effects: create a composition (defaults 1920x1080, 30 fps, 10 s) and open it in the viewer.

Inputs: name (required), open, width, folder, +5 more.

ae_deleteLayerB
Destructive

After Effects: delete one or more layers (undoable with Ctrl+Z).

Inputs: layer (required), compositionName.

ae_deleteMarkersA
Destructive

After Effects: delete comp/layer markers — all, by index list, or within a time range.

Inputs: to, from, layer, indexes, +1 more.

ae_duplicateLayerA

After Effects: duplicate a layer (count copies), optionally rename and offset each copy in time.

Inputs: layer (required), count, newName, timeOffset, +1 more.

ae_essentialGraphicsB

After Effects: add properties to the Essential Graphics panel ({layer, property, name?}[]), set template name, and/or export the comp as a .mogrt for Premiere.

Inputs: add, exportPath, templateName, compositionName.

ae_executeCommandB

After Effects: run ANY menu command by name ("Create Shapes from Vector Layer", "Convert Audio to Keyframes", "Drop Shadow" layer style, "Scene Edit Detection", script/panel names under Window...) or numeric command id. Acts on the current selection — use ae_selectLayers first.

Inputs: command (required), layers, compositionName.

ae_exportFrameA
Read-only

After Effects: render one frame of the comp to PNG (default current time) and return it as an image so you can check your work.

Inputs: path, time, compositionName.

ae_getCompStateA
Read-only

After Effects: read the active (or named) comp — size, fps, duration, current time, work area and every layer (index, name, type, enabled, in/out, parent, 3D, blend, matte). Call this first.

Inputs: compositionName.

ae_getKeyframesB
Read-only

After Effects: list keyframes of a property — time, value, interpolation and temporal ease.

Inputs: layer (required), property (required), compositionName.

ae_getLayerB
Read-only

After Effects: full detail of one layer — transform values, keyframe counts, expressions, effects, masks, text.

Inputs: layer (required), compositionName.

ae_getMarkersA
Read-only

After Effects: list comp markers (or a layer's markers).

Inputs: layer, compositionName.

ae_getProjectStateB
Read-only

After Effects: project overview — file path, dirty flag, bit depth, every item (comps/footage/folders with ids, sizes, durations, folder), render queue count, AE version.

Inputs: includeFootage.

ae_getPropertiesA
Read-only

After Effects: dump the property tree of a layer (or a sub-group path) — names, matchNames, values, keys, expressions — to discover exact paths for ae_setProperty / ae_setKeyframe.

Inputs: layer (required), path, depth, compositionName.

ae_importFileB

After Effects: import files (footage, audio, image sequences, PSD/AI as comp or footage, .aep projects, .prproj Premiere projects) into a project folder without adding to a comp.

Inputs: paths (required), folder, importAs, sequence.

ae_importImageA

After Effects: import an image/video/audio/PSD/AI file into the project and (default) add it to the comp — fit contain|cover|width|height|none, position, scale, name. asGuide:true makes a locked 50% guide layer for tracing a reference. PSD/AI with asComp:true import as a layered comp.

Inputs: path (required), fit, name, scale, +8 more.

ae_linkPropertiesB

After Effects: drive targetLayer.targetProperty from sourceLayer.sourceProperty with an expression (pick-whip), optionally from another comp, scaled by multiplier and offset.

Inputs: sourceLayer (required), targetLayer (required), sourceProperty (required), targetProperty (required), +4 more.

ae_listEffectsA
Read-only

After Effects: list every installed effect — built-in AND third-party plugins (Red Giant, Sapphire, BorisFX, Video Copilot...) — displayName, matchName, category. Filter by text/category.

Inputs: limit, filter, category.

ae_manageItemsC

After Effects: project item ops — rename, move to folder, delete, replace footage source (relink), set label, create folder, consolidate/reduce/remove unused.

Inputs: action (required), item, path, label, +2 more.

ae_newProjectA

After Effects: start a new empty project (refuses if the current one is unsaved unless discardChanges:true).

Inputs: discardChanges.

ae_openCompA

After Effects: open a comp in the viewer/timeline and optionally move the playhead (time) — makes it the active comp.

Inputs: compositionName (required), time.

ae_openProjectA

After Effects: open an .aep/.aepx project (current one must be saved, or pass discardChanges:true).

Inputs: path (required), discardChanges.

ae_parentLayerB

After Effects: parent layer(s) to a parent layer (or unparent with parent null).

Inputs: layer (required), parent (required), compositionName.

ae_precomposeB

After Effects: precompose layers into a new comp (moveAllAttributes default true), optionally open it.

Inputs: name (required), layers (required), open, compositionName, +1 more.

ae_purgeMemoryA

After Effects: purge caches (all memory & disk cache / undo / image cache) to free RAM on heavy projects.

Inputs: target.

ae_queueInAMEA

After Effects: send queued Render Queue items to Adobe Media Encoder (preferred render path), optionally adding a comp first and starting the AME queue immediately.

Inputs: addComp, outputPath, startRender, compositionName.

ae_renderQueueB

After Effects: Render Queue — list items/status, clear (remove all), remove index, or render now (blocking, AE internal renderer).

Inputs: action (required), index.

ae_reorderLayerB

After Effects: move a layer to index, or to top/bottom, or above/below another layer.

Inputs: layer (required), above, below, toIndex, +2 more.

ae_runScriptFileA

After Effects: run a .jsx/.jsxbin script file (any installed script, ScriptUI panel or tool) and return its last value. Scripts in Scripts/ScriptUI Panels can be found with adobe_listPlugins.

Inputs: path (required), args.

ae_saveProjectA

After Effects: save the project (Ctrl+S), or Save As when path is given. backup:true also writes a timestamped copy into a "Backups" folder next to the project.

Inputs: path, backup, incremental.

ae_selectLayersA

After Effects: select layers (and deselect others) — needed before menu commands that act on the selection (ae_executeCommand).

Inputs: layers (required), properties, compositionName.

ae_sequenceLayersA

After Effects: arrange layers one after another (like Keyframe Assistant > Sequence Layers) with overlap seconds, or stagger start times by offset.

Inputs: layers (required), overlap, stagger, startTime, +1 more.

ae_set3DA

After Effects: make layers 3D (or 2D) and optionally set z position (depth) for parallax, plus material options (castsShadows, acceptsLights, acceptsShadows).

Inputs: layers (required), z, threeD, castsShadows, +3 more.

ae_setBlendingModeA

After Effects: set a layer blending mode (normal, add, screen, multiply, overlay, softLight, hardLight, colorDodge, colorBurn, difference, luminosity, color, hue, ... any AE mode name).

Inputs: mode (required), layer (required), compositionName.

ae_setCompSettingsC

After Effects: change comp settings — name, width, height, duration, frameRate, pixelAspect, bgColor, work area, render 3D renderer, preserve resolution, shy/frame-blending switches.

Inputs: name, width, height, bgColor, +10 more.

ae_setCurrentTimeC

After Effects: move the comp playhead (current time indicator).

Inputs: time (required), compositionName.

ae_setEffectExpressionB

After Effects: set (or clear with "") an expression on an effect parameter.

Inputs: layer (required), effect (required), property (required), expression (required), +1 more.

ae_setEffectKeyframeB

After Effects: keyframe one effect parameter at a time (optional ease influence %, interpolation linear|bezier|hold).

Inputs: time (required), layer (required), value (required), effect (required), +4 more.

ae_setEffectPropertiesB

After Effects: set parameters of an effect already on a layer: properties {paramNameOrIndex: value}. With time, sets keyframes.

Inputs: layer (required), effect (required), properties (required), time, +2 more.

ae_setExpressionA

After Effects: set (or clear with "") an expression on any property — aliases (position, scale, rotation, opacity, anchorPoint...) or a path like "Effects>Gaussian Blur>Blurriness" / "Contents>Rectangle 1>...". Returns the expression error if any.

Inputs: layer (required), property (required), expression (required), compositionName.

ae_setInterpolationA

After Effects: set keyframe interpolation (linear|bezier|hold, in/out separately), plus roving / auto-bezier / continuous for spatial props. keyIndex, time, or all keys.

Inputs: layer (required), property (required), time, inType, +7 more.

ae_setKeyframeB

After Effects: set one keyframe on any property (aliases or path) at time with value; optional ease influence %, interpolation, easeIn/easeOut.

Inputs: time (required), layer (required), value (required), property (required), +5 more.

ae_setKeyframeEaseB

After Effects: directional/asymmetric temporal ease on an existing keyframe (by time, keyIndex, or all:true): influenceIn/Out 0-100, speedIn/Out.

Inputs: layer (required), property (required), all, time, +6 more.

ae_setKeyframesB

After Effects: bulk-set many keyframes in one call (cheapest way to build motion). keys: [{layer, property, time, value, ease?, easeIn?, easeOut?, interpolation?}].

Inputs: keys (required), compositionName.

ae_setLayerSwitchesC

After Effects: set layer switches — enabled, audioEnabled, solo, shy, locked, guide, collapseTransformation, adjustment, effectsActive, motionBlur, frameBlending, quality (best|draft|wireframe), label (0-16), name, comment, autoOrient, timeRemap.

Inputs: layers (required), shy, name, solo, +14 more.

ae_setMotionBlurC

After Effects: toggle motion blur on layers (or all) and the comp switch; shutterAngle/phase/samples.

Inputs: layers, enabled, samples, shutterAngle, +2 more.

ae_setPropertyA

After Effects: set ANY property by path (any group, effect, shape content, text animator, layer style, material, camera option...) e.g. "Contents>Rectangle 1>Contents>Fill 1>Color", "Effects>CC Light Rays>Intensity", "Layer Styles>Drop Shadow>Opacity". Optional time = keyframe.

Inputs: layer (required), value (required), property (required), time, +1 more.

ae_setTrackMatteA

After Effects: use matteLayer as track matte for layer (alpha|alphaInverted|luma|lumaInverted|none). Image on top, shape as alpha matte = clip image into shape.

Inputs: layer (required), type, matteLayer, compositionName.

ae_setTransformA

After Effects: set transform — position, scale (number or [x,y]), rotation, opacity, anchorPoint, xRotation, yRotation, orientation. With time, sets keyframes instead.

Inputs: layer (required), time, scale, opacity, +7 more.

ae_shapesFromVectorA

After Effects: convert an Illustrator/vector footage layer into native editable shape layers (Create Shapes from Vector Layer).

Inputs: layer (required), compositionName.

ae_styleTextA

After Effects: restyle an existing text layer — font, size, color, tracking, leading, justification, caps, faux bold/italic, real text stroke (strokeColor/strokeWidth/strokeOverFill), optionally new text.

Inputs: layer (required), font, text, time, +14 more.

ae_timeRemapB

After Effects: enable time remapping on a footage/precomp layer and set remap keys [{time, sourceTime}] (freeze frames, speed ramps), or freezeAt a single time.

Inputs: layer (required), keys, extendTo, freezeAt, +1 more.

ae_timeStretchA

After Effects: time-stretch a layer (stretch % — 200 = half speed, -100 = reverse) or set playback speed %.

Inputs: layer (required), speed, stretch, compositionName.

ae_trimLayerB

After Effects: set a layer inPoint/outPoint (or duration) and/or startTime (slides the layer).

Inputs: layer (required), inPoint, duration, outPoint, +2 more.

ai_addShapeA

Illustrator: draw rect, roundedRect, ellipse, polygon, star, line or path (points [[x,y],...]) at position [x,y] (top-left of the shape, artboard coords) with size [w,h], fill/stroke hex (or "none"), strokeWidth, opacity, name, layer.

Inputs: shape (required), fill, name, size, +10 more.

ai_addTextA

Illustrator: add point text (or area text with box [w,h]) at position [x,y] — font (PostScript name), size, color, justification, tracking, leading, name, layer; outline:true converts to outlines.

Inputs: text (required), box, font, name, +9 more.

ai_applyEffectA

Illustrator: apply a Live Effect via its XML definition to items/selection — e.g. , "Adobe Gaussian Blur", "Adobe Round Corners", "Adobe Offset Path", plugin effects.

Inputs: xml (required), items, document.

ai_artboardsC

Illustrator: artboards — list, add [x,y,w,h], remove index, rename, resize rect, setActive, fitToArtwork, rearrange (columns, spacing).

Inputs: action (required), name, rect, index, +1 more.

ai_closeDocumentA
Destructive

Illustrator: close a document (save:true saves first, else discards changes).

Inputs: save, document.

ai_executeMenuCommandA

Illustrator: run ANY menu command by its command string on the current selection — e.g. "group", "ungroup", "outline" (create outlines), "expandStyle", "Live Pathfinder Add", "Live Pathfinder Subtract", "makeMask", "OffsetPath v22", "Make Envelope", "Expand3", "selectall", "deselectall", "fitin", "Live Blend". Third-party plugin menu items work too.

Inputs: command (required), repeat.

ai_exportA

Illustrator: export artboard(s) or the document — png (scale %, transparent), jpg, svg, pdf, psd (layered, for Photoshop/AE). Returns the PNG inline when preview:true.

Inputs: path, scale, format, preview, +3 more.

ai_getStateB
Read-only

Illustrator: open documents and the active one — size, color mode, artboards (rects), layers (visible/locked/item counts), selection, item counts by type.

Inputs: document, listItems.

ai_layersC

Illustrator: layer ops — list, add, rename, delete, show, hide, lock, unlock, moveToTop, moveToBottom, setActive; moveItems moves named items into the layer.

Inputs: action (required), items, layer, newName, +1 more.

ai_modifyItemsC

Illustrator: modify items (by name or selection) — fill, stroke, strokeWidth, opacity, moveBy [dx,dy], position [x,y], resize % [x,y], rotate deg, rename, hide/show, lock/unlock, zOrder (front|back|forward|backward), group, ungroup, delete, duplicate, blendMode.

Inputs: fill, name, items, action, +12 more.

ai_newDocumentB

Illustrator: new document — width/height px (pt), color mode rgb|cmyk, number of artboards, name.

Inputs: name, width, height, artboards, +1 more.

ai_openFileC

Illustrator: open .ai/.pdf/.eps/.svg files.

Inputs: paths (required).

ai_placeFileA

Illustrator: place an image/PDF/PSD/SVG file at position [x,y] with optional width (keeps ratio); embed:true embeds it; trace:true runs Image Trace (preset e.g. "High Fidelity Photo", "Black and White Logo", "6 Colors") and expands to vectors.

Inputs: path (required), name, embed, layer, +5 more.

ai_runActionB

Illustrator: play a recorded action (action + set), optionally loading an .aia action file first.

Inputs: set (required), action (required), loadAia.

ai_saveDocumentA

Illustrator: save in place, or save as .ai (PDF-compatible, best for After Effects import) / .pdf / .eps / .svg to path; optionally close.

Inputs: path, close, format, document.

ai_selectB

Illustrator: select items — all, none, by names, by type (PathItem/TextFrame/PlacedItem/GroupItem...), by layer, or by fill color hex.

Inputs: mode (required), type, color, layer, +2 more.

media_importA

Import downloaded/local media into an Adobe app in one call: ae (project + optional add to comp), pr (bin + optional place on track at time, one after another), ps (place as smart objects in the active doc, or open), ai (place into the active doc, or open).

Inputs: app (required), paths (required), bin, time, +4 more.

media_infoA
Read-only

Inspect a YouTube (or other) URL without downloading — title, channel, duration, available resolutions/formats, chapters, subtitles, playlist entries.

Inputs: url (required), playlist.

media_toolsB

Manage the media helper tools: status (yt-dlp/ffmpeg paths & versions), install, update (yt-dlp -U — fixes most YouTube errors), or convert a local file with ffmpeg (to mp4 H.264 / mov ProRes / mp3 / wav / gif / extract audio).

Inputs: action (required), to, input, output.

media_youtubeDownloadA

Download video or audio from YouTube (videos, Shorts, playlists) — and 1000+ other sites — with yt-dlp. Formats: mp4 (default, edit-friendly H.264+AAC for AE/Premiere), mov, mkv, webm, mp3, wav, m4a, aac, flac, opus, ogg. quality: best|2160|1440|1080|720|480|360. Clip only a section with start/end. Subtitles (.srt), thumbnail, playlist. Optionally import straight into an Adobe app. Only download content you own or have permission/licence to use.

Inputs: url (required), end, start, format, +10 more.

pixabay_downloadA

Download Pixabay assets by id (from pixabay_search) to disk — images at the best size your key allows (large 1280px, or full-res / vector SVG/AI with full API access), videos at large (4K/1080p) | medium | small | tiny — then optionally import them into AE / Premiere / Photoshop / Illustrator.

Inputs: ids (required), size, type, importTo, +1 more.

pr_addCaptionsA

Premiere Pro: add text captions/subtitles from cues [{start, end, text}] (seconds) — builds an .srt and creates a caption track on the sequence. Reliable editable on-screen text.

Inputs: cues (required), name, sequence.

pr_addGraphicA

Premiere Pro: place a Motion Graphics template — built-in by name (e.g. "Basic Title", "Basic Lower Third") or a .mogrt path (also AE-exported) — on a video track at time; set its text (or texts {paramName: text}) and duration. Returns editable parameter names.

Inputs: path, text, time, texts, +4 more.

pr_addMarkersA

Premiere Pro: add sequence markers [{time, name?, comment?, duration?, color 0-7?, type comment|chapter|segmentation|weblink, url?}] — e.g. review points before cuts.

Inputs: markers (required), sequence.

pr_applyEditPlanA

Premiere Pro: run many pr_* steps in ONE call, in order: steps:[{tool:"pr_addMarkers", input:{...}}, ...]. Stops at the first error unless stopOnError:false. (Works for any native tool, so ae_/ps_/ai_/xapp_ steps can be mixed in.)

Inputs: steps (required), stopOnError.

pr_applyEffectA

Premiere Pro: apply a video or audio effect (built-in or plugin, by exact name from pr_findEffects) to clips, optionally setting its parameters {paramName: value}.

Inputs: clips (required), effect (required), sequence, properties.

pr_applyTransitionA

Premiere Pro: add a transition (video: "Cross Dissolve", "Dip to Black", "Film Dissolve"...; audio: "Constant Power"...) at the start, end or both of clips, duration seconds.

Inputs: clips (required), duration, position, sequence, +1 more.

pr_clipOpsB

Premiere Pro: clip operations — select/deselect, link/unlink (selection), rename, set color label, replace footage (changeMediaPath on the project item), set name of item.

Inputs: action (required), name, clips, label, +2 more.

pr_createBinA

Premiere Pro: create a bin (nested paths like "Footage/Day 1" supported).

Inputs: path (required).

pr_createSequenceA

Premiere Pro: create a sequence — from clips (settings match the first clip), from a .sqpreset, or a default preset then width/height/fps applied (e.g. 3840x2160 @ 25).

Inputs: name (required), bin, fps, clips, +3 more.

pr_deleteMarkersA
Destructive

Premiere Pro: delete sequence markers — all, by name, or in a time range.

Inputs: to, from, name, sequence.

pr_duplicateSequenceA

Premiere Pro: duplicate a sequence (safe copy before big/destructive edits) and optionally rename the copy / open it.

Inputs: open, newName, sequence.

pr_exportA

Premiere Pro: export a sequence with an .epr preset — via Adobe Media Encoder queue (default, starts batch) or directly inside Premiere (direct:true, blocking). range entire|inToOut|workArea. Default preset: "Match Source - Adaptive High Bitrate".

Inputs: outputPath (required), range, direct, sequence, +3 more.

pr_exportFrameA
Read-only

Premiere Pro: export the frame at a time (default playhead) as PNG and return it as an image to check the edit.

Inputs: path, time, sequence.

pr_exportProjectFileB

Premiere Pro: export the sequence as Final Cut Pro XML (interchange with AE/DaVinci/others), as an AAF, or as a standalone trimmed .prproj (exportAsProject).

Inputs: path (required), format, sequence.

pr_findEffectsB
Read-only

Premiere Pro: search installed video/audio effects and transitions — built-in AND third-party plugins — by name.

Inputs: kind, query.

pr_getClipPropertiesB
Read-only

Premiere Pro: every effect component on a clip with its parameters, values and keyframes (Motion, Opacity, Volume, Lumetri, plugins...).

Inputs: clip (required), sequence.

pr_getProjectStateB
Read-only

Premiere Pro: project name/path, sequences (name, id, active) and every project item (bins, clips, sequences, media paths). Call before referencing items.

Inputs: maxItems.

pr_getSelectionA
Read-only

Premiere Pro: clips currently selected in the timeline (track + 1-based index usable as clip refs).

Inputs: sequence.

pr_getSequenceStateA
Read-only

Premiere Pro: active (or named) sequence — frame size, fps, duration, playhead, in/out, every video/audio track (mute/lock) with its clips (1-based index, name, start/end, source in/out, enabled, speed, media path) and markers. Clip numbers change after edits: re-read.

Inputs: sequence, includeMarkers.

pr_importCaptionsB

Premiere Pro: import an .srt (or other caption file) onto a new caption track starting at time (default 0).

Inputs: path (required), bin, time, format, +1 more.

pr_importFilesA

Premiere Pro: import media files (video, audio, images, PSD, AI, .aep comps, .mogrt, .srt) into a bin (created if missing). numberedStills imports an image sequence.

Inputs: paths (required), bin, numberedStills.

pr_moveClipA

Premiere Pro: move a clip in time (toTime or by offset seconds) and/or to another track of the same type (toTrack, re-placed with the same source in/out).

Inputs: clip (required), by, toTime, toTrack, +1 more.

pr_moveItemsB

Premiere Pro: move project items (names/paths) into a bin; also rename or set a color label.

Inputs: items (required), bin, rename, colorLabel.

pr_newProjectA

Premiere Pro: create a new project at path (.prproj) and make it current (save the open project first).

Inputs: path (required).

pr_openSequenceB

Premiere Pro: open a sequence in the timeline and make it active.

Inputs: sequence (required).

pr_placeClipA

Premiere Pro: place a project item (name/path/media path — or a file path, imported automatically) on a track at a time — overwrite (default) or insert (ripples) — optionally trimmed to source inPoint/outPoint seconds.

Inputs: item (required), bin, mode, time, +4 more.

pr_razorB

Premiere Pro: razor (cut) at one or more times across all tracks or the listed tracks.

Inputs: times (required), tracks, sequence.

pr_removeClipsA
Destructive

Premiere Pro: remove clips from the timeline (media stays in the project). ripple:true closes the gap.

Inputs: clips (required), ripple, sequence.

pr_removeRangeA
Destructive

Premiere Pro: cut a time range out of the timeline (razor at start & end, remove what is inside) on all or listed tracks; ripple (default true) shifts later clips left to close the gap. Duplicate the sequence first for safety.

Inputs: end (required), start (required), ripple, tracks, +1 more.

pr_saveProjectA

Premiere Pro: save the project (or Save As path); backup:true also writes a timestamped copy into a "Backups" folder next to it.

Inputs: path, backup.

pr_sequenceOpsB

Premiere Pro: sequence-level AI/automation — autoReframe (new aspect sequence, e.g. 9:16 for Shorts), sceneEditDetection (markers or cuts on selected clips), createSubsequence (from in/out), rename, close.

Inputs: action (required), newName, sequence, numerator, +4 more.

pr_setClipEnabledA

Premiere Pro: enable/disable clips (disabled clips stay on the timeline but do not render).

Inputs: clips (required), enabled (required), sequence.

pr_setClipPropertiesA

Premiere Pro: set Motion/Opacity on video clips (scale %, position [x,y] px 0,0 top-left, rotation deg, anchorPoint px, opacity 0-100) or volume dB on audio clips. keyframes:[{time (timeline s), scale?, position?, rotation?, opacity?, volume?, interpolation?}] are ADDED. A static value on a keyframed parameter is refused unless replaceKeyframes:true.

Inputs: clips (required), scale, volume, opacity, +6 more.

pr_setClipSpeedB

Premiere Pro: change clip speed (percent, 200 = 2x), reverse, maintain audio pitch, ripple.

Inputs: clip (required), speed (required), ripple, reverse, +2 more.

pr_setEffectPropertiesA

Premiere Pro: set parameters of any effect component on a clip (by component displayName, e.g. "Lumetri Color", "Gaussian Blur", "Motion") — static values or keyframes [{time, value}] (timeline s). Colors as hex.

Inputs: clip (required), effect (required), sequence, keyframes, +1 more.

pr_setInOutB

Premiere Pro: set (or clear) sequence in/out points — or a project item's source in/out with item.

Inputs: item, clear, inPoint, outPoint, +1 more.

pr_setPlayheadB

Premiere Pro: move the timeline playhead to a time.

Inputs: time (required), sequence.

pr_tracksA

Premiere Pro: track operations — add video/audio tracks, mute/unmute, lock/unlock, target/untarget tracks (for inserts/pastes).

Inputs: action (required), count, tracks, sequence.

pr_trimClipB

Premiere Pro: trim a timeline clip — new timeline start/end (seconds) and/or source inPoint/outPoint.

Inputs: clip (required), end, start, inPoint, +2 more.

ps_actionManagerA

Photoshop: run ANY Photoshop command (full feature access incl. every filter, neural/AI command, third-party plugin filter, menu item) with batchPlay-style JSON: commands:[{"_obj":"gaussianBlur","radius":{"_unit":"pixelsUnit","_value":4}}, {"_obj":"set","_target":[{"_ref":"layer","_enum":"ordinal","_value":"targetEnum"}],"to":{"_obj":"layer","opacity":{"_unit":"percentUnit","_value":50}}}]. IDs are stringIDs; prefix "$" for a charID ("$Lyr "). Returns result descriptors. dialogs:true shows the plugin dialog.

Inputs: commands (required), dialogs.

ps_addTextLayerA

Photoshop: add a text layer — text, font (PostScript name), size pt, color, position [x,y] px, justification, paragraph box [w,h], tracking, leading, allCaps, fauxBold.

Inputs: text (required), box, font, name, +9 more.

ps_adjustmentLayerB

Photoshop: add an adjustment layer — brightnessContrast {brightness, contrast}, hueSaturation {hue, saturation, lightness, colorize}, vibrance {vibrance, saturation}, exposure {exposure, offset, gamma}, levels, curves, colorBalance, blackAndWhite, photoFilter, channelMixer, invert, posterize {levels}, threshold {level}, gradientMap, selectiveColor. clip:true clips it to the layer below.

Inputs: type (required), clip, name, document, +1 more.

ps_applyFilterA

Photoshop: apply a filter to a layer (converts smart objects? no — on smart objects use ps_actionManager for smart filters) — gaussianBlur {radius}, motionBlur {angle, distance}, unsharpMask {amount, radius, threshold}, addNoise {amount, mono}, highPass {radius}, median {radius}, dustAndScratches {radius, threshold}, clouds, lensFlare? (use ps_actionManager for any other / third-party filter).

Inputs: filter (required), layer, document, settings.

ps_closeDocumentA
Destructive

Photoshop: close a document — save:true saves first, otherwise changes are discarded.

Inputs: save, document.

ps_contentAwareFillA

Photoshop: content-aware fill the current selection (or rect [x,y,w,h]) on the active/named layer — removes objects.

Inputs: rect, layer, expand, document.

ps_exportLayersA

Photoshop: export each top-level layer (or the listed ones) as its own PNG (trimmed or full canvas) into a folder — e.g. cut-outs for After Effects parallax.

Inputs: folder (required), trim, layers, document.

ps_getDescriptorA
Read-only

Photoshop: read Action Manager properties (application, document, layer, channel...) as JSON — e.g. target [{"_ref":"layer","_enum":"ordinal","_value":"targetEnum"}], optional property "layerEffects". Discover what ps_actionManager can set.

Inputs: target (required), property.

ps_getStateA
Read-only

Photoshop: open documents and the active document — size, resolution, mode, bit depth, path, saved flag, full layer tree (type/kind, visibility, opacity, blend, bounds, text), active layer.

Inputs: document.

ps_layerOpsC

Photoshop: layer operations — select, rename, show, hide, opacity, fillOpacity, blend, delete, duplicate, moveTop, moveBottom, moveUp, moveDown, lock, unlock, rasterize, mergeDown, translate [dx,dy], resize % [x,y], rotate deg, newLayer, newGroup, groupLayers (names), fillColor.

Inputs: action (required), name, layer, value, +2 more.

ps_layerStyleC

Photoshop: add layer effects — stroke {size, color, position outside|inside|center, opacity}, dropShadow {distance, size, angle, opacity, color, spread}, outerGlow {size, opacity, color, spread}. clear:true removes all effects.

Inputs: clear, layer, stroke, document, +2 more.

ps_newDocumentB

Photoshop: create a new document (px) — width, height, resolution, name, mode rgb|cmyk|gray|lab, fill white|black|transparent|background, bits 8|16|32.

Inputs: width (required), height (required), bits, fill, +3 more.

ps_openFileA

Photoshop: open image/PSD/PDF/RAW files (asSmartObject opens as smart object).

Inputs: paths (required), asSmartObject.

ps_placeFileA

Photoshop: place a file (image, PSD, AI, PDF, video) as an embedded or linked smart object, optionally scaled % and moved so its center is at position [x,y].

Inputs: path (required), name, scale, linked, +2 more.

ps_previewA
Read-only

Photoshop: render the current document (merged, downscaled to maxSize px) and return it as an image to check your work.

Inputs: maxSize, document.

ps_removeBackgroundA

Photoshop: AI Remove Background on a layer (adds a layer mask around the subject; smart objects/backgrounds are converted as needed).

Inputs: layer, document.

ps_resizeB

Photoshop: image size (width/height px, resample), canvas size (anchor), crop [left,top,right,bottom], rotate canvas deg, trim transparent pixels, flatten, flip horizontal/vertical.

Inputs: action (required), angle, width, anchor, +4 more.

ps_runActionA

Photoshop: play a recorded action from the Actions panel (action name + set name) — including third-party action packs. loadAtn loads an .atn file first.

Inputs: set (required), action (required), loadAtn.

ps_runMenuCommandB

Photoshop: run a menu item by its stringID (e.g. "flattenImage", "newPlacedLayer", "copyMerged", "selectAllLayers", "toggleRulers") via app.runMenuItem.

Inputs: command (required).

ps_saveDocumentA

Photoshop: save the document — in place (Ctrl+S) or as psd|psb|png|jpg|tif|pdf|webp to path (asCopy default true for non-PSD), jpg quality 0-12, then optionally close.

Inputs: path, close, asCopy, format, +2 more.

ps_selectionA

Photoshop: selections — all, none, invert, rect [x,y,w,h], ellipse [x,y,w,h], subject (AI Select Subject), sky, layerTransparency, feather {value}, expand {value}, contract {value}, smooth {value}; then optional fill hex, delete, or mask (adds a layer mask from the selection).

Inputs: action (required), rect, then, color, +3 more.

ps_smartObjectB

Photoshop: smart objects — convert layer to smart object, edit contents (opens it), replace contents with a file, export contents to a file, rasterize.

Inputs: action (required), path, layer, document.

xapp_aeCompToPremiereA

Dynamic Link: bring After Effects comps into Premiere Pro WITHOUT rendering (live-linked; edits in AE update in Premiere). Uses the saved .aep (saves the open AE project first if aepPath omitted). Optionally places the first comp on a track at time.

Inputs: bin, time, track, aepPath, +2 more.

xapp_bridgeTalkA

BridgeTalk: from one running Adobe app, send ExtendScript to another (targets: aftereffects, premierepro, photoshop, illustrator, ame, bridge, indesign... optionally versioned "photoshop-27.0") and wait for its result — Adobe's native inter-app messaging. Useful when the target has no direct connection.

Inputs: script (required), target (required), from, timeoutSec.

xapp_frameToPhotoshopB

Grab a frame from After Effects (comp) or Premiere (sequence) at a time and open it in Photoshop (new document or as a layer in the active one) — thumbnails, retouching, matte painting.

Inputs: from (required), time, asLayer, sequence, +1 more.

xapp_illustratorToAEB

Illustrator → After Effects: save the active AI document (PDF-compatible), import it into AE as a layered comp, and (shapes:true, default) convert every vector layer to native editable AE shape layers.

Inputs: aiPath, shapes, document, targetComp.

xapp_mogrtToPremiereB

After Effects → Premiere via Motion Graphics template: publish chosen AE properties to Essential Graphics, export the comp as .mogrt, and place it in Premiere with text overrides — editable titles/lower-thirds in the edit.

Inputs: compositionName (required), time, texts, track, +3 more.

xapp_photoshopToAEA

Photoshop → After Effects: save the active (or named) PSD, import it into AE as a layered composition (each PS layer = AE layer, layer styles editable), optionally adding it into a target comp — ideal for parallax / paper-cut animations.

Inputs: psdPath, document, openComp, targetComp, +1 more.

xapp_premiereToAEA

Send a Premiere Pro sequence to After Effects: saves the Premiere project (or exports a trimmed project with just that sequence), then imports it into AE — sequences become AE comps with the clips as layers (like "Replace with After Effects Composition", but scriptable).

Inputs: openComp, sequence, trimmedProject.

xapp_previewA
Read-only

Look at what any app currently shows: AE comp frame, Premiere frame at playhead, Photoshop document, or Illustrator artboard — returned as an image for a quick visual self-check.

Inputs: app (required), time.

xapp_renderAEToPremiereA

Render an After Effects comp to a file (AE render queue, blocking; e.g. ProRes 4444 / "High Quality with Alpha" / H.264) and import + place the result in Premiere — when Dynamic Link playback is too heavy.

Inputs: compositionName (required), bin, time, track, +3 more.

xapp_toPremiereA

Photoshop / Illustrator → Premiere Pro: save the active PS document (PSD or PNG) or export the active AI artboard (PNG), import into a Premiere bin and optionally place on a track at time with a duration.

Inputs: from (required), bin, time, track, +3 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 182 tools

    Disambiguation3/5

    The app prefixes (ps_, ai_, ae_, pr_, xapp_) make broad selection manageable, and most tools have distinct actions. However, there are many overlapping escape-hatch tools such as adobe_runScript, xapp_bridgeTalk, ps_actionManager, ps_runMenuCommand, ae_executeCommand, and catalog tools, plus generic property setters versus specific transform/keyframe setters. These overlaps will cause misselection despite detailed descriptions.

    Naming Consistency4/5

    Tool names consistently use an app or domain prefix followed by a camelCase action or noun, which makes them predictable across Photoshop, Illustrator, After Effects, Premiere, cross-app, media, and Adobe-level groups. Minor deviations exist in noun-only and multi-operation names like ps_layerOps, ai_layers, pr_tracks, adobe_status, and adobe_batch, so the pattern is not perfectly uniform.

    Tool Count1/5

    At 182 tools, the surface is far beyond a well-scoped set and creates a severe selection burden for an agent. Although the server spans four Adobe apps plus media and plugin management, the sheer volume is an extreme mismatch for practical tool coherence.

    Completeness5/5

    The tool surface is extremely comprehensive across Photoshop, Illustrator, After Effects, and Premiere, covering documents, layers, effects, keyframes, rendering, captions, cross-app workflows, media handling, and plugin management. Generic scripting and catalog tools provide escape hatches for gaps, so there are no obvious dead ends for the stated Adobe automation domain.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables MCP clients like Claude Code, Claude Desktop, and VS Code to build and edit inside a running Adobe After Effects, covering comps, layers, keyframes, effects, text animators, markers, and renders. It supports batched tool calls with single-step undo, frame previews for self-verification, reusable style tokens, and four one-call studio rigs.
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables MCP clients to operate local Adobe Premiere Pro projects, covering media ingest, bins, sequence and timeline editing, transitions, effects, keyframes, captions, markers, metadata, proxies, multicam, color, audio, and exports through 283 discoverable tools, 13 context resources, and 10 guided prompts. A bundled CEP panel provides the supported production bridge, with read-only connection verification and higher-level workflows for assembling product spots and motion-graphics demos.
      5
      3,657 npm
      MIT