# Adobe MCP Suite

A single MCP server that keeps InDesign, Illustrator, Photoshop, After Effects and Premiere Pro under one roof, with tools that span two apps at once. Handy when a layout and its artwork move together.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 26
- Author: zachshallbetter
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/zachshallbetter/adobe-mcp/tree/HEAD/packages/suite
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/adobe-mcp-suite

## What it does

Every tool from each app shows up under its own prefix: `indesign_create_text_frame`, `illustrator_create_rectangle`, `indesign_export_pdf`. Names that already carry the app keep it once — `indesign_status`, `illustrator_execute_code`. Units and origins stay per-app, and the server's instructions spell each one out.

The point of the suite is two tools that appear when both apps are loaded. `place_illustrator_artwork_in_indesign` drops an artboard from the open Illustrator document onto an InDesign page and links it to the `.ai` file, so a later edit in Illustrator reaches the layout once the link refreshes. The Illustrator document gets saved first unless you tell it otherwise. `copy_swatches_illustrator_to_indesign` moves colour swatches with their exact values, spot colours included as spot inks, while gradients and patterns are only listed. InDesign's own swatches stay untouched.

You need Node.js 18 or newer plus the apps themselves: InDesign, Illustrator, Photoshop and/or After Effects 2023 or newer, or Premiere Pro 25.6 or newer with its plugin loaded, on macOS or Windows. Premiere Pro also wants its UXP plugin and reads `PREMIERE_WS_PORT` and an optional `BRIDGE_TOKEN`. To load a subset, pass `--apps` or set `ADOBE_MCP_APPS`.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `ADOBE_MCP_APPS`, `ADOBE_TARGET`, `ADOBE_BACKEND`, `TARGET`, `BACKEND`, `ARTCRAFT_ENABLED`, `ARTCRAFT_CONTROL_PORT`, `ARTCRAFT_CONTROL_TOKEN`, `ARTCRAFT_CONTROL_TOKEN_FILE`, `INDESIGN_ALLOWED_DIRS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env ADOBE_MCP_APPS=<ADOBE_MCP_APPS> --env ADOBE_TARGET=<ADOBE_TARGET> --env ADOBE_BACKEND=<ADOBE_BACKEND> --env TARGET=<TARGET> --env BACKEND=<BACKEND> --transport stdio suite -- npx -y adobe-mcp-suite
```
Replace <…> with your own values. 12 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add suite --env ADOBE_MCP_APPS=<ADOBE_MCP_APPS> --env ADOBE_TARGET=<ADOBE_TARGET> --env ADOBE_BACKEND=<ADOBE_BACKEND> --env TARGET=<TARGET> --env BACKEND=<BACKEND> -- npx -y adobe-mcp-suite
```
Replace <…> with your own values. 12 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "suite": {
            "command": "npx",
            "args": [
                "-y",
                "adobe-mcp-suite"
            ],
            "env": {
                "ADOBE_MCP_APPS": "<ADOBE_MCP_APPS>",
                "ADOBE_TARGET": "<ADOBE_TARGET>",
                "ADOBE_BACKEND": "<ADOBE_BACKEND>",
                "TARGET": "<TARGET>",
                "BACKEND": "<BACKEND>"
            }
        }
    }
}
```
Replace <…> with your own values. 12 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "suite": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "adobe-mcp-suite"
            ],
            "env": {
                "ADOBE_MCP_APPS": "<ADOBE_MCP_APPS>",
                "ADOBE_TARGET": "<ADOBE_TARGET>",
                "ADOBE_BACKEND": "<ADOBE_BACKEND>",
                "TARGET": "<TARGET>",
                "BACKEND": "<BACKEND>"
            }
        }
    }
}
```
Replace <…> with your own values. 12 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e ADOBE_MCP_APPS=<ADOBE_MCP_APPS> -e ADOBE_TARGET=<ADOBE_TARGET> -e ADOBE_BACKEND=<ADOBE_BACKEND> -e TARGET=<TARGET> -e BACKEND=<BACKEND> suite npx -y adobe-mcp-suite
```
Replace <…> with your own values. 12 more environment variables are in the server README

## When to use it
- place an Illustrator artboard on an InDesign page with a live `.ai` link
- copy colour swatches from Illustrator into InDesign with exact values
- call InDesign and Illustrator tools from one MCP server
- limit the server to a single app with `--apps`
- export a PDF from InDesign through the agent

## Example prompts
- Place the artboard from the open Illustrator document on page two of the InDesign layout and keep the `.ai` link
- Copy the colour swatches from Illustrator into InDesign, list gradients only
- Export a PDF from the current InDesign document

## Similar
- [Next AI Draw.io](https://affpapa.org/en/nevibecode/mcp/next-ai-drawio.md) — MCP server · ★ 36398
- [tldraw](https://affpapa.org/en/nevibecode/mcp/tldraw.md) — MCP server · ★ 51091
- [Figma-Context-MCP](https://affpapa.org/en/nevibecode/mcp/figma-context-mcp.md) — MCP server · ★ 16062
- [Agent-Native Assets](https://affpapa.org/en/nevibecode/mcp/agent-native-assets.md) — MCP server · ★ 7506
- [Remove AI Watermarks](https://affpapa.org/en/nevibecode/mcp/remove-ai-watermarks.md) — MCP server · ★ 6114
- [Dembrandt](https://affpapa.org/en/nevibecode/mcp/dembrandt.md) — MCP server · ★ 3821

From the same set: [zachshallbetter/adobe-mcp](https://affpapa.org/en/nevibecode/by/zachshallbetter/adobe-mcp.md) — 2 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
