Skip to main content
Glama
nutriandrea

indesign-nutria-mcp

by nutriandrea

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoLog level: debug | info | warn | errorinfo
BRIDGE_PORTNoWebSocket port the UXP plugin connects to8120
INDESIGN_APPNoThe InDesign application process name; matches your installed version (used by the plugin-free macOS proxy)Adobe InDesign 2026
BRIDGE_WS_URLNoWebSocket URL the proxy connects tows://127.0.0.1:8120
HTTP_BRIDGE_PORTNoPort for the optional REST fallback bridge3000
SERVER_TRANSPORTNoMCP server transport: stdio | websocketstdio
BRIDGE_TIMEOUT_MSNoBridge timeout in milliseconds; a long export is not a hang120000
COM_BRIDGE_ENABLEDNoWindows only: drive InDesign over COM, no plugin requiredfalse
HTTP_BRIDGE_ENABLEDNoOptional REST fallback bridgefalse
BRIDGE_RECONNECT_DELAY_MSNoDelay in milliseconds between bridge reconnection attempts3000
RESPONSE_ENVELOPE_SUCCESSNoWrap successful results as { ok: true, ... }false

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
document_createC

Create a new InDesign document with specified dimensions, margins, and settings

document_openC

Open an existing InDesign document from file path

document_saveC

Save the active InDesign document, optionally to a specific path

document_closeC

Close the active InDesign document with save options

document_getInfoB

Get detailed information about the active document including page count, dimensions, and margins

document_listOpenC

List all currently open InDesign documents

document_getStateA

Get the editing state in one call: the front document (name, path, page count, size, margins), the index of that document, the names of every open document, the active layer, and how many objects are selected. Prefer this over chaining document_getInfo and document_listOpen

document_getPageStoriesC

Get all stories that appear on a specific page

document_getStoryPagesC

Get all pages covered by a specific story (for finding which pages a story lives on)

page_addC

Add a new page to the active document at a specified position

page_deleteC

Delete a page from the active document by index

page_duplicateC

Duplicate a page in the active document

page_moveC

Move a page to a new position in the active document

page_getInfoC

Get detailed information about a specific page

page_listAllB

List all pages in the active document with their properties

page_applyMasterC

Apply a master spread to a page

text_addFrameC

Add a text frame to a specified page with content

text_setContentC

Set content of a text frame

text_getContentC

Get content from a text frame

text_getStoriesC

List all stories in the active document with optional timeout and max results

text_applyParagraphStyleC

Apply a paragraph style to a text range

text_findReplaceC

Find and replace text content

text_getTextFramesC

List all text frames on a page with optional timeout

style_listParagraphB

List all paragraph styles in the active document

style_listCharacterC

List all character styles in the active document

style_listObjectC

List all object styles in the active document

style_createParagraphC

Create a new paragraph style

style_createCharacterC

Create a new character style

style_duplicateD

Duplicate a style

style_deleteC

Delete a style

image_listC

List all placed images in a page

image_getLinksC

Get link status for all placed images

shape_createC

Create a geometric shape (rectangle, ellipse, polygon, line)

shape_listC

List all shapes on a page

group_listC

List all groups in a page

group_ungroupC

Ungroup a group by index

export_documentC

Export the active document to a specified format (PDF, JPG, PNG, EPUB, HTML, package)

export_batchFolderA

Export every InDesign (.indd) file in a folder to PDF in one run — opens each document invisibly and reports per-file results

export_preflightC

Run a preflight check on the active document

export_getSwatchesB

Get all swatches (colors, gradients, tints) from the active document

export_getFontsB

Get all fonts used in the active document

export_getMasterSpreadsC

List all master spreads in the active document

export_getTablesC

List all tables in the active document

export_getXmlTagsC

List XML tags in the active document

export_executeScriptC

Execute arbitrary ExtendScript code in InDesign

script_runC

Execute arbitrary ExtendScript code with optional debug mode that returns line-level error stack traces

master_createC

Create a new master spread with a given name and page count

master_duplicateC

Duplicate an existing master spread

master_applyC

Apply a master spread to a specific page

master_deleteC

Delete a master spread by name

master_listB

List all master spreads with page count

master_getPagesC

List all pages on a master spread

table_createC

Create a table on a page at specified bounds with row/column count

table_listB

List all tables on a page or in the document

table_addRowC

Add a row to a table at a specific index

table_addColumnC

Add a column to a table at a specific index

table_deleteRowC

Delete a row from a table

table_deleteColumnC

Delete a column from a table

table_setCellC

Set content of a specific cell

table_getInfoC

Get detailed info about a table (rows, columns, cell contents)

table_mergeCellsC

Merge a range of cells into one

