mcpField
I
InDesign MCP Server

InDesign MCP Server

本地服务
github.com/zachshallbetter媒体与设计281 周前更新

关于 InDesign MCP Server

一组面向 Adobe 应用的本地 MCP 服务,可单独安装各应用服务,也可使用统一套件。适用于自动化处理 InDesign、Illustrator、Photoshop、After Effects 或 Premiere Pro 的创意工作,并支持部分应用间操作。

主要功能

  1. 01为五款 Adobe 应用提供独立服务
  2. 02可选择应用的统一套件
  3. 03文档、版面、媒体和导出工具
  4. 04Illustrator 与 InDesign 的跨应用操作
  5. 05基于本地脚本或插件控制应用

适用场景

  1. 01自动化单个 Adobe 应用中的工作
  2. 02通过一个服务使用多个 Adobe 应用
  3. 03将 Illustrator 图稿置入 InDesign
  4. 04将 Illustrator 色板复制到 InDesign

MCP 相关

这些服务通过 stdio 使用 MCP;客户端启动本地进程,并接收所选 Adobe 应用或套件的工具。应用调用通过 ExtendScript 连接,Premiere Pro 则使用 UXP 插件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"zachshallbetter-indesign": {
"command": "npx",
"args": [
"-y",
"indesign-mcp-server"
],
"env": {
"INDESIGN_APP_NAME": "<INDESIGN_APP_NAME>",
"INDESIGN_ALLOWED_DIRS": "<INDESIGN_ALLOWED_DIRS>",
"INDESIGN_BACKEND": "<INDESIGN_BACKEND>"
}
}
}
}
启动命令npx -y indesign-mcp-server
需要配置的环境变量
INDESIGN_APP_NAMEmacOS only: force a specific app name, e.g. "Adobe InDesign 2026"
INDESIGN_ALLOWED_DIRSExtra directories allowed for file operations (':' on macOS, ';' on Windows)
INDESIGN_BACKENDExecution backend: extendscript (default), uxp or auto

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmindesign-mcp-server2.3.0

工具

137

收录的工具列表 · 更新于 2 周前

参数类型必填说明
positionenum否添加页面的位置:AT_END、AT_BEGINNING 或 BEFORE/AFTER referencePageAT_END | AT_BEGINNING | BEFORE | AFTER
referencePageinteger否0 起始的参考页面索引(BEFORE/AFTER 时必需)

详细介绍

adobe-mcp

适用于 Adobe 应用的 MCP 服务。可以单独安装一个应用的服务,也可以安装整套服务:每个应用各有一个服务,并提供可跨应用使用的工具。

InDesign 服务此前以 indesign-mcp-server 的名称发布,最高版本为 2.3.0。现在名称已改为 adobe-mcp-indesign,工具保持不变;请在客户端配置中替换包名。

包控制的应用npm
adobe-mcp-indesignAdobe InDesign:文档、页面、文本、样式、表格、书籍、PDF 和 EPUB 导出(423 个工具)adobe-mcp-indesign
adobe-mcp-illustratorAdobe Illustrator:文档、画板、图层、形状和路径、排版、颜色和色板、效果和 3D、符号、图案、图像描摹、图像和链接、变量和数据集、动作、导出、印前处理和打印(308 个工具)adobe-mcp-illustrator
adobe-mcp-photoshopAdobe Photoshop:文档和格式、图像和画布、图层、蒙版、智能对象和图层样式、选区和通道、调整图层和填充图层、滤镜、绘画和修图、文字和路径、视频时间轴、动作和批处理、画板、导出、打印和首选项(207 个工具)adobe-mcp-photoshop
adobe-mcp-aftereffectsAdobe After Effects:项目和素材、合成、图层和时间、关键帧和表达式、所有效果及其控件、文本动画制作器、蒙版和形状图层、绘画和转描、3D、跟踪、颜色、渲染队列和基本图形(164 个工具)adobe-mcp-aftereffects
adobe-mcp-premiereAdobe Premiere Pro:项目和素材箱、序列、时间轴编辑、标记、效果、关键帧和转场、转录文本、元数据和导出,通过 UXP 插件运行(96 个工具;尚未针对 Premiere Pro 进行测试)adobe-mcp-premiere
adobe-mcp-suiteInDesign、Illustrator、Photoshop、After Effects 和 Premiere Pro 集成于一个服务中(1,200 个工具),另有跨应用工具:将 Illustrator 图稿导入 InDesign 版面、使用精确值设置色板adobe-mcp-suite
adobe-mcp-core共享基础组件:脚本转义、脚本运行器、服务外壳和静态脚本审计adobe-mcp-core

