io.github.AJSMonty/adobe-mcp
NPM · @AJSMONTY/ADOBE-MCP · SCANNED AUG 4
Drive Adobe CC (AE, Photoshop, Illustrator, Premiere, Character Animator) from any MCP client
Available components
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 →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- 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 19 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability77
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 2876 tokens (~102/item across 28 items; 28 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @ajsmonty/adobe-mcp
claude mcp add ajsmonty-adobe-mcp -- npx -y @ajsmonty/adobe-mcp
codex mcp add ajsmonty-adobe-mcp -- npx -y @ajsmonty/adobe-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ajsmonty-adobe-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@ajsmonty/adobe-mcp"
],
"enabled": true
}
}
} openclaw mcp add ajsmonty-adobe-mcp --command npx --arg -y --arg @ajsmonty/adobe-mcp
mcp_servers:
ajsmonty-adobe-mcp:
command: "npx"
args: ["-y", "@ajsmonty/adobe-mcp"] {
"mcpServers": {
"ajsmonty-adobe-mcp": {
"command": "npx",
"args": [
"-y",
"@ajsmonty/adobe-mcp"
]
}
}
} 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.
- 4 Aug 26 0
- Security disclosure: fail → unverified ▼ functional
- 3 Aug 26 +4
- Stability: unverified → 0.27 ▲ functional
- 2 Aug 26 +30
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Schema quality: unverified → excellent ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: MIT functional
- 1 Aug 26 +15
- Malware scan: unverified → pass ▲ security
- 31 Jul 26 −25
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +22
- Tool coverage: unverified → 100 ▲ functional
- 28 Jul 26 −22
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 46
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 4 Aug 2026 · Analysed npm/@ajsmonty/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 95 packages
95 packages in the resolved dependency tree · 95 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
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.
ae_get_state Inspect the open AE project ~65
Project item tree (comps, footage, folders) with sizes/durations/layer counts, or one comp's layers in detail (kind, timing, transform, text, effects) via comp_name.
| Name | Type | Req | Description |
|---|---|---|---|
| comp_name | string | — | Comp to inspect in layer-level detail. |
No output schema declared.
No examples provided.
ae_render_comp Render an AE comp via the Render Queue ~134
Queue a comp and render it to disk (blocks until finished). Uses an H.264 output module template when available, else Lossless MOV. Registers the output as a workflow asset. If the call times out, the render may still have completed — check the output file (stable size, right duration) before re-queueing.
| Name | Type | Req | Description |
|---|---|---|---|
| comp_name | string | yes | Composition to render. |
| om_template | string | — | Output module template name override. |
| output_path | string | — | Absolute output path (default ~/Desktop/<comp>.mp4). |
| timeout_seconds | number | — | Max seconds (default 570). |
No output schema declared.
No examples provided.
ae_run_extendscript Run ExtendScript in After Effects ~171
Execute ExtendScript (JSX) inside After Effects and return the result. Runs as a function body: end with `return <value>` (JSON-serialized). ES3 only — no arrow functions, template literals, let/const, JSON, Array.map. Collections are 1-indexed. Wrapped in one undo group. GOTCHAS: text wiggly selector matchName is 'ADBE Text Wiggly Selector'; seamless noise loops = Evolution expression time*(360/duration) + Cycle Evolution on; PSD-imported comps need nested durations extended and anchors re-placed from PS pixel bounds. More: knowledge_search.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | ExtendScript function body; `return` sends back a result. |
| timeout_seconds | number | — | Max seconds (default 120). |
No output schema declared.
No examples provided.
ae_save_frame Render an AE comp frame to PNG ~78
Render one frame of a comp and return it inline so you can visually verify work. AE 2022+.
| Name | Type | Req | Description |
|---|---|---|---|
| comp_name | string | yes | Composition to render. |
| max_width | number | — | Downscale to at most this width (default 1024). |
| time | number | — | Seconds (default: comp's current time). |
No output schema declared.
No examples provided.
ai_export Export the active Illustrator document ~92
Export to svg/png/pdf, or save a layered .ai copy (the format AE imports as a layered comp). Exports the ACTIVE document — set app.activeDocument to the right one first. Registers the file as a workflow asset.
| Name | Type | Req | Description |
|---|---|---|---|
| output_path | string | yes | Absolute output path; extension chooses format (.svg/.png/.pdf/.ai). |
| scale | number | — | PNG scale percent (default 100). |
No output schema declared.
No examples provided.
ai_get_state Inspect open Illustrator documents ~35
Lists open documents; for the active document returns artboards (name, rect), layers with item counts, and text frame contents.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_run_extendscript Run ExtendScript in Illustrator ~163
Execute ExtendScript (JSX) inside Illustrator and return the result. Runs as a function body: end with `return <value>`. ES3 only. Key DOM: app.documents, activeDocument, artboards, layers, pathItems (setEntirePath), textFrames, groupItems, symbols. Colors via new RGBColor(). GOTCHAS: exports/previews act on the ACTIVE document — activate by name first; documents.add() switches the active doc; no blend API (interpolate shapes in a loop); artboardRect is [0, H, W, 0] with Y up. More: knowledge_search.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | ExtendScript function body. |
| timeout_seconds | number | — | Max seconds (default 120). |
No output schema declared.
No examples provided.
ai_save_preview Preview an Illustrator artboard ~66
Export the active document (active or given artboard) as PNG and return it inline for visual verification.
| Name | Type | Req | Description |
|---|---|---|---|
| artboard_index | number | — | Artboard index (default: active). |
| max_width | number | — | Downscale to at most this width (default 1024). |
No output schema declared.
No examples provided.
ch_build_puppet Generate a rig-ready Character Animator puppet ~169
Builds a layered PSD puppet in Photoshop with the full CH auto-rig taxonomy (head, brows, eyes with pupils+blinks, 14 mouth visemes, body with limbs) using a simple cartoon style, saves it to the workspace, and registers it as an asset. Import the PSD into CH to perform it.
| Name | Type | Req | Description |
|---|---|---|---|
| hair | array | — | Hair RGB 0-255 (default [250,225,90]). |
| name | string | yes | Character name (used for the root group and filename). |
| shirt | array | — | Shirt RGB 0-255 (default [51,140,191]). |
| skin | array | — | Skin RGB 0-255 (default [255,222,184]). |
| timeout_seconds | number | — | Max seconds (default 300). |
No output schema declared.
No examples provided.
ch_taxonomy Character Animator rigging reference ~44
Returns the PSD/AI layer-naming taxonomy Character Animator auto-rigs from. Use with ps_run_extendscript or ai_run_extendscript to author custom puppets.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
handoff_import_to_ae Import a file into After Effects (layered handoff) ~103
Import a file into the AE project. Layered .psd (Photoshop) and .ai (Illustrator) files can import as a COMP — every source layer becomes an animatable AE layer. This is the design→motion handoff.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Absolute path (.psd/.ai for layered import, or any footage). |
| import_as | string | — | Default comp for .psd/.ai, else footage. |
No output schema declared.
No examples provided.
handoff_place_in_ps Place a file into the active Photoshop document ~52
Place an image/vector file (SVG, PNG, AI...) as a layer in the active Photoshop document — the Illustrator→Photoshop handoff.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Absolute path to place. |
No output schema declared.
No examples provided.
knowledge_add Record a new lesson in the knowledge base ~165
Persist a scripting lesson/gotcha so future sessions (and other users of this install) benefit. Use after solving an error whose fix was NOT auto-suggested, or discovering a non-obvious technique. `match` keywords are matched against future error text to auto-surface the lesson — choose distinctive substrings of the error message (e.g. 'Illegal Parameter type').
| Name | Type | Req | Description |
|---|---|---|---|
| app | string | yes | ae, ps, ai, ppro, ch, or 'any'. |
| example | string | — | Minimal working code example. |
| lesson | string | yes | The gotcha and its fix, 1-3 sentences. |
| match | array | — | Error-text substrings that should auto-surface this lesson. |
| title | string | yes | Short name for the lesson. |
No output schema declared.
No examples provided.
knowledge_search Search the adobe-mcp knowledge base ~101
Search accumulated scripting lessons/gotchas for the Adobe apps (seeded + learned at runtime). Query by keywords, optionally filtered by app (ae/ps/ai/ppro/ch). Empty query lists everything. Consult this BEFORE attempting unusual scripting; it is cheaper than rediscovering a gotcha.
| Name | Type | Req | Description |
|---|---|---|---|
| app | string | — | Filter: ae, ps, ai, ppro, ch. |
| query | string | — | Keywords (empty = list all). |
No output schema declared.
No examples provided.
list_scripts List installed script tools ~60
List .jsx/.jsxbin tools in the per-app scripts library (scripts/{ae,ps,ai,ppro}/), with descriptions from header comments.
| Name | Type | Req | Description |
|---|---|---|---|
| app | string | — | Filter to one app (ae/ps/ai/ppro). |
No output schema declared.
No examples provided.
ppro_export_sequence Export the active Premiere sequence ~124
Render the active sequence to a file using an Adobe .epr encoder preset (searches Premiere's system presets for a match-source H.264 preset by default). Registers the output as an asset.
| Name | Type | Req | Description |
|---|---|---|---|
| output_path | string | yes | Absolute output path (e.g. ~/Desktop/edit.mp4). |
| preset_path | string | — | Absolute path to an .epr preset (default: Match Source H.264). |
| timeout_seconds | number | — | Max seconds (default 570). |
| work_area_only | boolean | — | Export work area only (default false). |
No output schema declared.
No examples provided.
ppro_get_state Inspect the open Premiere project ~44
Project name/path, bin tree, sequences with track/clip inventory (clip name, start, end, duration in seconds). Also reports whether the bridge panel is alive.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ppro_import_ae_comp Dynamic Link an AE comp into Premiere ~70
Import comps from an After Effects project file via Dynamic Link — no intermediate render; AE edits update the Premiere timeline live.
| Name | Type | Req | Description |
|---|---|---|---|
| aep_path | string | yes | Absolute path to the .aep project file (must be saved). |
| comp_names | array | yes | Comp names to link. |
No output schema declared.
No examples provided.
ppro_import_media Import media files into Premiere ~49
Import files into the project root (or a named bin, created if missing).
| Name | Type | Req | Description |
|---|---|---|---|
| bin_name | string | — | Target bin name. |
| paths | array | yes | Absolute file paths to import. |
No output schema declared.
No examples provided.
ppro_run_extendscript Run ExtendScript in Premiere Pro ~210
Execute ExtendScript inside Premiere via the mcp-bridge panel (must be open: Window → Extensions → MCP Bridge). Runs as a function body; end with `return <value>`. Key DOM: app.project (rootItem, sequences, importFiles, importAEComps), app.project.activeSequence (videoTracks/audioTracks/clips, markers), app.encoder. GOTCHAS: app.enableQE() unlocks qe.* (getVideoTransitionList returns an array of name strings; clip.addTransition(trans, atStart, '00:00:00:12')); autoReframeSequence needs the motion preset as the STRING 'default'; pre-trim cut lists with projectItem.setInPoint/setOutPoint(sec, 4) before createNewSequenceFromClips; dynamic-linked comps are named 'Comp/Project.aep'. More: knowledge_search.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | ExtendScript function body. |
| timeout_seconds | number | — | Max seconds (default 120). |
No output schema declared.
No examples provided.
ppro_save_frame Export a frame of the active Premiere sequence ~59
Render one frame of the active sequence to PNG and return it inline.
| Name | Type | Req | Description |
|---|---|---|---|
| max_width | number | — | Downscale to at most this width (default 1024). |
| seconds | number | — | Time in seconds (default: playhead). |
No output schema declared.
No examples provided.
ps_export Export the active Photoshop document ~83
Export the active document to png/jpg/psd at a path. PSD keeps layers (the format AE imports as a layered comp). Registers the file as a workflow asset.
| Name | Type | Req | Description |
|---|---|---|---|
| output_path | string | yes | Absolute output path; extension chooses format (.png/.jpg/.psd). |
| quality | number | — | JPEG quality 1-12 (default 10). |
No output schema declared.
No examples provided.
ps_get_state Inspect open Photoshop documents ~37
Lists open documents; for the active document returns the full layer tree (groups, layer kinds, text contents, visibility, opacity, bounds).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ps_run_action Run a Photoshop action ~43
Play a recorded action from an action set (instant reusable 'skill').
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action name. |
| action_set | string | yes | Action set name. |
No output schema declared.
No examples provided.
ps_run_extendscript Run ExtendScript in Photoshop ~176
Execute ExtendScript (JSX) inside Photoshop and return the result. Runs as a function body: end with `return <value>`. ES3 only. Key DOM: app.documents, activeDocument, artLayers, layerSets, selection (polygon points), doc.saveAs/exportDocument, charIDToTypeID for ActionDescriptor work. GOTCHAS: the active document can silently change between calls — start scripts with app.activeDocument = app.documents.getByName(...); text sizes/positions need new UnitValue(n,'px') (plain numbers can throw 'Internal error'); no ellipse selection (pass a 72-point polygon); layer edits require the doc frontmost. More: knowledge_search.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | ExtendScript function body. |
| timeout_seconds | number | — | Max seconds (default 120). |
No output schema declared.
No examples provided.
ps_save_preview Preview the active Photoshop document ~46
Save a flattened PNG copy of the active document and return it inline for visual verification.
| Name | Type | Req | Description |
|---|---|---|---|
| max_width | number | — | Downscale to at most this width (default 1024). |
No output schema declared.
No examples provided.
run_script Run an installed script tool ~101
Execute a script from the library in its app (like File → Scripts → Run Script File). Action scripts run immediately; ScriptUI panels open for the user. Set up selections first via the app's run_extendscript.
| Name | Type | Req | Description |
|---|---|---|---|
| app | string | yes | Which app: ae/ps/ai/ppro. |
| name | string | yes | Script filename from list_scripts (case-insensitive). |
| timeout_seconds | number | — | Max seconds (default 120). |
No output schema declared.
No examples provided.
workflow_assets List workflow assets ~83
The shared cross-app asset registry. Every export/render from any adapter registers here with {id, app, kind, path}. Use it to pull one app's output into another.
| Name | Type | Req | Description |
|---|---|---|---|
| app | string | — | Filter by app (ae/ps/ai/ppro). |
| kind | string | — | Filter by kind (png/svg/psd/ai/video...). |
No output schema declared.
No examples provided.