InDesign MCP Server

io.github.zachshallbetter由 GitHub 帳號 zachshallbetter 發布v2.3.0更新於 Nov 5, 2026

Drive Adobe InDesign from any MCP client: 135+ tools for layout, styles, books and PDF export.

已驗證STDIO僅桌面檔案與儲存媒體與設計

概覽

AI 產生的概覽

本機 MCP 伺服器,透過 ExtendScript 驅動 Adobe InDesign,讓助理操作文件、頁面、文字、樣式、表格、書籍以及 PDF/EPUB 匯出。

可以做什麼
  • 建立與編輯 InDesign 文件和頁面,包括文字框與內容
  • 套用與管理段落、字元及物件樣式,以及表格
  • 處理書籍,並將版面匯出為 PDF 與 EPUB
  • 檢視應用程式狀態,並對已開啟的應用程式執行排版或作業呼叫
  • 與套件伺服器一起使用時,可置入 Illustrator 圖稿並複製色票
適用情境
當你希望助理在自己的電腦上自動完成 InDesign 排版工作——建立或修改文件、套用樣式、組合書籍、產出 PDF 與 EPUB 匯出——而不是在軟體中手動操作時使用。
執行需求
由 MCP 用戶端啟動的本機 stdio 程序;沒有託管端點,套件本身也不需要 API 金鑰。需要 Node.js 18+(npx),以及安裝在同一台電腦上的 Adobe InDesign 2023 或更新版本,應用程式需已開啟或可啟動。支援 macOS 與 Windows。選用環境變數包括 INDESIGN_ALLOWED_DIRS、INDESIGN_APP_NAME 和 INDESIGN_BACKEND。
安裝前請注意
工具會讀寫檔案並修改執行中應用程式的文件,建議在副本或受版本控管的檔案上操作。檔案存取受允許目錄限制,可透過 INDESIGN_ALLOWED_DIRS 擴充,應盡量維持最小範圍。套件已從 indesign-mcp-server 更名為 adobe-mcp-indesign,舊的用戶端設定需更新。README 中的 curl 安裝方式會把遠端腳本直接交給 shell 執行。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 InDesign MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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.

PackageWhat it drivesnpm
adobe-mcp-indesignAdobe InDesign: documents, pages, text, styles, tables, books, PDF and EPUB export (423 tools)adobe-mcp-indesign
adobe-mcp-illustratorAdobe 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-photoshopAdobe 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-aftereffectsAdobe 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-premiereAdobe 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-suiteInDesign, 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 valuesadobe-mcp-suite
adobe-mcp-coreThe shared foundation: script escaping, the script runner, the server shell and the static script auditadobe-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, default 7878)
  • VectorCraft for Illustrator (VECTORCRAFT_CONTROL_PORT, default 7979)
  • DesignCraft for InDesign (DESIGNCRAFT_CONTROL_PORT, default 7979)
  • EffectCraft for After Effects (EFFECTCRAFT_CONTROL_PORT, default 9877)
  • FilmCraft for Premiere Pro (FILMCRAFT_CONTROL_PORT, default 9876)

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). npx comes 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 mcpServers block).

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:

bash
claude mcp add --scope user indesign -- npx -y adobe-mcp-indesignclaude mcp add --scope user illustrator -- npx -y adobe-mcp-illustratorclaude mcp add --scope user photoshop -- npx -y adobe-mcp-photoshopclaude mcp add --scope user aftereffects -- npx -y adobe-mcp-aftereffectsclaude mcp add --scope user premiere -- npx -y adobe-mcp-premiere

Any client that reads an mcpServers block:

json
{  "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:

bash
claude mcp add --scope user adobe -- npx -y adobe-mcp-suite
json
{  "mcpServers": {    "adobe": {      "command": "npx",      "args": ["-y", "adobe-mcp-suite"]    }  }}

Optional global install (puts adobe-mcp-suite on your PATH):

bash
npm install -g adobe-mcp-suite

Everything at once (macOS)

The creative-mcp installer finds the Adobe apps and MCP clients on your Mac, installs these servers with Homebrew, registers the ones that match your apps with each client and checks they answer. It shows the plan first and is safe to rerun:

bash
brew tap zachshallbetter/tapbrew trust zachshallbetter/tapbrew install zachshallbetter/tap/creative-mcpcreative-mcp setup

Later, creative-mcp doctor checks the servers, the running apps and each client's registrations.

Homebrew or curl

On macOS or Linux, install with Homebrew from the Creative MCP tap. It installs the suite and links every app server (adobe-mcp-indesign, adobe-mcp-illustrator, adobe-mcp-photoshop, adobe-mcp-premiere, adobe-mcp-aftereffects) onto your PATH:

bash
brew tap zachshallbetter/tapbrew trust zachshallbetter/tap   # Homebrew 7+ asks you to trust third-party tapsbrew install zachshallbetter/tap/adobe-mcp

Formula/adobe-mcp-suite.rb in this repository is deprecated. If you installed it, switch with brew uninstall adobe-mcp-suite && brew install zachshallbetter/tap/adobe-mcp.

Or use the installer script, which installs the latest npm release globally:

bash
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:

json
{  "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):

bash
npx -y adobe-mcp-suite --apps indesign,illustrator# equivalentADOBE_MCP_APPS=indesign,illustrator npx -y adobe-mcp-suite

Client config:

json
{  "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 .ai file.
    • 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):

VariablePurpose
ADOBE_MCP_APPSSuite only: which apps to load (indesign,illustrator,…)
INDESIGN_ALLOWED_DIRSExtra directories InDesign tools may read/write
ILLUSTRATOR_ALLOWED_DIRSExtra directories Illustrator tools may read/write
INDESIGN_APP_NAME / ILLUSTRATOR_APP_NAMEOverride the target application name
INDESIGN_SCRIPT_TIMEOUT_MS / ILLUSTRATOR_SCRIPT_TIMEOUT_MSPer-script timeout
PREMIERE_WS_PORT, BRIDGE_TOKEN, PREMIERE_ALLOWED_DIRSPremiere 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):

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

bash
git clone https://github.com/zachshallbetter/adobe-mcp.gitcd adobe-mcpnpm install

Run a server from source (stdio; suitable as a client command):

bash
# suite (optionally limit apps)node packages/suite/src/index.js --apps indesign,illustrator
# one applicationnode packages/indesign/src/index.jsnode packages/illustrator/src/index.js

Point a client at the monorepo entry instead of npx:

json
{  "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

bash
npm install      # installs every package and links them togethernpm run check    # syntax check, every packagenpm 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.

來源:README.md,提交 c485a5b

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v2.3.0最新Oct 15, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分