每个服务都运行在安装了相应 Adobe 应用的计算机上,并通过 ExtendScript(应用自带的脚本接口)与该应用通信。Premiere Pro 没有外部脚本接口,因此其服务改为与 Premiere Pro 内部的 UXP 插件通信。支持 macOS 和 Windows。

这些服务也支持相应的 ArtCraft 应用:

  • PhotoCraft(适用于 Photoshop,PHOTOCRAFT_CONTROL_PORT,默认值为 7878)
  • VectorCraft(适用于 Illustrator,VECTORCRAFT_CONTROL_PORT,默认值为 7979)
  • DesignCraft(适用于 InDesign,DESIGNCRAFT_CONTROL_PORT,默认值为 7979)
  • EffectCraft(适用于 After Effects,EFFECTCRAFT_CONTROL_PORT,默认值为 9877)
  • FilmCraft(适用于 Premiere Pro,FILMCRAFT_CONTROL_PORT,默认值为 9876)

当 ArtCraft 应用正在运行,或通过 TARGET=craft 或 <APP>_TARGET=craft 显式配置时(例如 PHOTOSHOP_TARGET=craft、DESIGNCRAFT_TARGET=craft),兼容的工具会通过其本地回环 JSON 行控制通道透明地将请求路由到 ArtCraft。

要求

  • Node.js 18+(推荐 LTS)。它自带 npx。
  • 要驱动的 Adobe 应用,需安装在同一台机器上: InDesign、Illustrator、Photoshop 和/或 After Effects 2023 或更高版本,或 Premiere Pro 25.6+,且已加载其 UXP 插件(参见 packages/premiere)。
  • MCP 客户端(Claude Code、Warp、Cursor、Claude Desktop,或任何 能读取 mcpServers 配置块的客户端)。

服务通过 stdio 使用 MCP。客户端会启动进程;本软件包本身没有 托管端点,也不需要 API 密钥。调用需要操作应用的工具时,该应用必须在机器上 处于打开状态(或能够启动)。

从 npm 安装

单个应用

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

任何能读取 mcpServers 配置块的客户端:

{
  "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"] }
  }
}
完整套件

一个进程即可提供每个应用的所有工具(前缀为 indesign_…、 illustrator_… 等),并在两端均已加载时提供跨应用工具:

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

可选的全局安装(将 adobe-mcp-suite 添加到 PATH):

npm install -g adobe-mcp-suite
Homebrew 或 curl

在 macOS 或 Linux 上,使用 Homebrew 安装同一套件版本:

brew install --formula https://raw.githubusercontent.com/zachshallbetter/adobe-mcp/main/Formula/adobe-mcp-suite.rb

或者使用安装脚本,在全局安装最新的 npm 版本:

curl -fsSL https://raw.githubusercontent.com/zachshallbetter/adobe-mcp/main/scripts/install.sh | sh

两种方法都需要 Node.js 18 或更高版本。curl 安装程序支持 macOS 和 Linux shell;Windows 用户可使用 npm install -g adobe-mcp-suite。

然后让客户端指向该二进制文件,而不是 npx:

{
  "mcpServers": {
    "adobe": {
      "command": "adobe-mcp-suite",
      "args": ["--apps", "indesign,illustrator"]
    }
  }
}

市场页面:mcprush.com/zachshallbetter/adobe-mcp-suite。

每个软件包的 README 都介绍了其工具、约定和各应用的配置。

用法

