
NexusInDesign
io.github.pironjulienPublished by GitHub account pironjulienv4.2.2Updated Nov 7, 2026
Adobe InDesign through COM only: scripts, previews, preflight, verified exports, backups.
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
- Open NexusInDesign in the dashboard and add it to a workspace.
- 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
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]
✨ Why NexusInDesign
🚀 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:
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:
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
The nexus-indesign skill (in plugin/skills) guides the agent:
silent_status,silent_list_documents, thenopen_documentorcreate_document: each returnsdocumentId,revisionandstateToken.run_layout_scriptfor every coherent change: in one tracked InDesign pass it checks revision and state token, backs up every open document (restorable withsilent_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.preflight_document, thenfinalize_layout(PDF only if the layout contract and Adobe's preflight pass) orexport_pdf,export_png,export_idml,package_document,save_document,save_as.silent_close_documentfor 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_statustells what is known; every InDesign command stays refused untilsilent_reconcile_unknown_operationhas 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_scriptandexecute_uxp_silenthas 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:
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
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
0Version history
7- v4.2.2LatestNov 7, 2026
- v4.1.5Nov 5, 2026
- v4.1.4Nov 4, 2026
- v4.1.2Nov 3, 2026
- v4.1.1Nov 3, 2026
- v4.1.0Nov 1, 2026
- 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