Adobe MCP Server

Drive Adobe CC (AE, Photoshop, Illustrator, Premiere, Character Animator) from any MCP client

Local serverstdio

What is the Adobe MCP server?

Adobe MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. Drive Adobe CC (AE, Photoshop, Illustrator, Premiere, Character Animator) from any MCP client.

What you get

Drives After Effects, Photoshop, Illustrator, Premiere Pro (and Character Animator puppet authoring) from Claude. See ROADMAP.md for the full tool matrix and what is next. Bridge: MCP client → this server → AppleScript DoScript → AE → temp result file → back.

Setting it up

The server ships on npm as @ajsmonty/adobe-mcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

What the assistant can call

Once Adobe is connected, these are the calls the assistant has available:

  • run_extendscript — Run arbitrary JSX; return comes back as JSON. Auto undo-grouped
  • get_project_state — Project item tree, or one comp's layers in detail (comp_name)
  • save_frame — Render a comp frame to PNG, returned inline so Claude can see its work
  • list_ae_scripts — List .jsx/.jsxbin tools in scripts/ with descriptions from header comments
  • run_ae_script — Execute a library script, like File → Scripts → Run Script File
  • Cursor — Settings → MCP → Add server, or edit ~/.cursor/mcp.json (global) / .cursor/mcp.json (per-project):
  • Windsurf — ~/.codeium/windsurf/mcp_config.json — same mcpServers shape as Claude Desktop/Cursor above

Configuration and credentials

You will need one environment variable: AE_APP_NAME. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the adobe mcp server does with a few real requests.

Choosing this one

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Adobe's toolset — run_extendscript, get_project_state, save_frame and 4 more — is a fair guide to whether it matches your workflow. It is maintained by AJSMonty; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
run_extendscriptRun arbitrary JSX; return <value> comes back as JSON. Auto undo-grouped.
get_project_stateProject item tree, or one comp's layers in detail (comp_name).
save_frameRender a comp frame to PNG, returned inline so Claude can *see* its work.
list_ae_scriptsList .jsx/.jsxbin tools in scripts/ with descriptions from header comments.
run_ae_scriptExecute a library script, like File → Scripts → Run Script File.
CursorSettings → MCP → Add server, or edit ~/.cursor/mcp.json (global) / .cursor/mcp.json (per-project):
Windsurf~/.codeium/windsurf/mcp_config.json — same mcpServers shape as Claude Desktop/Cursor above.

How to install the Adobe MCP server

{
  "mcpServers": {
    "adobe": {
      "command": "npx",
      "args": ["-y", "@ajsmonty/adobe-mcp"],
      "env": {
        "AE_APP_NAME": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
AE_APP_NAMEConfiguration value read at startup.Optional

Example prompts to try

  • Use Adobe to run extendscript.
  • Use Adobe to get project state.
  • Use Adobe to save frame.

Frequently asked questions

It connects Adobe to MCP-compatible AI assistants such as Claude and Cursor, exposing 7 tools (run_extendscript, get_project_state, save_frame, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Adobe directly.