SkillAgentSearch skills...

adobe-indesign-mcp

Adobe InDesign MCP — 183 tools. Full InDesign DOM control from any AI agent. MCP-native, TypeScript, 31 handlers.

Install / Use

claude mcp add nutriandrea -- npx -y github:nutriandrea/adobe-indesign-mcp

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

71/100

Category

Automation

Supported Platforms

Claude Code
Claude Desktop
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="media/hero.svg"> <img src="media/hero.svg" width="100%" alt="indesign-nutria-mcp"> </picture> </p> <p align="center"> <b>Say "Create an A4 document with 5 pages, add a red circle on page 3" — and it happens.</b><br> <i>The most comprehensive MCP server for Adobe InDesign. 183 tools. 31 handlers. Full DOM coverage.</i> </p> <p align="center"> <a href="media/demo.mp4"> <img src="media/social-preview.png" width="600" alt="Demo video" style="border-radius: 12px; border: 1px solid #312e81;"> </a> <br> <sub>⚡ Click for a quick demo · <a href="https://github.com/nutriandrea/adobe-indesign-mcp/releases/tag/v1.1.0">v1.1.0 release</a></sub> </p> <p align="center"> <a href="https://www.npmjs.com/package/indesign-nutria-mcp"><img src="https://img.shields.io/npm/v/indesign-nutria-mcp?style=flat&logo=npm&label=version&color=7c3aed" alt="npm version"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-7c3aed?style=flat" alt="license"></a> <a href="#"><img src="https://img.shields.io/badge/tools-183-7c3aed?style=flat" alt="tools"></a> <a href="#"><img src="https://img.shields.io/badge/tests-747-22c55e?style=flat" alt="tests"></a> <a href="#"><img src="https://github.com/nutriandrea/adobe-indesign-mcp/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D18-339933?style=flat&logo=node.js" alt="node"></a> <a href="https://www.adobe.com/products/indesign.html"><img src="https://img.shields.io/badge/InDesign-2022%2B-007396?style=flat&logo=adobe" alt="indesign"></a> </p>

🚀 Why This Exists

InDesign automation has been broken for 20 years. ExtendScript is ancient. CEP panels are over-engineered. UXP scripting requires a CS degree. You just want AI to do the layout.

This MCP server fixes that. One npm install and your AI agent controls InDesign like a puppeteer.

🆚 MCP vs The Old Ways

| | MCP (this) | ExtendScript | CEP Panels | UXP Scripts | Manual | |---|---|---|---|---|---| | Learn in | 30 seconds | 3 weeks | 2 months | 1 month | 0 (slow) | | AI-native | ✅ Any MCP agent | ❌ | ❌ | ❌ | ❌ | | Tool count | 183 | Unlimited (you write them) | 5-20 typical | 5-20 typical | ∞ (manual) | | Error messages | Human-readable | Opaque crashes | Varies | Better | N/A | | Setup time | 5 minutes | 10 minutes | 2 hours | 30 minutes | Instant | | Undo support | ✅ Built-in | ❌ | Varies | ❌ | ✅ | | Search text | text_search("pattern") | Write 50 lines | Maybe | Maybe | Ctrl+F | | Debug mode | ✅ Stack traces | ❌ | Varies | Limited | N/A | | Remote control | ✅ Anywhere STDIO works | ❌ InDesign-only | ❌ | ❌ | N/A | | Maintenance | Zero (we handle 183 tools) | You write+test everything | Fragile | Fragile | N/A |


✨ What It Can Do

📝 Text & Typography (27 tools)

Create frames, set content, apply paragraph/character styles, control formatting, search with GREP, find/replace, apply fonts, set columns, insets, auto-size, vertical justification, drop caps, keep options, hyphenation, tabs, paragraph rules, text wrap, baseline, linking/unlinking.

🎨 Shapes & Objects (20 tools)

Rectangles, ellipses, polygons, lines, groups, anchored objects — create, modify, delete, list, arrange.

🖼️ Images (5 tools)

Place from disk, query metadata, fit/proportional, adjust brightness/contrast, relink.

🎭 Colors & Swatches (6 tools)

CMYK/RGB/LAB/spot swatches, ink list, gradients, apply to fill/stroke.

📄 Pages & Documents (15 tools)

