Skip to main content
Glama
anananaTERRA

mcp-indesign-agent

by anananaTERRA

MCP InDesign Agent

MCP server para editar Adobe InDesign via linguagem natural no Cursor.

Cursor Agent → MCP (stdio) → Bridge local (AppleScript + dispatcher.jsx) → InDesign

v0.1.0 — Document Model em cache, UUIDs persistentes (mcp:<uuid>), ~22 tools semânticas e operações em lote. Plano: PLAN.md.

Prerequisites

  • macOS (bridge v1 = AppleScript + ExtendScript)

  • Node.js 20+

  • Adobe InDesign instalado e aberto, com um .indd ativo para scan/batch

  • Permissão de Automação (veja abaixo)

Related MCP server: InDesign UXP MCP Server

macOS Automation

Na primeira chamada (npm run doctor ou o MCP no Cursor), o macOS pode pedir permissão para controlar o InDesign.

  1. System Settings → Privacy & Security → Automation

  2. Garanta que o app que lança o MCP (Cursor, Terminal, etc.) pode controlar Adobe InDesign

  3. Se o bridge falhar com timeout / Apple Event errors: reabra o InDesign, confirme o nome do app com npm run doctor, e aceite o diálogo de Automação de novo

O script não usa UI scripting frágil: envia JSON ao extendscript/dispatcher.jsx via do script.

Install & build

npm install
npm run build
npm run doctor

doctor imprime apps detectados, versão, doc ativo e smoke de UUID / batch / styles / analyze.

Defina o nome do app se a detecção automática não bater:

INDESIGN_APP_NAME="Adobe InDesign 2026" npm run doctor

Nomes típicos: Adobe InDesign 2026, Adobe InDesign 2025 (veja /Applications).

Connect to Cursor

  1. npm run build

  2. Adicione em ~/.cursor/mcp.json (ou .cursor/mcp.json do projeto):

{
  "mcpServers": {
    "mcp-indesign-agent": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/mcp-indesign-agent/dist/index.js"],
      "env": {
        "INDESIGN_APP_NAME": "Adobe InDesign 2026",
        "INDESIGN_BRIDGE": "applescript"
      }
    }
  }
}
  1. Substitua o path absoluto e o INDESIGN_APP_NAME pelo resultado do doctor

  2. Recarregue os MCP servers no Cursor

  3. Teste: “Ping InDesign e faça scan do documento ativo”

Fluxo do agent (obrigatório na prática)

ping_indesign
  → scan_document                 # cache + snapshot before
  → analyze_page                  # roles (Header, Body…)
  → preview_batch | layout_assistant (opcional)
  → execute_batch | layout_assistant fix
  → summarize_changes

Meta: pedido editorial típico em ≤ 3 round-trips MCP (scan → batch → summarize).

Exemplos:

Pedido

Sequência

“Aumenta o espaço entre os títulos”

scananalyze_pageexecute_batch com stack em {role:"Header"}summarize_changes

“Textos sobrepostos”

scanlayout_assistant diagnose → preview → fix

“Aplica Heading 1 no título”

scananalyze_pageapply_style / batch applyStyle

“Relinka a imagem missing”

scancheck_missing_linksrelink_asset

Targets: uuid | { uuid } | { role, pageIndex? } | { selection: true }.
Nunca use pageIndex:itemIndex como identidade. Geometria em points.

Tools (teto ~25)

Novas capacidades entram como op no dispatcher + comando de batch, não como tool MCP nova — salvo superfície semântica clara (analyze_page, layout_assistant).

Grupo

Tools

Sessão

ping_indesign, scan_document, refresh_document, get_document_model, get_selection

Semântica

analyze_page

Batch / snapshots

snapshot, preview_batch, execute_batch, summarize_changes

Conveniência (thin)

execute_operation, layout_operation

Layout assist

layout_assistant (diagnose | preview | fix)

Styles

list_styles, apply_style, create_style, update_style

Assets

list_assets, check_missing_links, relink_asset, replace_asset, embed_asset

Preferir sempre execute_batch para mutações multi-passo. Thin tools existem para 1 op.

Ops de execute_batch

move, resize, delete, duplicate, setText, replaceText, setFont, setFill, align, distribute, center, stack, applyMargins, applyStyle, createStyle, updateStyle, relinkAsset, replaceAsset, embedAsset.

Env

Var

Default

INDESIGN_APP_NAME

auto (maior ano em /Applications)

INDESIGN_SCRIPT_TIMEOUT_SEC

300

INDESIGN_TEMP_DIR

tmpdir/mcp-indesign-agent

INDESIGN_BRIDGE

applescript

Scripts

Script

Uso

npm run build

Compila dist/

npm start

Sobe o MCP (node dist/index.js)

npm run dev

MCP via tsx (dev)

npm run doctor

Probe bridge + smoke

npm run typecheck

tsc --noEmit

Layout do repo

extendscript/dispatcher.jsx   # Único script de runtime no InDesign
src/
  index.ts                    # Entry MCP + agent instructions
  agent-instructions.ts       # Orientação scan→batch para o client
  bridge/                     # BridgeAdapter (AppleScript v1)
  session/                    # Document Model, cache, snapshots, semantic
  commands/                   # Zod schema, planner, batch
  tools/                      # Tools MCP registradas
  lib/                        # geometry + text-layout (pts) + layout-assistant

License

MIT

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    A
    maintenance
    MCP server for reading, manipulating, and exporting Adobe Illustrator design data via ExtendScript/JSX. 26 tools for text, colors, paths, layers, effects, images, symbols extraction, object creation/modification, SVG/PNG/JPG/PDF export, and pre-press preflight checks. macOS only.
    Last updated
    168
    66
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    A Model Context Protocol (MCP) server that gives AI assistants direct, native control over Adobe InDesign via a UXP plugin bridge, with ~130 tools covering documents, pages, text, graphics, styles, master spreads, books, and export.
    Last updated
    100
    81
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    An MCP server that lets AI assistants like Claude control Adobe Illustrator through natural language by executing ExtendScript code and providing document state inspection.
    Last updated
    6
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Local-first RAG engine with MCP server for AI agent integration.

  • GibsonAI MCP server: manage your databases with natural language

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/anananaTERRA/mcp-indesign-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server