Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

InDesign MCP Server

NPM · INDESIGN-MCP-SERVER

Drive Adobe InDesign from any MCP client: 135+ tools for layout, styles, books and PDF export.

Available components

+3 this week 73 Trust /100

Last scanned (30 minutes ago)

Scores higher than 45% of npm servers

Deprecated

This server is marked deprecated in the MCP registry. The registry records this reason: Renamed to adobe-mcp-indesign.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 39 of 121 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency16
Schema Quality & AI Usability71
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 14090 tokens (~102/item across 137 items; 137 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management70
  • Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 138 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 22 Oct 26 +4
    • Stability: unverified → 0.23 ▲ functional
  • 16 Oct 26 −2
    • Maintenance: pass → fail ▼ functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/indesign-mcp-server@2.3.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 121 packages
Packages resolved 121
Stale 39
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 137 exposed · ~13,643 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_document_to_book ~53

Add an InDesign document to the end of a book and save the book

NameTypeReqDescription
bookPathstringyesPath to the book file
documentPathstringyesPath to the document to add

No output schema declared.

No examples provided.

add_item_to_group ~123

Add a top-level page item to an existing group (the group is rebuilt: it keeps its name but gets a new ID and index)

NameTypeReqDescription
groupIndexintegeryesIndex of the group to add the item to, as numbered by list_groups (its index in page.allPageItems)
itemIndexintegeryesIndex of the page item to add to the group, in page.allPageItems as numbered by list_page_items (nested items included)
pageIndexintegeryesIndex of the page containing the group and item (0-based)

No output schema declared.

No examples provided.

add_page ~84

Add a page to the active document at the end, the beginning, or before/after a given page; returns the new page count

NameTypeReqDescription
positionstring–Where to add the page: AT_END, AT_BEGINNING, or BEFORE/AFTER referencePage
referencePageinteger–0-based reference page index (required for BEFORE/AFTER)

No output schema declared.

No examples provided.

adjust_page_layout ~197

Adjust a page's size and margins with InDesign's Adjust Layout (content is repositioned/scaled to follow). Bleed values are a document setting and are applied to the whole document. All values use the given units.

NameTypeReqDescription
bleedBottomnumber–Bottom bleed, document-wide
bleedInsidenumber–Inside (left) bleed, document-wide
bleedOutsidenumber–Outside (right) bleed, document-wide
bleedTopnumber–Top bleed, document-wide
bottomMarginnumber–Bottom margin
heightnumber–New page height
leftMarginnumber–Left margin
pageIndexintegeryes0-based page index
rightMarginnumber–Right margin
topMarginnumber–Top margin
unitsstring–Units for all values below
widthnumber–New page width

No output schema declared.

No examples provided.

apply_character_style ~119

Apply a character style to all text in a text frame, or to a character range

NameTypeReqDescription
endIndexinteger–Last character index (inclusive); -1 applies to the whole frame
frameIndexinteger–Index in page.textFrames (top-level text frames only; not the list_page_items numbering)
pageIndexinteger–Page index (0-based); defaults to the active page
startIndexinteger–First character index (with endIndex)
styleNamestringyesCharacter style name

No output schema declared.

No examples provided.

apply_color ~179

Apply a swatch as fill or stroke to a page item, or to the text of a text frame

NameTypeReqDescription
colorNamestringyesColor: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
colorTypestring–Apply the swatch to the fill or the stroke
itemIndexintegeryesIndex within the targetType collection on the page (see targetType)
pageIndexinteger–Page index (0-based); defaults to the active page
targetTypestring–Collection itemIndex counts in: pageItem = page.allPageItems (the list_page_items numbering); text and textFrame = page.textFrames (text = the text inside the frame); rectangle, ellipse, polygon = pa…

No output schema declared.

No examples provided.

apply_master_spread ~90

Apply a master spread to document pages. Use masterName "None" to remove the master.

NameTypeReqDescription
masterNamestringyesFull master spread name (e.g. "A-Master"), or "None"
pageRangestring–1-based page positions in document order: "all", "3", "1-5" or "1,3,7-9"

No output schema declared.

No examples provided.

apply_object_style ~121

Apply an object style to a page item

NameTypeReqDescription
clearOverridesboolean–Clear local formatting overrides
itemIndexinteger–Index within the itemType collection on the page
itemTypestring–Collection itemIndex counts in: page.rectangles, page.ovals, page.polygons, page.textFrames, or pageItem = page.allPageItems (the list_page_items numbering)
pageIndexinteger–Page index (0-based); defaults to the active page
styleNamestringyesObject style name

No output schema declared.

No examples provided.

apply_paragraph_style ~78

Apply a paragraph style to all text in a text frame

NameTypeReqDescription
frameIndexintegeryesIndex in page.textFrames (top-level text frames only; not the list_page_items numbering)
pageIndexinteger–Page index (0-based); defaults to the active page
styleNamestringyesParagraph style name

No output schema declared.

No examples provided.

cleanup_document ~170

Clean up the document by removing unused paragraph/character styles, unused swatches, empty layers and/or hidden page items. Use dryRun to list what would be removed.

NameTypeReqDescription
dryRunboolean–Only report what would be removed
removeHiddenElementsboolean–Remove page items that are hidden (visible = false) (default false)
removeUnusedColorsboolean–Remove unused swatches (built-in [bracketed] swatches are kept) (default false)
removeUnusedLayersboolean–Remove layers with no page items and no guides (the last layer is kept) (default false)
removeUnusedStylesboolean–Remove paragraph and character styles not applied to any text (built-in [bracketed] styles are kept) (default false)

No output schema declared.

No examples provided.

clear_session ~19

Clear all session data including page dimensions and document information

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

close_document ~21

Close the active document WITHOUT saving (unsaved changes are discarded)

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

create_book ~53

Create a new InDesign book file and leave it open (fails if a file already exists at the path)

NameTypeReqDescription
filePathstringyesPath for the new book file (".indb" is appended if missing)

No output schema declared.

No examples provided.

create_character_style ~149

Create a character style; only the attributes you pass are set

NameTypeReqDescription
boldboolean–Set font style "Bold" ("Bold Italic" with italic)
fontNamestring–Font as "Family\tStyle" (e.g. "Arial\tRegular", InDesign's Font.name) or a family name
fontSizenumber–Font size in points
italicboolean–Set font style "Italic"
namestringyesStyle name
textColorstring–Text color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
underlineboolean–Underline text

No output schema declared.

No examples provided.

create_color_swatch ~128

Create a color swatch from RGB values, stored as RGB or converted to CMYK

NameTypeReqDescription
bluenumberyesBlue value (0-255)
colorSpacestring–Color space of the swatch (CMYK uses a simple, non-color-managed conversion)
colorTypestring–PROCESS for CMYK/RGB process color, SPOT for a spot (ink) color
greennumberyesGreen value (0-255)
namestringyesSwatch name
rednumberyesRed value (0-255)

No output schema declared.

No examples provided.

create_document ~216

Create a new document and make it active. All measurements are in millimetres. Margins are applied to every page of the new document.

NameTypeReqDescription
bleedBottomnumber–Bottom bleed in mm
bleedInsidenumber–Inside (left) bleed in mm
bleedOutsidenumber–Outside (right) bleed in mm
bleedTopnumber–Top bleed in mm
facingPagesboolean–Enable facing pages
heightnumber–Page height in mm
marginBottomnumber–Bottom margin in mm
marginLeftnumber–Left (inside, for facing pages) margin in mm
marginRightnumber–Right (outside, for facing pages) margin in mm
marginTopnumber–Top margin in mm
pageOrientationstring–Page orientation; width and height are swapped if needed to match
pagesinteger–Number of pages
widthnumber–Page width in mm

No output schema declared.

No examples provided.

create_document_hyperlink ~146

Create a hyperlink on the first occurrence of sourceText in the document. The destination is a URL, a page, or the first occurrence of some other text (a text anchor).

NameTypeReqDescription
destinationstring–For URL: the URL. For TEXT: existing text in the document to link to. Not used for PAGE.
linkTypestring–Type of destination
namestring–Optional hyperlink name (must be unique in the document)
pageIndexinteger–Zero-based destination page index (required for PAGE links)
sourceTextstringyesExisting text in the document to turn into a link (first occurrence, case-sensitive)

No output schema declared.

No examples provided.

create_document_section ~122

Start a new section at a page (or update the section that already starts there) with its own page numbering

NameTypeReqDescription
includeSectionPrefixboolean–Include the prefix when displaying page numbers
markerstring–Section marker text
numberingStylestring–Page number style (PageNumberStyle)
sectionPrefixstring–Section prefix
startNumberinteger–Starting page number. Omit to continue numbering from the previous section.
startPageintegeryesZero-based index of the page that starts the section

No output schema declared.

No examples provided.

create_ellipse ~177

Create an ellipse on the active page (or pageIndex)

NameTypeReqDescription
fillColorstring–Fill color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
heightnumber–Height in mm
pageIndexinteger–Page index (0-based); defaults to the active page
strokeColorstring–Stroke color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
strokeWeightnumber–Stroke weight in points (default 1 when strokeColor is given)
widthnumber–Width in mm
xnumber–X position in mm from the page top-left; omitted values are placed on the page automatically
ynumber–Y position in mm

No output schema declared.

No examples provided.

create_group ~44

Group the page items currently selected in InDesign (at least 2)

NameTypeReqDescription
pageIndexintegeryesIndex of the page where the group will be created (0-based)

No output schema declared.

No examples provided.

create_group_from_items ~62

Create a group from specific page items by their indices

NameTypeReqDescription
itemIndicesarrayyesIndices (from list_page_items) of top-level items to group together
pageIndexintegeryesIndex of the page containing the items (0-based)

No output schema declared.

No examples provided.

create_layer ~92

Create a new layer in the active document (fails if a layer with that name exists)

NameTypeReqDescription
colorstring–Layer color: a UIColors name (e.g. BLUE, LIGHT_BLUE, RED) or "R,G,B" with each value 0-255
lockedboolean–Layer locked state
namestringyesLayer name
visibleboolean–Layer visibility

No output schema declared.

No examples provided.

create_master_guides ~195

Create row/column guides on every page of a master spread (MasterSpread.createGuides)

NameTypeReqDescription
columnGutternumber–Column gutter in mm
fitMarginsboolean–Divide the area inside the margins (true) or the whole page (false)
guideColorstring–Guide color: UI color name (e.g. "BLUE", "LIGHT_BLUE", "GRID_GREEN") or "r,g,b" (0-255)
layerNamestring–Layer to create guides on (default: active layer)
masterNamestringyesFull master spread name (e.g. "A-Master")
numberOfColumnsinteger–Number of columns per page
numberOfRowsinteger–Number of rows per page
removeExistingboolean–Remove existing guides first
rowGutternumber–Row gutter in mm

No output schema declared.

No examples provided.

create_master_rectangle ~227

Create a rectangle on a page of a master spread. Position and size are in mm from that master page's top-left corner.

NameTypeReqDescription
cornerRadiusnumber–Rounded-corner radius in mm (0 = square corners)
fillColorstring–Fill: swatch name in the document (e.g. "Black", "Paper", "None") or "#RRGGBB" (default: document default)
heightnumberyesHeight in mm
masterNamestringyesFull master spread name (e.g. "A-Master")
masterPageIndexinteger–0-based page within the master spread
strokeColorstring–Stroke: swatch name in the document (e.g. "Black", "Paper", "None") or "#RRGGBB" (default: document default)
strokeWeightnumber–Stroke weight in points
widthnumberyesWidth in mm
xnumberyesX position in mm
ynumberyesY position in mm

No output schema declared.

No examples provided.

create_master_spread ~182

Create a new master spread. Its full name is namePrefix + "-" + baseName (e.g. "B-Chapter").

NameTypeReqDescription
baseNamestring–Base name (overrides name)
namestringyesMaster name; used as the base name unless baseName is given
namePrefixstring–Prefix shown on pages using this master (e.g. "B"); InDesign assigns one if omitted
pageColorstring–Pages-panel color: UI color name (e.g. "BLUE", "LIGHT_BLUE", "GRID_GREEN") or "r,g,b" (0-255), "USE_MASTER_COLOR" or "NOTHING"
pagesPerSpreadinteger–Pages in the master spread (default: document setting)
showMasterItemsboolean–Show master items on document pages

No output schema declared.

No examples provided.

create_master_text_frame ~265

Create a text frame on a page of a master spread. Position and size are in mm from that master page's top-left corner.

NameTypeReqDescription
alignmentstring–Paragraph alignment for the frame text (InDesign Justification; LEFT_JUSTIFIED = justified, last line left)
contentstringyesText content for the frame
fontNamestring–Font as "Family\tStyle" (e.g. "Arial\tBold", InDesign's Font.name) or a family name
fontSizenumber–Font size in points
heightnumber–Height in mm
isPrimaryTextFrameboolean–Make this the master spread's primary text frame
masterNamestringyesFull master spread name (e.g. "A-Master")
masterPageIndexinteger–0-based page within the master spread (0 = left/first page)
textColorstring–Text color: swatch name in the document (e.g. "Black", "Paper", "None") or "#RRGGBB"
widthnumber–Width in mm
xnumber–X position in mm
ynumber–Y position in mm

No output schema declared.

No examples provided.

create_object_style ~149

Create an object style; only the attributes you pass are included in the style

NameTypeReqDescription
cornerRadiusnumber–Rounded corner radius in mm (0 = not included)
fillColorstring–Fill color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
namestringyesObject style name
opacitynumber–Opacity percentage (100 = fully opaque)
strokeColorstring–Stroke color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
strokeWeightnumber–Stroke weight in points (default 1 when strokeColor is given)

No output schema declared.

No examples provided.

create_page_guides ~197

Create row/column guides on one page (like Layout > Create Guides, limited to this page)

NameTypeReqDescription
columnGutternumber–Column gutter in mm
fitMarginsboolean–Divide the area inside the margins (true) or the whole page (false)
guideColorstring–Guide color: UI color name (e.g. "BLUE", "GRID_GREEN") or "r,g,b" (0-255)
layerNamestring–Layer to create the guides on (default: active layer)
numberOfColumnsinteger–Number of columns (2+ creates vertical guides)
numberOfRowsinteger–Number of rows (2+ creates horizontal guides)
pageIndexintegeryes0-based page index
removeExistingboolean–Remove the page's existing guides first
rowGutternumber–Row gutter in mm

No output schema declared.

No examples provided.

create_paragraph_style ~169

Create a paragraph style; only the attributes you pass are set

NameTypeReqDescription
alignmentstring–Paragraph alignment (InDesign Justification; LEFT_JUSTIFIED = justified, last line left)
fontNamestring–Font as "Family\tStyle" (e.g. "Arial\tRegular", InDesign's Font.name) or a family name
fontSizenumber–Font size in points
leadingnumber–Leading in points
namestringyesStyle name
spaceAfternumber–Space after paragraph in points
spaceBeforenumber–Space before paragraph in points
textColorstring–Text color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"

No output schema declared.

No examples provided.

create_polygon ~187

Create a regular polygon on the active page (or pageIndex)

NameTypeReqDescription
fillColorstring–Fill color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
heightnumber–Height in mm
pageIndexinteger–Page index (0-based); defaults to the active page
sidesinteger–Number of sides
strokeColorstring–Stroke color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
strokeWeightnumber–Stroke weight in points (default 1 when strokeColor is given)
widthnumber–Width in mm
xnumber–X position in mm from the page top-left; omitted values are placed on the page automatically
ynumber–Y position in mm

No output schema declared.

No examples provided.

create_rectangle ~194

Create a rectangle on the active page (or pageIndex)

NameTypeReqDescription
cornerRadiusnumber–Rounded corner radius in mm (0 = square corners)
fillColorstring–Fill color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
heightnumber–Height in mm
pageIndexinteger–Page index (0-based); defaults to the active page
strokeColorstring–Stroke color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"
strokeWeightnumber–Stroke weight in points (default 1 when strokeColor is given)
widthnumber–Width in mm
xnumber–X position in mm from the page top-left; omitted values are placed on the page automatically
ynumber–Y position in mm

No output schema declared.

No examples provided.

create_spread_guides ~247

Create row/column guides on every page of a spread (Spread.createGuides). Set numberOfRows and/or numberOfColumns above 0; with both 0 nothing is created (the result reports the guide count before and after).

NameTypeReqDescription
columnGutternumber–Column gutter in mm
fitMarginsboolean–If true, rows/columns divide the area inside the page margins; if false, the full page
guideColorstring–Guide color: a UIColors name (e.g. BLUE, LIGHT_BLUE, GRID_GREEN) or "R,G,B" with each value 0-255
layerNamestring–Name of an existing layer to create the guides on (default: active layer)
numberOfColumnsnumber–Number of columns to create on each page (0-100)
numberOfRowsnumber–Number of rows to create on each page (0-100)
removeExistingboolean–Remove existing guides when creating the new ones
rowGutternumber–Row gutter in mm
spreadIndexintegeryesSpread index (0-based)

No output schema declared.

No examples provided.

create_table ~159

Create a table in a new text frame on the active page (or pageIndex)

NameTypeReqDescription
columnsintegeryesNumber of columns
headerRowsinteger–Number of header rows (must be less than rows; default 1 when rows > 1)
heightnumber–Text frame height in mm
pageIndexinteger–Page index (0-based); defaults to the active page
rowsintegeryesTotal number of rows, including header rows
widthnumber–Frame and table width in mm
xnumber–X position in mm from the page left edge; omitted values are placed automatically
ynumber–Y position in mm from the page top edge

No output schema declared.

No examples provided.

create_text_frame ~271

Create a text frame on the active page (or pageIndex). Styles are applied first; explicit formatting overrides them.

NameTypeReqDescription
alignmentstring–Paragraph alignment (InDesign Justification; LEFT_JUSTIFIED = justified, last line left)
characterStylestring–Character style name to apply
contentstringyesText content for the frame
fontNamestring–Font as "Family\tStyle" (e.g. "Arial\tRegular", InDesign's Font.name) or a family name (default: style/document default)
fontSizenumber–Font size in points (default: style/document default)
heightnumber–Height in mm
pageIndexinteger–Page index (0-based); defaults to the active page
paragraphStylestring–Paragraph style name to apply
textColorstring–Text color (default: style/document default): swatch name (e.g. "Black", "Paper") or "#RRGGBB"
widthnumber–Width in mm
xnumber–X position in mm from the page left edge; omit position or size to have the frame placed automatically
ynumber–Y position in mm from the page top edge

No output schema declared.

No examples provided.

data_merge ~202

Data merge: select a CSV or tab-delimited text data source for the active document and (optionally) merge records. The document must already contain data merge placeholders for merging to succeed.

NameTypeReqDescription
createNewDocumentboolean–Create a new document for the merged records
dataSourcestringyesAbsolute path to the data source file (.csv or tab-delimited .txt)
mergeRecordsboolean–Merge records after selecting the data source. If false, only selects the source and lists its fields.
recordNumberinteger–Record to merge when recordSelection is ONE_RECORD
recordRangestring–Record range when recordSelection is RANGE, e.g. "1-5,8"
recordSelectionstring–Which records to merge
recordsPerPagestring–One record per page, or multiple records per page
removeBlankLinesboolean–Remove blank lines caused by empty fields

No output schema declared.

No examples provided.

delete_all_page_layout_snapshots ~33

Delete all layout snapshots for a page

NameTypeReqDescription
pageIndexintegeryes0-based page index

No output schema declared.

No examples provided.

delete_master_spread ~46

Delete a master spread (pages that used it are left with no master)

NameTypeReqDescription
namestringyesFull master spread name to delete (e.g. "B-Master")

No output schema declared.

No examples provided.

delete_page ~39

Delete a page from the document (the only page cannot be deleted)

NameTypeReqDescription
pageIndexintegeryes0-based index of the page to delete

No output schema declared.

No examples provided.

delete_page_item ~74

Delete a page item (by index from list_page_items) from a page

NameTypeReqDescription
itemIndexintegeryesIndex of the page item to delete, in page.allPageItems as numbered by list_page_items (nested items included)
pageIndexintegeryesIndex of the page containing the item (0-based)

No output schema declared.

No examples provided.

delete_page_layout_snapshot ~36

Delete the page's layout snapshot for its current size and shape

NameTypeReqDescription
pageIndexintegeryes0-based page index

No output schema declared.

No examples provided.

delete_spread ~40

Delete a spread and all its pages. The last remaining spread cannot be deleted.

NameTypeReqDescription
spreadIndexintegeryesSpread index to delete (0-based)

No output schema declared.

No examples provided.

detach_master_items ~103

Detach master page items onto a document page: each master item is overridden onto the page and the copy is detached so it no longer follows the master. Without itemIndex, all master items shown on the page (and items already overridden there) are detached.

NameTypeReqDescription
itemIndexinteger–0-based index into the page's master items (Page.masterPageItems); omit to detach all
pageIndexintegeryes0-based document page index

No output schema declared.

No examples provided.

duplicate_master_spread ~124

Duplicate a master spread; the copy gets newName as its base name (InDesign assigns a new prefix)

NameTypeReqDescription
namestringyesFull name of the master spread to duplicate (e.g. "A-Master")
newNamestringyesBase name for the duplicated master spread
positionstring–Where to put the copy among the masters: AT_END, AT_BEGINNING, or BEFORE/AFTER the reference master
referenceMasterNamestring–Full name of the reference master spread (required for BEFORE/AFTER)

No output schema declared.

No examples provided.

duplicate_page ~74

Duplicate a page and put the copy at the given position in the document

NameTypeReqDescription
pageIndexintegeryes0-based index of the page to duplicate
positionstring–Where to put the copy
referencePageIndexinteger–0-based reference page index (required for BEFORE/AFTER)

No output schema declared.

No examples provided.

duplicate_page_item ~126

Duplicate a page item on the same page, optionally placing the copy at x/y; returns the copy ID

NameTypeReqDescription
itemIndexintegeryesIndex of the page item to duplicate, in page.allPageItems as numbered by list_page_items (nested items included)
pageIndexintegeryesIndex of the page containing the item (0-based)
xnumberyesX of the duplicate's top-left corner, in mm from the page left edge
ynumberyesY of the duplicate's top-left corner, in mm from the page top edge

No output schema declared.

No examples provided.

duplicate_spread ~81

Duplicate a spread (Spread.duplicate) and place the copy at the given location in the document

NameTypeReqDescription
positionstring–Where to put the copy (LocationOptions)
referenceSpreadIndexinteger–Reference spread index (0-based); required for BEFORE/AFTER
spreadIndexintegeryesSpread index to duplicate (0-based)

No output schema declared.

No examples provided.

edit_text_frame ~186

Edit the content and/or formatting of an existing text frame

NameTypeReqDescription
alignmentstring–Paragraph alignment for the whole frame (InDesign Justification; LEFT_JUSTIFIED = justified, last line left)
contentstring–New text content (replaces existing text)
fontNamestring–Font as "Family\tStyle" (e.g. "Arial\tRegular", InDesign's Font.name) or a family name
fontSizenumber–Font size in points
frameIndexintegeryesIndex in page.textFrames (top-level text frames only; not the list_page_items numbering)
pageIndexinteger–Page index (0-based); defaults to the active page
textColorstring–Text color: swatch name (e.g. "Black", "Paper") or "#RRGGBB"

No output schema declared.

No examples provided.

execute_indesign_code ~30

Execute custom InDesign ExtendScript code

NameTypeReqDescription
codestringyesExtendScript code to execute

No output schema declared.

No examples provided.

export_book ~83

Export an entire book to a single file

NameTypeReqDescription
bookPathstringyesPath to the book file
formatstring–Export format
outputPathstringyesPath for the exported file
pdfPresetstring–PDF export preset name for format PDF (e.g. "[High Quality Print]"); default: current PDF export settings

No output schema declared.

No examples provided.

export_document_xml ~61

Export the document XML structure (the Structure pane content) to an XML file

NameTypeReqDescription
filePathstringyesAbsolute path of the XML file to write
includeImagesboolean–Copy original images into an Images folder next to the XML file

No output schema declared.

No examples provided.

Install

How do I install the InDesign MCP Server server?

InDesign MCP Server runs locally as an npm package, launched with npx -y indesign-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · indesign-mcp-server

# add to Claude Code
claude mcp add zachshallbetter-indesign-mcp-server -- npx -y indesign-mcp-server
Common questions

What is the InDesign MCP Server server?

InDesign MCP Server is listed in the public MCP registry as io.github.zachshallbetter/indesign-mcp-server. Drive Adobe InDesign from any MCP client: 135+ tools for layout, styles, books and PDF export. This page covers its npm package (indesign-mcp-server).

Is the InDesign MCP Server server safe to use?

InDesign MCP Server scores 73 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the InDesign MCP Server server expose?

InDesign MCP Server exposes 137 tools: add_page, delete_page, duplicate_page, navigate_to_page, get_page_info, and 132 more. Their descriptions and schemas cost roughly 13,643 tokens of context every time the server is loaded.

Is the InDesign MCP Server server still maintained?

InDesign MCP Server is marked deprecated in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the InDesign MCP Server server under?

InDesign MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.