Create, open, save, close, getInfo, listOpen — plus page add/delete/duplicate/move/getInfo/listAll/applyMaster, sections.

📊 Tables (20 tools)

Create, set cells, add/delete rows/columns, merge/split, alignment, fills, strokes, insets, header/footer, row/column sizing, table styles, cell styles.

🧬 Styles (10 tools)

Paragraph, character, object styles — create, list, duplicate, delete, apply.

🏗️ Masters & Books (10 tools)

Master spreads — create, duplicate, apply, delete, list, getPages. Books — list, open, getDocuments, synchronize.

📤 Export (9 tools)

PDF, EPUB, HTML, JPG, PNG, package — plus preflight, font/swatch/table lists, and script_run() for custom ExtendScript.

🔍 Find & Replace (5 tools)

GREP find/replace, format-aware find/replace.

🔄 Transform (5 tools)

Align, distribute, rotate, scale, flip.

🔗 Interactive (5 tools)

Hyperlinks, buttons, cross-reference anchors.

📚 References (10 tools)

Footnotes, endnotes, cross-references, index entries/topics/generation.

📋 Lists (6 tools)

Define, apply to paragraph/selection, remove, restart numbering.

🧩 XML & Data Merge (11 tools)

XML tags, import/export, data merge with CSV/TSV/XML sources.

🔧 Other

Layers, effects (drop shadow, feather, transparency), TOC, sections, undo/redo, undo groups.


🧠 Included AI Skills

Ten skills ship with the repo, auto-loaded by trigger keywords when you use any AI agent:

| # | Skill | What it does for you | |---|---|---| | 1 | Aesthetic Preference | Asks 8 questions before any creative work — font, palette, style, margins. Builds a persistent JSON profile. | | 2 | Layout Readability | Validates overlays, contrast, orphans/widows, hierarchy, spacing, overflow before delivery. | | 3 | Export & Verify | Mandatory modify → export JPG → analyze pixels → fix → repeat cycle. | | 4 | Import Word | Imports .docx, maps Word styles to InDesign paragraph styles. | | 5 | Batch Operations | Applies the same modification across N pages. | | 6 | Image Optimize | Place, resize, DPI check, relink. Profiles for print (300dpi CMYK) vs web (72dpi RGB). | | 7 | Table Format | Creates and styles tables — columns, rows, borders, fills, merge cells. | | 8 | Template Manager | Save/load reusable page templates. | | 9 | Export Batch | Export same document to multiple formats at once with different profiles. | | 10 | Style Extractor | Scans .indd files, extracts full style profile (fonts, colors, styles, masters, margins) as JSON, replicates on new layout. |


🏗️ Architecture

┌─────────────────────┐       STDIO        ┌──────────────────────┐     WebSocket     ┌──────────────────┐
│  Any AI Agent       │ ◄────────────────► │  indesign-nutria-mcp │ ◄───────────────► │  Adobe InDesign   │
│  (Claude, OpenCode, │                    │  (Node.js MCP Server) │     port 8120     │  + UXP Plugin     │
│   Cursor, etc.)     │                    │  31 handlers         │                    │  + ExtendScript    │
└─────────────────────┘                    │  183 tools           │                    └──────────────────┘
                                           │  10 AI skills        │
                                           └──────────────────────┘

Full Handler Catalog

