NexusInDesign

io.github.pironjulienPublished by GitHub account pironjulienv4.2.2Updated Nov 7, 2026

Adobe InDesign through COM only: scripts, previews, preflight, verified exports, backups.

VerifiedSTDIODesktop onlyFiles & StorageMedia & Design

Overview

NexusInDesign's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open NexusInDesign in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[NexusInDesign]

NexusInDesign

InDesign, driven by your AIs. No panel, no network.

Adobe InDesign 2024 to 2026 for Claude Code and Codex, through one native Windows engine and InDesign's own COM automation: every change checked, every document backed up first, every export verified.

[Tests] [OpenSSF Scorecard] [release] [Windows 10 | 11] [InDesign 2024–2026] [MCP] [License: MIT]

[Get it with NexusSystem]

🌐 Website · 📦 Get it with NexusSystem · 📝 Changelog

✨ Why NexusInDesign

🧩 COM automation only
UXP scripts run by DoScript under NEVER_INTERACT: no panel, no Adobe UXP plugin, no Node.js, no Computer Use.
💾 Backed up, undone in one step
Every open document is backed up before a change, and a script's changes are removed by a single undo.
✅ Checked and verified
Each change is checked against the document's revision and state token; every PDF, PNG, IDML and INDD export is verified.
🖼️ One pass, one preview
run_layout_script checks, backs up, runs, saves and returns a verified PNG preview with the new revision.
🔒 Nothing leaves the PC
No network listener; the engine talks over stdio and sends nothing over the network.
⚡ Native and self-contained
One C# engine, NexusInDesign.exe, x64 and ARM64, no administrator rights. 32 tools.

🚀 Quick start

Windows (x64 or ARM64), InDesign 2024 to 2026 installed (it registers its COM server), Claude Code and/or Codex.

[!TIP] Let your AI install it. Paste this sentence into Claude Code or Codex:

text
Install and set up NexusInDesign for me by following https://raw.githubusercontent.com/pironjulien/NexusSystem/main/INSTALL-AI.md

Or the NexusSystem app (Microsoft Store): it runs this product's get.ps1 and adds the nexus-indesign plugin to Claude Code and Codex from the Nexus catalog. Restart Claude Code and Codex afterwards.

Manual install (verified)

Download get.ps1 and SHA256SUMS.txt from the latest release, check the hash (and gh attestation verify get.ps1 --repo pironjulien/NexusInDesign --signer-repo pironjulien/NexusSystem), then run the file:

powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\get.ps1

It installs %USERPROFILE%\.nexus\nexus-indesign\NexusInDesign.exe (no administrator rights), the path both plugins start: a small native launcher that runs the engine of the current version from versions\<version>-<hash>\, a folder never modified once written, so a conversation already open keeps working through an update. Run it again to update; -Remove removes the program and keeps backups and the audit journal. Claude Desktop can also use the MCP bundle (nexus-indesign-<version>-win-x64.mcpb or -win-arm64.mcpb) of each release.

The engine starts InDesign when needed and closes it again if it started it hidden and nothing stays open.

⚙️ How it works

mermaid
flowchart LR    A["Claude Code / Codex"] -->|"MCP over stdio"| E["NexusInDesign.exe<br/>(C#, self-contained)"]    E -->|"COM: DoScript, NEVER_INTERACT"| I["Adobe InDesign 2024–2026"]    E -.->|"backups, audit journal"| P[("~\.nexus\nexus-indesign\private")]

The nexus-indesign skill (in plugin/skills) guides the agent:

  1. silent_status, silent_list_documents, then open_document or create_document: each returns documentId, revision and stateToken.
  2. run_layout_script for every coherent change: in one tracked InDesign pass it checks revision and state token, backs up every open document (restorable with silent_restore_backup), runs the UXP script (app, indesign, doc, input), saves if asked, renders a verified PNG preview and optionally closes. It returns the new revision and token, so calls chain without re-inspection; a failing script is a known outcome with its backup.
  3. preflight_document, then finalize_layout (PDF only if the layout contract and Adobe's preflight pass) or export_pdf, export_png, export_idml, package_document, save_document, save_as.
  4. silent_close_document for the documents the task opened.

Other tools: analyze_layout and compare_layout_snapshot (geometry, resources, styles, lint and a stable layout fingerprint), preview_layout, create_working_copy, silent_audit_document and the get_* reads, execute_uxp_silent, indesign_doctor (local checks, never starts InDesign) and search_official_dom (offline index of Adobe's official DOM reference, pinned by SHA-256). 32 tools in all.

[!IMPORTANT] After a timeout or a crash, silent_operation_status tells what is known; every InDesign command stays refused until silent_reconcile_unknown_operation has proven the documents stable and backed them up (it asks for a full InDesign restart when the interrupted script could still resume).

[!WARNING] Code run through run_layout_script and execute_uxp_silent has Adobe's full scripting permissions (files and network included): it is not a sandbox.

🛠️ Settings

Defaults suit most users: documents are read from and written to the user profile; private storage, ~\.nexus, .ssh, .gnupg and AppData are denied.

Change the allowed folders and limits

Create %USERPROFILE%\.nexus\nexus-indesign\settings.json:

json
{  "readRoots": ["C:\\Dev", "%USERPROFILE%\\Documents"],  "writeRoots": ["C:\\Dev", "%USERPROFILE%\\Documents"],  "deniedRoots": ["%USERPROFILE%\\Documents\\Secrets"]}

Environment variables take precedence: INDESIGN_MCP_READ_ROOTS, INDESIGN_MCP_WRITE_ROOTS, INDESIGN_MCP_DENIED_ROOTS (;-separated), INDESIGN_MCP_COMMAND_TIMEOUT_MS (default 120000), INDESIGN_MCP_BACKUP_MAX_AGE_HOURS (24), INDESIGN_MCP_BACKUP_MAX_FILES (200), INDESIGN_MCP_ALLOWED_PARENT_*.

🔒 Privacy & security

Everything stays on the PC. The engine sends nothing over the network; backups, the audit journal (no document text, no path, no code) and the runtime stay in %USERPROFILE%\.nexus\nexus-indesign\private, readable by the current user only. See SECURITY.md for the trust boundary and the safeguards.

🧪 Build and test

powershell
.\test.ps1pwsh -File tools/package.ps1 -Version 4.1.4

test.ps1 runs the xUnit suite against an emulated InDesign (no InDesign needed). The launcher is compiled with Native AOT, which needs the Visual C++ build tools (x64 and Arm64 for tools/package.ps1). Every push to main builds and attests the release files through NexusSystem's shared workflows; a new version is promoted to a stable release with the same files. See CONTRIBUTING.md and CHANGELOG.md.


Part of the Nexus ecosystem

Your AIs (Claude, Codex, Antigravity) at work on your Windows apps, real Chrome and Android phone — in the background.

Get them all with NexusSystem · Microsoft Store · julienpiron.fr · @julienpironfr

Built in France 🇫🇷 by Julien Piron

MIT license (see LICENSE, NOTICE.md and THIRD_PARTY_NOTICES.md).

Source: README.md at commit 6a78e11

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

7
  1. v4.2.2LatestNov 7, 2026
  2. v4.1.5Nov 5, 2026
  3. v4.1.4Nov 4, 2026
  4. v4.1.2Nov 3, 2026
  5. v4.1.1Nov 3, 2026
  6. v4.1.0Nov 1, 2026
  7. v4.0.0Oct 31, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts