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

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

+46 this week 70 Trust /100
Trust breakdown (6 categories)

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

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
Install

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

# add to Claude Code
claude mcp add ajsmonty-adobe-mcp -- npx -y @ajsmonty/adobe-mcp
# add to Codex CLI
codex mcp add ajsmonty-adobe-mcp -- npx -y @ajsmonty/adobe-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ajsmonty-adobe-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@ajsmonty/adobe-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ajsmonty-adobe-mcp --command npx --arg -y --arg @ajsmonty/adobe-mcp
# ~/.hermes/config.yaml
mcp_servers:
  ajsmonty-adobe-mcp:
    command: "npx"
    args: ["-y", "@ajsmonty/adobe-mcp"]
// mcp.json
{
  "mcpServers": {
    "ajsmonty-adobe-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@ajsmonty/adobe-mcp"
      ]
    }
  }
}
Changelog

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

  • 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.

Diagnostics

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

Captured 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.

MCP tools — 28 exposed · ~2,623 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
ae_get_state ~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.

NameTypeReqDescription
comp_namestringComp to inspect in layer-level detail.

No output schema declared.

No examples provided.

ae_render_comp ~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.

NameTypeReqDescription
comp_namestringyesComposition to render.
om_templatestringOutput module template name override.
output_pathstringAbsolute output path (default ~/Desktop/<comp>.mp4).
timeout_secondsnumberMax seconds (default 570).

No output schema declared.

No examples provided.

ae_run_extendscript ~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.

NameTypeReqDescription
codestringyesExtendScript function body; `return` sends back a result.
timeout_secondsnumberMax seconds (default 120).

No output schema declared.

No examples provided.

ae_save_frame ~78

Render one frame of a comp and return it inline so you can visually verify work. AE 2022+.

NameTypeReqDescription
comp_namestringyesComposition to render.
max_widthnumberDownscale to at most this width (default 1024).
timenumberSeconds (default: comp's current time).

No output schema declared.

No examples provided.

ai_export ~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.

NameTypeReqDescription
output_pathstringyesAbsolute output path; extension chooses format (.svg/.png/.pdf/.ai).
scalenumberPNG scale percent (default 100).

No output schema declared.

No examples provided.

ai_get_state ~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 ~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.

NameTypeReqDescription
codestringyesExtendScript function body.
timeout_secondsnumberMax seconds (default 120).

No output schema declared.

No examples provided.

ai_save_preview ~66

Export the active document (active or given artboard) as PNG and return it inline for visual verification.

NameTypeReqDescription
artboard_indexnumberArtboard index (default: active).
max_widthnumberDownscale to at most this width (default 1024).

No output schema declared.

No examples provided.

ch_build_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.

NameTypeReqDescription
hairarrayHair RGB 0-255 (default [250,225,90]).
namestringyesCharacter name (used for the root group and filename).
shirtarrayShirt RGB 0-255 (default [51,140,191]).
skinarraySkin RGB 0-255 (default [255,222,184]).
timeout_secondsnumberMax seconds (default 300).

No output schema declared.

No examples provided.

ch_taxonomy ~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 ~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.

NameTypeReqDescription
file_pathstringyesAbsolute path (.psd/.ai for layered import, or any footage).
import_asstringDefault comp for .psd/.ai, else footage.

No output schema declared.

No examples provided.

handoff_place_in_ps ~52

Place an image/vector file (SVG, PNG, AI...) as a layer in the active Photoshop document — the Illustrator→Photoshop handoff.

NameTypeReqDescription
file_pathstringyesAbsolute path to place.

No output schema declared.

No examples provided.

knowledge_add ~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').

NameTypeReqDescription
appstringyesae, ps, ai, ppro, ch, or 'any'.
examplestringMinimal working code example.
lessonstringyesThe gotcha and its fix, 1-3 sentences.
matcharrayError-text substrings that should auto-surface this lesson.
titlestringyesShort name for the lesson.

No output schema declared.

No examples provided.

knowledge_search ~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.

NameTypeReqDescription
appstringFilter: ae, ps, ai, ppro, ch.
querystringKeywords (empty = list all).

No output schema declared.

No examples provided.

list_scripts ~60

List .jsx/.jsxbin tools in the per-app scripts library (scripts/{ae,ps,ai,ppro}/), with descriptions from header comments.

NameTypeReqDescription
appstringFilter to one app (ae/ps/ai/ppro).

No output schema declared.

No examples provided.

ppro_export_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.

NameTypeReqDescription
output_pathstringyesAbsolute output path (e.g. ~/Desktop/edit.mp4).
preset_pathstringAbsolute path to an .epr preset (default: Match Source H.264).
timeout_secondsnumberMax seconds (default 570).
work_area_onlybooleanExport work area only (default false).

No output schema declared.

No examples provided.

ppro_get_state ~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 ~70

Import comps from an After Effects project file via Dynamic Link — no intermediate render; AE edits update the Premiere timeline live.

NameTypeReqDescription
aep_pathstringyesAbsolute path to the .aep project file (must be saved).
comp_namesarrayyesComp names to link.

No output schema declared.

No examples provided.

ppro_import_media ~49

Import files into the project root (or a named bin, created if missing).

NameTypeReqDescription
bin_namestringTarget bin name.
pathsarrayyesAbsolute file paths to import.

No output schema declared.

No examples provided.

ppro_run_extendscript ~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.

NameTypeReqDescription
codestringyesExtendScript function body.
timeout_secondsnumberMax seconds (default 120).

No output schema declared.

No examples provided.

ppro_save_frame ~59

Render one frame of the active sequence to PNG and return it inline.

NameTypeReqDescription
max_widthnumberDownscale to at most this width (default 1024).
secondsnumberTime in seconds (default: playhead).

No output schema declared.

No examples provided.

ps_export ~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.

NameTypeReqDescription
output_pathstringyesAbsolute output path; extension chooses format (.png/.jpg/.psd).
qualitynumberJPEG quality 1-12 (default 10).

No output schema declared.

No examples provided.

ps_get_state ~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 ~43

Play a recorded action from an action set (instant reusable 'skill').

NameTypeReqDescription
actionstringyesAction name.
action_setstringyesAction set name.

No output schema declared.

No examples provided.

ps_run_extendscript ~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.

NameTypeReqDescription
codestringyesExtendScript function body.
timeout_secondsnumberMax seconds (default 120).

No output schema declared.

No examples provided.

ps_save_preview ~46

Save a flattened PNG copy of the active document and return it inline for visual verification.

NameTypeReqDescription
max_widthnumberDownscale to at most this width (default 1024).

No output schema declared.

No examples provided.

run_script ~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.

NameTypeReqDescription
appstringyesWhich app: ae/ps/ai/ppro.
namestringyesScript filename from list_scripts (case-insensitive).
timeout_secondsnumberMax seconds (default 120).

No output schema declared.

No examples provided.

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.

NameTypeReqDescription
appstringFilter by app (ae/ps/ai/ppro).
kindstringFilter by kind (png/svg/psd/ai/video...).

No output schema declared.

No examples provided.