| Handler | Tools | Key Features | |---------|-------|-------------| | AnchoredObject | 5 | create, getSettings, release, setPosition, setProperties | | Book | 4 | list, open, getDocuments, synchronize | | Color | 6 | swatch CRUD, inks, gradients, apply | | DataMerge | 5 | selectDataSource, listFields, mergeRecords, export, removeDataSource | | Document | 8 | create/open/save/close, getInfo, listOpen, getPageStories, getStoryPages | | Effect | 4 | drop shadow, feather, transparency, gradient feather | | Export | 9 | multi-format export, preflight, fonts/swatches/tables, script_run | | Font | 5 | list, find, change, missing check, glyph insert | | Grep | 4 | find, replace, findFormat, replaceFormat | | Image | 5 | place, info, adjust, fit, relink | | Index | 4 | addEntry, createTopic, generate, listTopics | | Interactive | 5 | hyperlinks, buttons, anchors | | Layer | 5 | create, delete, list, reorder, setProperties | | List | 6 | define, apply, remove, restart numbering | | Master | 6 | create, duplicate, apply, delete, list, getPages | | Note | 4 | footnotes, endnotes | | Object | 6 | shapes, groups, image links | | Page | 7 | add, delete, duplicate, move, getInfo, listAll, applyMaster | | Resources | 6 | list/update/embed/unembed links | | Section | 4 | create, list, setNumbering, delete | | Shape | 6 | rectangle/ellipse/line/polygon create, delete, modify | | Style | 7 | paragraph/character/object styles CRUD | | Table | 16 | create, cells, rows/columns, merge/split, alignment, fills, strokes, header/footer | | TableStyle | 4 | tableStyle, cellStyle CRUD | | Text | 7 | frames, content, stories, findReplace, BOM filtering, timeout | | TextAdvanced | 20 | columns, wrap, links, drop caps, rules, tabs, formatting read/write, search | | Toc | 4 | createStyle, generate, update, listStyles | | Transform | 5 | align, distribute, rotate, scale, flip | | Undo | 5 | undo, redo, history, beginGroup, endGroup | | Xml | 6 | tags CRUD, tag/untag items, import/export | | Xref | 3 | create, list, updateFormat |

MCP Resources

| URI | What it gives you | |---|---| | mcp://session/status | Active document session state | | mcp://bridge/status | WebSocket bridge health + queue depth | | mcp://tools/inventory | Full 183-tool catalog for agent self-discovery | | mcp://document/active | Currently active document info |


🎯 Use Cases

🏢 Agency Production

"Create a 200-page catalog from this CSV. Product name in 14pt Arial Bold, price in 12pt Arial Regular, description in 10pt. Add a red 'SALE' badge on page 1, 50, 100, 150. Export as PDF."

📚 Book Publishing

"Import this Word document. Map Heading 1 to 'Chapter Title' style, Normal to 'Body Text'. Add running headers with page numbers. Generate a TOC. Export to PDF with crop marks."

🎨 Creative Automation

"Take this InDesign template and generate 50 variations with different colors and text from this spreadsheet. Export each as a separate PDF."

🏭 Print Production

"Check all 200 files for missing fonts and broken links. Fix them. Export as PDF/X-1a."

🔄 Continuous Publishing

"Every morning at 8am, update the daily newspaper template with fresh content from our CMS, preflight, and upload to the web server."


⚡ Quick Start (30 seconds)

npm install -g indesign-nutria-mcp
indesign-nutria-mcp

Or from source:

git clone https://github.com/nutriandrea/adobe-indesign-mcp
cd adobe-indesign-mcp
npm install
npm run build
node dist/index.js

1️⃣ Load the plugin in InDesign

  1. Open UXP Developer Tool
  2. Load plugin/ directory
  3. Click MCP Bridge → Connect

2️⃣ Connect your AI agent

OpenCode:

{
  "mcpServers": {
    "indesign": {
      "command": "node",
      "args": ["dist/index.js", "opencode-indesign.json"]
    }
  }
}

Claude Desktop:

{
  "mcpServers": {
    "indesign": {
      "command": "node",
      "args": ["/path/to/indesign-nutria-mcp/dist/index.js"]
    }
  }
}

3️⃣ Start creating

🤖 "Create a landscape A3 document with 3 pages."
🤖 "Add a blue rectangle covering the top half of page 1."
🤖 "In the rectangle, add text 'Hello World' in white, Arial Bold 72pt."
🤖 "Export page 1 as JPG."

🆕 What's New in v1.1.0

| Feature | Tools | What it solves | |---------|-------|----------------| | Text formatting read | text_getFormatting | Get font/size/style per text range. No more custom scripts. | | Character style apply | text_applyCharStyle | Apply to a range in one call. | | Font apply | text_applyFont | Apply font family/style/size to a range. | | Text search | text_search, text_searchFormatting | GREP + format-aware search with paragraph-relative positions. | | Story→Page map | document_getPageStories, document_getStoryPages | Which stories are on whi

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars9
CategoryAutomation
Updated22d ago
Forks2

Languages

TypeScript

Security Score

92/100

Audited on Jul 30, 2026

1 low