选择应用(仅限套件)

默认情况下,套件会加载所有应用。使用 --apps 或 ADOBE_MCP_APPS 限定应用(以逗号分隔的 ID:indesign、illustrator、photoshop、 aftereffects、premiere):

npx -y adobe-mcp-suite --apps indesign,illustrator
# equivalent
ADOBE_MCP_APPS=indesign,illustrator npx -y adobe-mcp-suite

客户端配置:

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

在 Windows 上,允许的目录之间请使用 ; 而不是 :。

模型可见的内容
  • 单应用服务会以原始名称公开该应用的工具 (例如 create_text_frame、export_pdf)。
  • 套件会在每个工具前加上应用名称(indesign_create_text_frame、 illustrator_create_rectangle)。名称中已包含应用名称的工具只保留一次 (indesign_status)。
  • 跨应用工具(套件,在两个应用均已加载时):
    • place_illustrator_artwork_in_indesign — 将当前 Illustrator 文档中的一个画板置入 InDesign 页面,并链接到 .ai 文件。
    • copy_swatches_illustrator_to_indesign — 复制颜色色板,并精确保留 印刷色/专色值。

更改 MCP 配置后,请重新连接或启动新的客户端会话,以刷新工具列表。

环境变量

常用设置(完整列表请参阅各软件包的 README):

变量用途
ADOBE_MCP_APPS仅限套件:要加载的应用(indesign,illustrator,…)
INDESIGN_ALLOWED_DIRSInDesign 工具可读写的额外目录
ILLUSTRATOR_ALLOWED_DIRSIllustrator 工具可读写的额外目录
INDESIGN_APP_NAME / ILLUSTRATOR_APP_NAME覆盖目标应用名称
INDESIGN_SCRIPT_TIMEOUT_MS / ILLUSTRATOR_SCRIPT_TIMEOUT_MS单个脚本的超时时间
PREMIERE_WS_PORT、BRIDGE_TOKEN、PREMIERE_ALLOWED_DIRSPremiere UXP 桥接
不使用 MCP 客户端进行冒烟检查

该进程会等待从 stdin 接收 MCP JSON-RPC 请求;它不是带有 --help 输出的常规命令行工具。若要确认二进制文件能够启动并列出工具,请通过 stdio 发送 initialize 请求,然后发送 tools/list,或运行软件包测试 (测试会模拟 Adobe 应用,无需安装这些应用):

npm test -w packages/suite

实际的排版和工作调用需要目标 Adobe 应用在这台机器上运行。

从此仓库安装并运行

在开发服务,或想使用尚未发布的 monorepo 版本时,请使用此方式。

git clone https://github.com/zachshallbetter/adobe-mcp.git
cd adobe-mcp
npm install

从源代码运行服务(stdio;适合作为客户端的 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

让客户端指向 monorepo 入口,而不是 npx:

{
  "mcpServers": {
    "adobe": {
      "command": "node",
      "args": [
        "/absolute/path/to/adobe-mcp/packages/suite/src/index.js",
        "--apps",
        "indesign,illustrator"
      ]
    }
  }
}

仓库结构

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

各服务通过 adobe-mcp-core 共享基础设施,因此,对转义、路径检查、结果处理或脚本运行器的修复都会应用到每个服务。各应用之间的差异则保留在各自的包中:其工具、指令,以及告知应用如何运行脚本的方式。每个应用包都会导出一个模块(包含其工具、处理程序、指令和脚本运行器);该应用自身的服务和套件都基于此模块构建,因此每个工具只需编写一次。

开发

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

使用 npm test -w packages/illustrator 运行某个包的测试。静态审计会针对桩应用运行每个工具,并根据应用的脚本对象模型检查生成的每个脚本;无需安装这些应用。

有关发布和各个包的指南,请参阅 CONTRIBUTING.md;完整手册请参阅 docs/handbook/,其中包含架构、各应用编写工具的规则、如何根据能力图谱规划并交付工作、当前状态以及经验总结。

许可证

MIT。请参阅各个包中的 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。