Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
adobe-mcp-suiteclaude mcp add adobe-mcp-suite -e 'ADOBE_MCP_APPS=<ADOBE_MCP_APPS>' -e 'ADOBE_TARGET=<ADOBE_TARGET>' -e 'ADOBE_BACKEND=<ADOBE_BACKEND>' -e 'TARGET=<TARGET>' -e 'BACKEND=<BACKEND>' -e 'ARTCRAFT_ENABLED=<ARTCRAFT_ENABLED>' -e 'ARTCRAFT_CONTROL_PORT=<ARTCRAFT_CONTROL_PORT>' -e 'ARTCRAFT_CONTROL_TOKEN=<ARTCRAFT_CONTROL_TOKEN>' -e 'ARTCRAFT_CONTROL_TOKEN_FILE=<ARTCRAFT_CONTROL_TOKEN_FILE>' -e 'INDESIGN_ALLOWED_DIRS=<INDESIGN_ALLOWED_DIRS>' -e 'ILLUSTRATOR_ALLOWED_DIRS=<ILLUSTRATOR_ALLOWED_DIRS>' -e 'PHOTOSHOP_ALLOWED_DIRS=<PHOTOSHOP_ALLOWED_DIRS>' -e 'AFTEREFFECTS_ALLOWED_DIRS=<AFTEREFFECTS_ALLOWED_DIRS>' -e 'PREMIERE_ALLOWED_DIRS=<PREMIERE_ALLOWED_DIRS>' -e 'PREMIERE_WS_PORT=<PREMIERE_WS_PORT>' -e 'UXP_BRIDGE_URL=<UXP_BRIDGE_URL>' -e 'BRIDGE_TOKEN=<BRIDGE_TOKEN>' -- npx -y adobe-mcp-suite@0.3.0
{
"mcpServers": {
"adobe-mcp-suite": {
"command": "npx",
"args": [
"-y",
"adobe-mcp-suite@0.3.0"
],
"env": {
"ADOBE_MCP_APPS": "<ADOBE_MCP_APPS>",
"ADOBE_TARGET": "<ADOBE_TARGET>",
"ADOBE_BACKEND": "<ADOBE_BACKEND>",
"TARGET": "<TARGET>",
"BACKEND": "<BACKEND>",
"ARTCRAFT_ENABLED": "<ARTCRAFT_ENABLED>",
"ARTCRAFT_CONTROL_PORT": "<ARTCRAFT_CONTROL_PORT>",
"ARTCRAFT_CONTROL_TOKEN": "<ARTCRAFT_CONTROL_TOKEN>",
"ARTCRAFT_CONTROL_TOKEN_FILE": "<ARTCRAFT_CONTROL_TOKEN_FILE>",
"INDESIGN_ALLOWED_DIRS": "<INDESIGN_ALLOWED_DIRS>",
"ILLUSTRATOR_ALLOWED_DIRS": "<ILLUSTRATOR_ALLOWED_DIRS>",
"PHOTOSHOP_ALLOWED_DIRS": "<PHOTOSHOP_ALLOWED_DIRS>",
"AFTEREFFECTS_ALLOWED_DIRS": "<AFTEREFFECTS_ALLOWED_DIRS>",
"PREMIERE_ALLOWED_DIRS": "<PREMIERE_ALLOWED_DIRS>",
"PREMIERE_WS_PORT": "<PREMIERE_WS_PORT>",
"UXP_BRIDGE_URL": "<UXP_BRIDGE_URL>",
"BRIDGE_TOKEN": "<BRIDGE_TOKEN>"
}
}
}
}
Variables d'environnement
ADOBE_MCP_APPSApplications to load, comma-separated: indesign, illustrator, photoshop, aftereffects, premiere. Defaults to InDesign and IllustratorADOBE_TARGETOptional shared execution target, including adobe, craft, artcraft, or autoADOBE_BACKENDOptional shared execution backend, including extendscript, uxp, craft, or autoTARGETAlias for ADOBE_TARGET when choosing the shared execution targetBACKENDAlias for ADOBE_BACKEND when choosing the shared execution backendARTCRAFT_ENABLEDProbe a compatible local ArtCraft app when the selected backend is autoARTCRAFT_CONTROL_PORTFallback loopback port for local ArtCraft control connectionsARTCRAFT_CONTROL_TOKENFallback authentication token for local ArtCraft control connectionsARTCRAFT_CONTROL_TOKEN_FILEFile containing the fallback ArtCraft control tokenINDESIGN_ALLOWED_DIRSExtra directories InDesign tools may read and write (':' on macOS, ';' on Windows)ILLUSTRATOR_ALLOWED_DIRSExtra directories Illustrator tools may read and write (':' on macOS, ';' on Windows)PHOTOSHOP_ALLOWED_DIRSExtra directories Photoshop tools may read and write (':' on macOS, ';' on Windows)AFTEREFFECTS_ALLOWED_DIRSExtra directories After Effects tools may read and write (':' on macOS, ';' on Windows)PREMIERE_ALLOWED_DIRSExtra directories Premiere Pro tools may read and write (':' on macOS, ';' on Windows)PREMIERE_WS_PORTLoopback port used to connect the Premiere Pro UXP plugin; defaults to 3011UXP_BRIDGE_URLInDesign UXP bridge URL; defaults to http://127.0.0.1:3000BRIDGE_TOKENOptional shared secret for the local InDesign or Premiere Pro UXP bridge
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
adobe-mcp
MCP servers for Adobe applications. Install one application's server on its own, or the suite: one server for every application, with tools that work across them.
The InDesign server was published as indesign-mcp-server up to 2.3.0. It is
now adobe-mcp-indesign, with the same tools; replace the package name in your
client configuration.
| Package | What it drives | npm |
|---|---|---|
| adobe-mcp-indesign | Adobe InDesign: documents, pages, text, styles, tables, books, PDF and EPUB export (423 tools) | adobe-mcp-indesign |
| adobe-mcp-illustrator | Adobe Illustrator: documents, artboards, layers, shapes and paths, typography, colour and swatches, effects and 3D, symbols, patterns, Image Trace, images and links, variables and data sets, actions, export, prepress and printing (308 tools) | adobe-mcp-illustrator |
| adobe-mcp-photoshop | Adobe Photoshop: documents and formats, image and canvas, layers, masks, smart objects and layer styles, selections and channels, adjustments and fill layers, filters, painting and retouching, type and paths, video timeline, actions and batch, artboards, export, printing and preferences (207 tools) | adobe-mcp-photoshop |
| adobe-mcp-aftereffects | Adobe After Effects: projects and footage, compositions, layers and time, keyframes and expressions, every effect and its controls, text animators, masks and shape layers, paint and roto, 3D, tracking, colour, render queue and Essential Graphics (164 tools) | adobe-mcp-aftereffects |
| adobe-mcp-premiere | Adobe Premiere Pro: projects and bins, sequences, timeline edits, markers, effects, keyframes and transitions, transcripts, metadata and export, through a UXP plugin (96 tools; not yet tested against Premiere Pro) | adobe-mcp-premiere |
| adobe-mcp-suite | InDesign, Illustrator, Photoshop, After Effects and Premiere Pro in one server (1,200 tools), plus cross-application tools: Illustrator artwork into InDesign layouts, swatches with exact values | adobe-mcp-suite |
| adobe-mcp-core | The shared foundation: script escaping, the script runner, the server shell and the static script audit | adobe-mcp-core |
Each server runs on the machine where the Adobe application is installed and talks to it through ExtendScript, the scripting interface the applications ship with. Premiere Pro has no outside scripting route, so its server talks to a UXP plugin inside Premiere Pro instead. macOS and Windows are supported.
The servers also support corresponding ArtCraft applications:
- PhotoCraft for Photoshop (
PHOTOCRAFT_CONTROL_PORT, default7878) - VectorCraft for Illustrator (
VECTORCRAFT_CONTROL_PORT, default7979) - DesignCraft for InDesign (
DESIGNCRAFT_CONTROL_PORT, default7979) - EffectCraft for After Effects (
EFFECTCRAFT_CONTROL_PORT, default9877) - FilmCraft for Premiere Pro (
FILMCRAFT_CONTROL_PORT, default9876)
When an ArtCraft application is running or explicitly configured via TARGET=craft or <APP>_TARGET=craft (e.g. PHOTOSHOP_TARGET=craft, DESIGNCRAFT_TARGET=craft), compatible tools route transparently to ArtCraft over its loopback JSON-lines control channel.
Requirements
- Node.js 18+ (LTS recommended).
npxcomes with it. - The Adobe application(s) you want to drive, installed on the same machine: InDesign, Illustrator, Photoshop, and/or After Effects 2023 or later, or Premiere Pro 25.6+ with its UXP plugin loaded (see packages/premiere).
- An MCP client (Claude Code, Warp, Cursor, Claude Desktop, or any client that
reads an
mcpServersblock).
Servers speak MCP over stdio. Your client starts the process; there is no hosted endpoint and no API key for the package itself. Tool calls that touch the application need that app open (or launchable) on the machine.
Install from npm
One application
Claude Code:
claude mcp add --scope user indesign -- npx -y adobe-mcp-indesign
claude mcp add --scope user illustrator -- npx -y adobe-mcp-illustrator
claude mcp add --scope user photoshop -- npx -y adobe-mcp-photoshop
claude mcp add --scope user aftereffects -- npx -y adobe-mcp-aftereffects
claude mcp add --scope user premiere -- npx -y adobe-mcp-premiere
Any client that reads an mcpServers block:
{
"mcpServers": {
"indesign": { "command": "npx", "args": ["-y", "adobe-mcp-indesign"] },
"illustrator": { "command": "npx", "args": ["-y", "adobe-mcp-illustrator"] },
"photoshop": { "command": "npx", "args": ["-y", "adobe-mcp-photoshop"] },
"aftereffects": { "command": "npx", "args": ["-y", "adobe-mcp-aftereffects"] },
"premiere": { "command": "npx", "args": ["-y", "adobe-mcp-premiere"] }
}
}
Full suite
One process with every application's tools (prefixed indesign_…,
illustrator_…, and so on) plus cross-application tools when both sides are
loaded:
claude mcp add --scope user adobe -- npx -y adobe-mcp-suite
{
"mcpServers": {
"adobe": {
"command": "npx",
"args": ["-y", "adobe-mcp-suite"]
}
}
}
Optional global install (puts adobe-mcp-suite on your PATH):
npm install -g adobe-mcp-suite
Homebrew or curl
On macOS or Linux, install the same suite release with Homebrew:
brew install --formula https://raw.githubusercontent.com/zachshallbetter/adobe-mcp/main/Formula/adobe-mcp-suite.rb
Or use the installer script, which installs the latest npm release globally:
curl -fsSL https://raw.githubusercontent.com/zachshallbetter/adobe-mcp/main/scripts/install.sh | sh
Both methods require Node.js 18 or later. The curl installer supports macOS and
Linux shells; Windows users can use npm install -g adobe-mcp-suite.
Then point the client at the binary instead of npx:
{
"mcpServers": {
"adobe": {
"command": "adobe-mcp-suite",
"args": ["--apps", "indesign,illustrator"]
}
}
}
Marketplace listing: mcprush.com/zachshallbetter/adobe-mcp-suite.
Each package's README covers its tools, conventions and per-app configuration.
Usage
Choosing applications (suite only)
By default the suite loads every app. Restrict it with --apps or
ADOBE_MCP_APPS (comma-separated ids: indesign, illustrator, photoshop,
aftereffects, premiere):
npx -y adobe-mcp-suite --apps indesign,illustrator
# equivalent
ADOBE_MCP_APPS=indesign,illustrator npx -y adobe-mcp-suite
Client config:
{
"mcpServers": {
"adobe": {
"command": "npx",
"args": ["-y", "adobe-mcp-suite", "--apps", "indesign,illustrator"],
"env": {
"INDESIGN_ALLOWED_DIRS": "/Users/you/Work:/Users/you/Desktop",
"ILLUSTRATOR_ALLOWED_DIRS": "/Users/you/Work:/Users/you/Desktop"
}
}
}
}
On Windows, separate allowed directories with ; instead of :.
What the model sees
- Single-app servers expose that app's tools under their original names
(for example
create_text_frame,export_pdf). - The suite prefixes every tool with the app (
indesign_create_text_frame,illustrator_create_rectangle). Names that already include the app keep it once (indesign_status). - Cross-application tools (suite, when both apps are loaded):
place_illustrator_artwork_in_indesign— place an artboard of the active Illustrator document on an InDesign page, linked to the.aifile.copy_swatches_illustrator_to_indesign— copy colour swatches with exact process/spot values.
Reconnect or start a new client session after changing MCP config so the tool list refreshes.
Environment variables
Common knobs (see each package README for the full set):
| Variable | Purpose |
|---|---|
ADOBE_MCP_APPS | Suite only: which apps to load (indesign,illustrator,…) |
INDESIGN_ALLOWED_DIRS | Extra directories InDesign tools may read/write |
ILLUSTRATOR_ALLOWED_DIRS | Extra directories Illustrator tools may read/write |
INDESIGN_APP_NAME / ILLUSTRATOR_APP_NAME | Override the target application name |
INDESIGN_SCRIPT_TIMEOUT_MS / ILLUSTRATOR_SCRIPT_TIMEOUT_MS | Per-script timeout |
PREMIERE_WS_PORT, BRIDGE_TOKEN, PREMIERE_ALLOWED_DIRS | Premiere UXP bridge |
Smoke-check without an MCP client
The process waits on stdin for MCP JSON-RPC; it is not a conventional CLI with
--help output. To confirm a binary starts and lists tools, send an
initialize request then tools/list over stdio, or run the package tests
(they stub the Adobe apps and do not need them installed):
npm test -w packages/suite
Real layout/work calls need the target Adobe application running on this machine.
Install and run from this repository
Use this when developing the servers or when you want the monorepo versions before they are published.
git clone https://github.com/zachshallbetter/adobe-mcp.git
cd adobe-mcp
npm install
Run a server from source (stdio; suitable as a client command):
# suite (optionally limit apps)
node packages/suite/src/index.js --apps indesign,illustrator
# one application
node packages/indesign/src/index.js
node packages/illustrator/src/index.js
Point a client at the monorepo entry instead of npx:
{
"mcpServers": {
"adobe": {
"command": "node",
"args": [
"/absolute/path/to/adobe-mcp/packages/suite/src/index.js",
"--apps",
"indesign,illustrator"
]
}
}
}
How the repository is organised
packages/
core/ adobe-mcp-core shared by every server
indesign/ adobe-mcp-indesign
illustrator/ adobe-mcp-illustrator
photoshop/ adobe-mcp-photoshop
aftereffects/ adobe-mcp-aftereffects
premiere/ adobe-mcp-premiere with its UXP plugin in uxp/plugin
suite/ adobe-mcp-suite every application in one server
The servers share their infrastructure through adobe-mcp-core, so a fix to
escaping, path checks, result handling or the script runner reaches every
server. What differs between applications stays in each package: its tools,
its instructions, and how the application is told to run a script. Each
application package exports a module (its tools, handlers, instructions and
script runner); its own server and the suite are both built from it, so a tool
is written once.
Development
npm install # installs every package and links them together
npm run check # syntax check, every package
npm test # every package's tests, including each server's static script audit
Run one package's tests with npm test -w packages/illustrator. The static
audits run every tool against a stubbed application and check each generated
script against the application's scripting object model; they do not need
the applications installed.
See CONTRIBUTING.md for releasing and for each package's guide, and docs/handbook/ for the full handbook: architecture, per-application rules for writing tools, how work is planned from the capability atlas and landed, current status, and lessons learned.
Licence
MIT. See each package's LICENSE.
Questions fréquentes
Qu'est-ce que Adobe MCP Suite ?
Local MCP coordinator for cross-app Adobe workflows.
Comment installer Adobe MCP Suite ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add adobe-mcp-suite -e 'ADOBE_MCP_APPS=<ADOBE_MCP_APPS>' -e 'ADOBE_TARGET=<ADOBE_TARGET>' -e 'ADOBE_BACKEND=<ADOBE_BACKEND>' -e 'TARGET=<TARGET>' -e 'BACKEND=<BACKEND>' -e 'ARTCRAFT_ENABLED=<ARTCRAFT_ENABLED>' -e 'ARTCRAFT_CONTROL_PORT=<ARTCRAFT_CONTROL_PORT>' -e 'ARTCRAFT_CONTROL_TOKEN=<ARTCRAFT_CONTROL_TOKEN>' -e 'ARTCRAFT_CONTROL_TOKEN_FILE=<ARTCRAFT_CONTROL_TOKEN_FILE>' -e 'INDESIGN_ALLOWED_DIRS=<INDESIGN_ALLOWED_DIRS>' -e 'ILLUSTRATOR_ALLOWED_DIRS=<ILLUSTRATOR_ALLOWED_DIRS>' -e 'PHOTOSHOP_ALLOWED_DIRS=<PHOTOSHOP_ALLOWED_DIRS>' -e 'AFTEREFFECTS_ALLOWED_DIRS=<AFTEREFFECTS_ALLOWED_DIRS>' -e 'PREMIERE_ALLOWED_DIRS=<PREMIERE_ALLOWED_DIRS>' -e 'PREMIERE_WS_PORT=<PREMIERE_WS_PORT>' -e 'UXP_BRIDGE_URL=<UXP_BRIDGE_URL>' -e 'BRIDGE_TOKEN=<BRIDGE_TOKEN>' -- npx -y adobe-mcp-suite@0.3.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Adobe MCP Suite ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
Adobe MCP Suite est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Adobe MCP Suite ?
Il est publié par zachshallbetter. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.