Releases: nutriandrea/adobe-indesign-mcp
Releases · nutriandrea/adobe-indesign-mcp
Release list
v1.4.1 — live-verified fixes for InDesign 2026
Patch release: everything below was found by running the server against a live InDesign 2026 instance and fixed with TDD.
Fixed
preview_documentnow actually renders on real InDesign 2026:resolutionPpi→exportResolution(plain PPI number; the old property never existed in this DOM)Page.exportFile→Document.exportFile+pageStringtaken 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 toapp.polygonPreferences.numberOfSidesset beforepolygons.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_changedevery ~30s instead of going silent
Added
- Plugin bundle guards: unit tests parse
plugin/index.jsand assert the embedded signature script stays ES3-safe (noJSON.*, 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
Highlights
- Agent vision —
preview_documentrenders 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 PDF —
export_batchFolderexports every.inddfile 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(persistentcscripthost). 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
- 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
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,repositoryto 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
What's new in v1.1.0
🎨 Text formatting tools (read + write)
text_getFormatting— get font/size/style per text rangetext_applyCharStyle— apply character style to a rangetext_applyFont— apply font family/style/size to range
🔍 Text search
text_search— GREP-powered, returns paragraph-relative positionstext_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 stepscript_run(code, debug=true)— full ExtendScript stack traces
📦 Better text reading
- BOM/control char filtering (
includeControlCharsflag) - 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
Click the image for a demo video
npm: npm install indesign-nutria-mcp
GitHub: https://github.com/nutriandrea/adobe-indesign-mcp