table_splitCellC

Split a merged cell

table_setCellFillC

Set a cell's fill color and tint

table_setCellStrokeC

Set cell edge stroke properties

table_setCellInsetC

Set cell inset spacing

table_setCellAlignmentC

Set cell text alignment

table_setHeaderFooterC

Set header and footer row counts

table_setRowColumnSizeC

Set row height or column width

resources_listLinksC

List all document links with status and file path

resources_updateLinkB

Update/relink a specific link by index to a new file

resources_updateAllLinksC

Re-establish all broken/modified links

resources_embedLinkC

Embed a linked file into the document

resources_unembedLinkC

Unembed a file and save as linked resource

resources_getLinkInfoC

Get detailed status for a specific link

book_listB

List all open books in InDesign

book_openC

Open an InDesign book file (.indb)

book_getDocumentsC

List all documents in a book

book_synchronizeC

Synchronize book documents with the style source

interactive_listHyperlinksC

List all hyperlinks in the active document

interactive_addHyperlinkC

Add a hyperlink to a text selection or page item

interactive_deleteHyperlinkC

Delete a hyperlink by index

interactive_listButtonsC

List all buttons in the active document

interactive_listAnchorsC

List all cross-reference anchors in the active document

xml_listTagsC

List all XML tags in the active document

xml_addTagC

Create a new XML tag

xml_deleteTagC

Delete an XML tag by name

xml_tagPageItemC

Apply an XML tag to a page item

xml_exportC

Export document structure as XML

xml_importC

Import XML file into the document

toc_createStyleC

Create or modify a Table of Contents style in the active document

toc_generateC

Generate a Table of Contents on a specified page

toc_listStylesB

List all Table of Contents styles in the active document

toc_updateC

Update (regenerate) an existing TOC from its story

note_addFootnoteC

Add a footnote to a specific paragraph in a story

note_listFootnotesC

List all footnotes in a story or the active document

note_footnoteOptionsC

Set footnote options for the active document

note_addEndnoteC

Add an endnote to a story

index_addEntryC

Add an index entry for the current selection

index_generateC

Generate the index on a specified page

index_listTopicsC

List all index topics in the active document

index_createTopicC

Create a new index topic

grep_findC

Find text using GREP pattern in the active document

grep_replaceC

Find and replace text using GREP pattern

grep_findFormatC

Find text with specific formatting

grep_replaceFormatC

Find and replace text while changing formatting

text_linkFramesC

Link (thread) two text frames together

text_unlinkFramesC

Unlink a text frame from its thread

text_setColumnsC

Set column count and gutter for a text frame

text_setTextWrapC

Set text wrap preferences for an object

text_setDropCapC

Set drop cap options for a paragraph

text_setKeepOptionsC

Set keep options (widow/orphan control) for a paragraph

text_setInsetSpacingC

Set text frame inset spacing

text_setAutoSizeC

Set auto-sizing type for a text frame

text_setVerticalJustificationC

Set vertical justification for a text frame

text_setFirstBaselineC

Set first baseline options for a text frame

text_setIgnoreWrapC

Set whether text frame ignores text wrap

text_setParagraphRuleAboveC

Add or modify rule above a paragraph

text_setParagraphRuleBelowC

Add or modify rule below a paragraph

text_setTabsC

Set tab stops for a paragraph

text_setHyphenationC

Set hyphenation settings for a paragraph

text_getFormattingB

Get detailed formatting (font, size, style, character style) for each text style range in a paragraph

text_applyCharStyleC

Apply a character style to a range of characters within a paragraph

text_applyFontC

Apply font family, style, and/or size to a range of characters within a paragraph

text_searchC

Search text within a story using a GREP pattern, returning match positions and context

text_searchFormattingC

Find text ranges with specific formatting (font family, style, or size) within a story

xref_createC

Create a cross-reference in the active document

xref_listB

List all cross-references in the active document

xref_updateFormatC

Update the format of a cross-reference

effect_applyDropShadowC

Apply a drop shadow effect to an object

effect_applyFeatherC

Apply a feather effect to an object

effect_applyTransparencyC

Set transparency and blend mode for an object

effect_applyGradientFeatherC

Apply a gradient feather effect to an object

transform_alignC

Align objects on a page relative to selection, margins, or page

transform_distributeC

Distribute objects evenly on a page

transform_rotateC

Rotate an object by a specified angle

transform_scaleC

Scale an object by percentages

transform_flipC

Flip an object horizontally or vertically

tableStyle_createC

Create a table style in the active document

tableStyle_listB

List all table styles in the active document

cellStyle_createC

Create a cell style in the active document

cellStyle_listB

List all cell styles in the active document

section_createC

Create a new section starting at a specified page

