mcp-indesign-agent
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-indesign-agentAumenta o espaço entre os títulos"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP InDesign Agent
MCP server para editar Adobe InDesign via linguagem natural no Cursor.
Cursor Agent → MCP (stdio) → Bridge local (AppleScript + dispatcher.jsx) → InDesignv0.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
.inddativo para scan/batchPermissão de Automação (veja abaixo)
Related MCP server: Illustrator MCP
macOS Automation
Na primeira chamada (npm run doctor ou o MCP no Cursor), o macOS pode pedir permissão para controlar o InDesign.
System Settings → Privacy & Security → Automation
Garanta que o app que lança o MCP (Cursor, Terminal, etc.) pode controlar Adobe InDesign
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 doctordoctor 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 doctorNomes típicos: Adobe InDesign 2026, Adobe InDesign 2025 (veja /Applications).
Connect to Cursor
npm run buildAdicione em
~/.cursor/mcp.json(ou.cursor/mcp.jsondo 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"
}
}
}
}Substitua o path absoluto e o
INDESIGN_APP_NAMEpelo resultado dodoctorRecarregue os MCP servers no Cursor
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)
→ checkpoint # cópia .indd em disco (automática, ver abaixo)
→ execute_batch | layout_assistant fix
→ summarize_changesMeta: pedido editorial típico em ≤ 3 round-trips MCP (scan → batch → summarize).
Checkpoint: a rede que o snapshot não é
Em 11/08/2026, 18 scripts de patch ad-hoc em ~20 minutos destruíram a p.8 de um
livro em produção. Não havia como voltar: snapshot guarda só bounds,
paragraphStyle e um textPreview truncado, e não tem restore; nenhum
script usava transação, então cada um virava várias entradas de undo.
O servidor agora recusa mutação sem rede:
op: "checkpoint"—doc.saveACopy()para<pasta do .indd>/_checkpoints/com nome<base>-<tag>-<YYYYMMDD-HHMMSS>.indd, mantendo oskeepmais recentes (default 12). Disponível emexecute_operatione como comando deexecute_batch. Roda antes e fora da transação — a cópia precisa sobreviver ao rollback que ela existe para permitir.Gate no
execute_batch— todo batch mutante exige um checkpoint da geração atual do documento (meta.generation). Por default o servidor tira a cópia sozinho (INDESIGN_CHECKPOINT_MODE=auto) e recusa o batch se osaveACopyfalhar.skipCheckpoint: trueé a saída deliberada.Uma transação por pedido — todo batch mutante roda dentro de
app.doScript(…, UndoModes.ENTIRE_SCRIPT, "<nome>"). Um Cmd+Z desfaz o pedido inteiro e uma exceção no meio reverte tudo. O nome do undo é forçado a ASCII.
Criar/apagar frames muda a geração e invalida o checkpoint anterior; editar texto não muda, então uma cópia cobre uma sequência de edições de texto.
Exemplos:
Pedido | Sequência |
“Aumenta o espaço entre os títulos” |
|
“Textos sobrepostos” |
|
“Aplica Heading 1 no título” |
|
“Relinka a imagem missing” |
|
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 |
|
Semântica |
|
Batch / snapshots |
|
Conveniência (thin) |
|
Layout assist |
|
Styles |
|
Assets |
|
Preferir sempre execute_batch para mutações multi-passo. Thin tools existem para 1 op.
Ops de execute_batch
checkpoint, move, resize, delete, duplicate, createTextFrame, setText, replaceText, setFont, setFill, align, distribute, center, stack, applyMargins, applyStyle, createStyle, updateStyle, relinkAsset, replaceAsset, embedAsset.
checkpoint é a única que não muta o documento.
Env
Var | Default |
| auto (maior ano em |
|
|
|
|
|
|
|
|
|
|
|
|
Scripts
Script | Uso |
| Compila |
| Sobe o MCP ( |
| MCP via |
| Probe bridge + smoke |
|
|
| Gate de checkpoint + transação ( |
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, checkpoints, semantic
commands/ # Zod schema, planner, batch, checkpoint gate, mutations
tools/ # Tools MCP registradas
lib/ # geometry + text-layout (pts) + layout-assistant + ascii
tests/ # Gate + transação (fake bridge, não abre o InDesign)License
MIT
Maintenance
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
- AlicenseCqualityAmaintenanceA 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.10086MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that lets AI assistants like Claude control Adobe Illustrator through natural language by executing ExtendScript code and providing document state inspection.6MIT
- FlicenseNot gradedqualityCmaintenanceA custom MCP server that lets Claude Code read, search, and manipulate Adobe InDesign documents. macOS only.
- AlicenseCqualityCmaintenanceEnables AI assistants to control Adobe InDesign for automated publishing workflows, document creation, and layout tasks across macOS and Windows.361MIT
Related MCP Connectors
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
The Figma MCP server brings Figma design context directly into your AI workflow.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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