Skip to content

Releases: nutriandrea/adobe-indesign-mcp

v1.4.1 — live-verified fixes for InDesign 2026

Choose a tag to compare

@nutriandrea nutriandrea released this 24 Aug 21:23
b696822

Patch release: everything below was found by running the server against a live InDesign 2026 instance and fixed with TDD.

Fixed

  • preview_document now actually renders on real InDesign 2026:
    • resolutionPpiexportResolution (plain PPI number; the old property never existed in this DOM)
    • Page.exportFileDocument.exportFile + pageString taken from the target page's own name (section numbering respected)
    • generated scripts no longer end with JSON.stringify(...), which throws in ExtendScript's ES3 engine
  • shape_polygon_create: side count moved to app.polygonPreferences.numberOfSides set before polygons.add() — the instance property is gone in the 2026 DOM
  • Change events heartbeat: while a document stays dirty, consecutive unsaved edits leave the name/modified signature unchanged, so the plugin now re-emits document_changed every ~30s instead of going silent

Added

  • Plugin bundle guards: unit tests parse plugin/index.js and assert the embedded signature script stays ES3-safe (no JSON.*, no backslash literals)

194 tools · 33 handlers · 888 tests green · fixes verified end-to-end on macOS / InDesign 2026 (21.3)

v1.4.0 — Agent vision, batch PDF, Windows, hardened paths

Choose a tag to compare

@nutriandrea nutriandrea released this 24 Aug 17:47
30bc560

Highlights

  • Agent visionpreview_document renders any page to PNG/JPEG and returns it as an MCP image block, so the agent can see layouts and catch mistakes in the loop.
  • Batch PDFexport_batchFolder exports every .indd file in a folder in one call, with per-file success/failure results.
  • Windows support (opt-in COM bridge) — drive InDesign with no UXP plugin via COM_BRIDGE_ENABLED=true (persistent cscript host). See WINDOWS.md. macOS default path untouched.
  • Hardened file paths — every file-touching tool now validates paths before execution: raw .. traversal segments and system directories (/etc, C:\Windows\..., …) are rejected across 11 call sites in 8 handlers.

193 tools · 32 handlers · 872 tests

Full changelog

See CHANGELOG.md.

v1.3.0 — InDesign 2026 compat, env config, no more 30s hangs

Choose a tag to compare

@nutriandrea nutriandrea released this 24 Aug 15:28
2f4e747
  • InDesign 2026 ready: shims for renamed color/anchor enums; anchored objects via insertion-point collections
  • Real env var config: all 13 documented settings honored (env > file > defaults), invalid values never block startup
  • Fast-fail when plugin disconnected: instant actionable error instead of 30s timeout
  • Unified ExtendScript escaping across all 27 handlers
  • Hardened path validation (true containment, no prefix-collision escapes)
  • Honest getStatus().connected; enforced coverage gates; accurate 191-tool count

v1.2.0 — README rewrite, origin story, comparison docs

Choose a tag to compare

@nutriandrea nutriandrea released this 30 Jul 17:39

What's New

Documentation Overhaul

  • Completely rewritten README with badges, "why this exists" narrative, comparison table vs ExtendScript/CEP, full tool catalog, architecture diagram
  • Origin story (docs/origin.md) — the full history of how this project evolved from a UXP proof-of-concept to 183 tools, including the hardest bugs and what's next
  • Comparison guide (docs/comparison.md) — detailed comparison with ExtendScript, CEP panels, and manual workflows

Package Improvements

  • Added keywords, homepage, bugs, repository to package.json
  • Updated description for better npm/GitHub discoverability

Social Preview

  • 1280x640 social preview image for GitHub embeds

Stats

  • 183 tools across 31 handlers
  • 747+ tests (vitest)
  • 10 AI skills included
  • TypeScript strict mode

Full changelog: v1.1.0...v1.2.0

v1.1.0 — Text formatting, search, undo groups, debug mode

Choose a tag to compare

@nutriandrea nutriandrea released this 09 Jul 18:12

What's new in v1.1.0

🎨 Text formatting tools (read + write)

  • text_getFormatting — get font/size/style per text range
  • text_applyCharStyle — apply character style to a range
  • text_applyFont — apply font family/style/size to range

🔍 Text search

  • text_search — GREP-powered, returns paragraph-relative positions
  • text_searchFormatting — search by font/size/style

🗺️ Document navigation

  • document_getPageStories, document_getStoryPages — story↔page mapping

🛡️ Safety & debugging

  • undo_beginGroup, undo_endGroup — group operations into one undo step
  • script_run(code, debug=true) — full ExtendScript stack traces

📦 Better text reading

  • BOM/control char filtering (includeControlChars flag)
  • Timeout/maxResults on large document reads

🔧 Infrastructure

  • 8 new table cell tools (merge, split, fill, stroke, inset, alignment, header/footer, row/column size)
  • Health checks + stale connection cleanup
  • 747 tests, TypeScript strict mode

Demo video

Click the image for a demo video

npm: npm install indesign-nutria-mcp
GitHub: https://github.com/nutriandrea/adobe-indesign-mcp