section_listB

List all sections in the active document

section_setNumberingC

Update page numbering for a section

section_deleteC

Delete a section by its index

color_swatch_createC

Create a new color swatch

color_swatch_listB

List all color swatches in the document

color_swatch_deleteC

Delete a color swatch by name

color_gradient_createC

Create a gradient swatch

color_applyB

Apply a color swatch to selected item (fill or stroke)

color_ink_listB

List all inks in the document

font_listC

List all available fonts

font_findC

Search fonts by name

font_changeC

Change font of selected text

font_glyph_insertC

Insert a special glyph at the cursor position

font_missing_checkC

Check for missing fonts in the document

image_placeC

Place an image from a file path onto a page

image_adjustC

Adjust image properties (brightness, contrast, etc.)

image_fitC

Fit image content to its frame

image_relinkC

Relink/replace an image with a new file

image_infoC

Get metadata for an image on a page

layer_createC

Create a new layer in the active document

layer_listC

List all layers in the active document

layer_reorderC

Move a layer to a new position in the layer stack

layer_setPropertiesC

Set layer properties (visibility, lock, etc.)

layer_deleteD

Delete a layer

shape_rectangle_createC

Create a rectangle on a page

shape_ellipse_createC

Create an ellipse or circle on a page

shape_polygon_createC

Create a polygon on a page

shape_line_createC

Create a graphic line on a page

shape_modifyC

Modify properties of an existing shape

shape_deleteC

Delete a shape from a page

undoC

Undo the last operation

redoC

Redo the last undone operation

undo_historyC

Get undo/redo state information

undo_beginGroupA

Begin an undo group. While active, each subsequent script runs as a single undo step, so one Undo reverts a whole tool call (e.g. a multi-step recipe). It cannot merge separate calls into one step — each call is still its own undo entry. Call undo_endGroup() to restore the default.

undo_endGroupB

End the undo group and restore the default undo behavior

anchoredObject_createC

Create an anchored object at an insertion point or attach to a text frame

anchoredObject_setPositionC

Reposition an anchored object

anchoredObject_releaseC

Release anchored object to regular page item

anchoredObject_getSettingsC

Get anchored object settings

anchoredObject_setPropertiesC

Set multiple anchored object properties

list_defineC

Define a new numbered or bulleted list

list_applyToParagraphC

Apply a list to a specific paragraph

list_applyToSelectionC

Apply a list to the current text selection

list_removeFromParagraphC

Remove list formatting from a paragraph

list_listB

List all defined lists in the document

list_restartNumberingC

Restart numbering at a specific paragraph

dataMerge_selectDataSourceC

Select a data source (CSV/TSV/XML) file for data merge

dataMerge_listFieldsB

List available data merge fields from the current data source

dataMerge_mergeRecordsC

Merge records into the document using the selected data source

dataMerge_exportC

Export the merged document to a file

dataMerge_removeDataSourceB

Remove the current data source from the document

preview_documentC

Render a page of the active document as an image (PNG or JPEG) so you can visually inspect layout, colors and typography

recipe_flowTextStoryA

Place a text file and flow it across as many pages as it needs in one call — creates the frames, links them, adds pages when it runs out, and reports where the story ended and whether it still overflows

recipe_exportPresetA

Export the active document to PDF using a named PDF export preset in one call — validates the preset first and, if it is wrong, fails with the list of valid preset names

changes_getStatusA

Report document change activity pushed by the plugin over the bridge — no InDesign round-trip. Pass since (epoch ms) to learn whether anything changed after that moment, e.g. to skip re-rendering a preview when nothing changed.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
session_status
bridge_status
tools_inventory
document_active

TDQS

C2.2/5.0

Scored across 197 tools

Disambiguation1/5

Many tools duplicate one another (export_executeScript/script_run, page_applyMaster/master_apply, table_list/export_getTables, font_list/export_getFonts), making selection ambiguous. Although some descriptions clarify intent, the sheer overlap forces agents to guess.

Naming Consistency2/5

Names mix noun_verb and verb_noun patterns (page_add vs export_document) and use inconsistent camelCase (document_getStoryPages) alongside snake_case. Prefixes vary by domain (table_ vs tableStyle_, font_missing_check), preventing a predictable convention.

Tool Count1/5

197 tools is far beyond the 50+ threshold for extreme mismatch, even for a feature-rich domain like InDesign automation. Many tools exist only to duplicate or wrap others, bloating the surface unnecessarily.

Completeness4/5

The surface covers most InDesign operations—documents, pages, text, tables, images, styles, export, data merge, scripts—with few obvious gaps. Missing a group_create and book_create/book_close prevents a perfect score, but core workflows are workable.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive