# adobe-mcp-indesign

MCP server that turns Adobe InDesign into an AI design automation platform — 135+ tools for layout, styles, export, and publishing workflows

- **Type:** MCP server
- **Trust:** 85/100 (A), scored on the package rubric
- **Verification:** verified (build provenance)
- **Version:** 2.5.0
- **Author:** Zach Shallbetter
- **License:** MIT
- **npm:** adobe-mcp-indesign
- **Source:** https://github.com/zachshallbetter/adobe-mcp
- **Compatible clients:** claude-code, cursor, copilot, gemini (basis: transport)

## Trust

85/100 (A), scored on the package rubric
- Publisher verified: no
- Build provenance: verified attestation
- npm trusted publishing (OIDC): yes
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 0 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-10-16T11:16:05.735Z
- **Version scanned:** 2.5.0
- **CVEs:** none found by OSV at scan time

## Tools

40 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `manage_scripts_panel` — Work with the Scripts panel: list the application and user scripts (optionally with files the panel cannot run, Display Unsupported Files), run a script file (E
- `set_script_preferences` — Set script preferences and return them: Enable Redraw while scripts run, whether scripts may show dialogs and alerts (user interaction level) and the measuremen
- `manage_script_labels` — Read or write the script labels scripts use to find objects: get, set or clear an item's label, read or write a keyed label (insertLabel / extractLabel), or fin
- `run_menu_action` — Look up and invoke InDesign menu actions: search the menu actions by name or area (id, title, area, enabled, checked), read one by id, invoke one by id when it 
- `manage_script_menus` — Extend InDesign's menus with scripts: list a menu's submenus and items, add a menu item that runs a script file (a script menu action placed in a menu or a new 
- `manage_event_listeners` — Attach script files to application or document events, such as open, save, export, place, selection changes and before or after printing (print events); list th
- `manage_idle_tasks` — Idle tasks: script files InDesign runs when it is idle, after a delay in milliseconds. List them, add one, change a task's delay (0 stops it, -1 runs it once) o
- `edit_preference_object` — Read or change any preference object of the application or the active document by name, such as textPreferences, guidePreferences or pasteboardPreferences: ever
- `get_performance_metrics` — Read InDesign diagnostics: performance metrics such as CPU time, memory size, thread and handle counts and composition counts, with their long names, and the me
- `apply_ui_customization` — Switch the active menu set, keyboard shortcut set or workspace by name (Edit > Menus, Edit > Keyboard Shortcuts, Window > Workspace)
- `generate_idml_schema` — Write the RELAX NG schema that describes IDML into a folder, for a single-file IDML or the package (multi-file) format (Application.generateIDMLSchema)
- `find_xml_rule_matches` — Run XML rules over the document's structure: match XPath expressions (such as "//Story/Head" or "//*[@type='note']") with an XML rule processor and return each 
- `set_character_attributes` — Set character formatting on text: font, size, leading, kerning, tracking, scale, baseline shift, skew, rotation, case, position, ligatures, No Break, strikethro
- `apply_type_command` — Run a type keyboard command on text: step size, leading, kerning/tracking, baseline shift or scale; auto leading; reset kerning and tracking or scale; bold, ita
- `set_story_options` — Set story options for the stories holding the chosen text: Optical Margin Alignment and its size, and story direction (Type > Story panel)
- `set_type_preferences` — Set type preferences: Type Contextual Controls (alternates and fraction badges on selected text), font locking for Roman and Asian characters, and the HarfBuzz 
- `insert_special_character` — Insert a special character, white space or break character (Type > Insert Special Character / Insert White Space / Insert Break Character), or any glyph by Unic
- `run_glyphs_panel_command` — Run a Glyphs panel menu command: insert one of the five most recently used glyphs at the text selection, sort the panel by Unicode or by glyph ID, or clear the 
- `change_case` — Change the case of text to UPPERCASE, lowercase, Title Case or Sentence case (Type > Change Case)
- `manage_fonts` — Work with fonts: list the fonts used in the document or installed (family, style, type, status, variable axes), replace one font with another throughout the doc
- `manage_cjk_sets` — List, create, update or delete composite fonts (Type > Composite Fonts), mojikumi sets with detailed aki overrides per character class (Type > Mojikumi Settings
- `set_tab_stops` — Set tab stops on the paragraphs of the chosen text (Type > Tabs): add or replace stops with alignment (left, centre, right, align on a character), leader and al
- `set_grep_styles` — Add, replace, clear or list GREP styles: character styles applied automatically to text matching a GREP expression (Paragraph panel menu > GREP Styles), on the 
- `set_bullets_and_numbering` — Apply and format bullets and numbering on the paragraphs of the chosen text (Type > Bulleted & Numbered Lists; Bullets and Numbering dialog): list type, list an
- `manage_numbering_lists`
- `create_swatch`
- `edit_swatch`
- `manage_swatches`
- `load_swatches`
- `save_swatches` — Save swatches to an Adobe Swatch Exchange (.ase) file for other documents and applications (Swatches panel menu > Save Swatches); by default every named colour 
- `set_inks`
- `set_gradient_swatch`
- `set_fill_stroke`
- `copy_fill_stroke`
- `set_color_panel_options`
- `get_color_settings`
- `set_color_settings`
- `assign_document_profiles`
- `set_proofing`
- `set_image_color_settings`

## Install

**Verdict: install** — No blocking findings and no open coverage gaps — safe to install as configured.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"adobe-mcp-indesign\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"adobe-mcp-indesign\"\n      ]\n    }\n  }\n}"
```

## Blast radius

Extensive to critical — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: runs commands; runs on your machine.
- Floor 47, ceiling 75 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/adobe-mcp-indesign
- Install plan: https://forgeregistry.com/api/v1/packages/adobe-mcp-indesign/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/adobe-mcp-indesign
- HTML page: https://forgeregistry.com/registry/adobe-mcp-indesign
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
