3162eebf032a95aa8711accc51e49614c8d16b4csource_git · tlechanteur/indesign-mcp-server-windows · current release
Observed 2026-08-25T12:21:46.166Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2024-11-05.
{
"tools": {}
}| Tool | Category | Annotations | Risk |
|---|---|---|---|
add_pageAdd a new page to the documentInput schema{
"type": "object",
"properties": {
"position": {
"type": "string",
"enum": [
"before",
"after",
"end"
],
"default": "end"
},
"pageIndex": {
"type": "number",
"description": "Reference page index (for before/after)"
},
"masterPage": {
"type": "string",
"description": "Master page to apply"
}
}
} | — | — · — | — |
apply_colorApply color to an objectInput schema{
"type": "object",
"properties": {
"objectIndex": {
"type": "number",
"description": "Object index on page"
},
"pageIndex": {
"type": "number",
"description": "Page index",
"default": 0
},
"swatchName": {
"type": "string",
"description": "Color swatch name"
},
"property": {
"type": "string",
"enum": [
"fill",
"stroke"
],
"default": "fill"
}
},
"required": [
"objectIndex",
"swatchName"
]
} | — | — · — | — |
apply_paragraph_styleApply a paragraph style to textInput schema{
"type": "object",
"properties": {
"styleName": {
"type": "string",
"description": "Paragraph style name"
},
"frameIndex": {
"type": "number",
"description": "Text frame index"
},
"pageIndex": {
"type": "number",
"description": "Page index",
"default": 0
},
"startIndex": {
"type": "number",
"description": "Start character index (optional)"
},
"endIndex": {
"type": "number",
"description": "End character index (optional)"
}
},
"required": [
"styleName",
"frameIndex"
]
} | — | — · — | — |
close_documentClose the current documentInput schema{
"type": "object",
"properties": {
"save": {
"type": "boolean",
"description": "Save before closing",
"default": false
}
}
} | — | — · — | — |
create_character_styleCreate a new character styleInput schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Style name"
},
"fontFamily": {
"type": "string",
"description": "Font family"
},
"fontStyle": {
"type": "string",
"description": "Font style (Regular, Bold, Italic)"
},
"fontSize": {
"type": "number",
"description": "Font size in points"
},
"textColor": {
"type": "string",
"description": "Text color"
},
"tracking": {
"type": "number",
"description": "Character tracking"
},
"baseStyle": {
"type": "string",
"description": "Base style to inherit from"
}
},
"required": [
"name"
]
} | — | — · — | — |
create_color_swatchCreate a new color swatchInput schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Swatch name"
},
"colorModel": {
"type": "string",
"enum": [
"CMYK",
"RGB",
"LAB"
],
"default": "CMYK"
},
"colorValues": {
"type": "array",
"description": "Color values array [C,M,Y,K] or [R,G,B]",
"items": {
"type": "number"
}
},
"spotColor": {
"type": "boolean",
"description": "Create as spot color",
"default": false
}
},
"required": [
"name",
"colorValues"
]
} | — | — · — | — |
create_documentCreate a new InDesign document with advanced optionsInput schema{
"type": "object",
"properties": {
"preset": {
"type": "string",
"description": "Document preset (A4, A5, Letter, Custom, etc.)",
"default": "A4"
},
"width": {
"type": "number",
"description": "Document width in mm (for custom preset)"
},
"height": {
"type": "number",
"description": "Document height in mm (for custom preset)"
},
"orientation": {
"type": "string",
"enum": [
"Portrait",
"Landscape"
],
"default": "Portrait"
},
"pages": {
"type": "number",
"description": "Number of pages",
"default": 1
},
"facingPages": {
"type": "boolean",
"description": "Enable facing pages",
"default": false
},
"bleed": {
"type": "number",
"description": "Bleed in mm",
"default": 0
},
"slug": {
"type": "number",
"description": "Slug area in mm",
"default": 0
},
"marginTop": {
"type": "number",
"description": "Top margin in mm",
"default": 20
},
"marginBottom": {
"type": "number",
"description": "Bottom margin in mm",
"default": 20
},
"marginLeft": {
"type": "number",
"description": "Left margin in mm",
"default": 20
},
"marginRight": {
"type": "number",
"description": "Right margin in mm",
"default": 20
}
}
} | — | — · — | — |
create_ellipseCreate an ellipse shapeInput schema{
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "X position in mm"
},
"y": {
"type": "number",
"description": "Y position in mm"
},
"width": {
"type": "number",
"description": "Width in mm"
},
"height": {
"type": "number",
"description": "Height in mm"
},
"pageIndex": {
"type": "number",
"description": "Page index",
"default": 0
},
"fillColor": {
"type": "string",
"description": "Fill color"
},
"strokeColor": {
"type": "string",
"description": "Stroke color"
},
"strokeWidth": {
"type": "number",
"description": "Stroke width in points",
"default": 1
}
},
"required": [
"x",
"y",
"width",
"height"
]
} | — | — · — | — |
create_layerCreate a new layerInput schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Layer name"
},
"color": {
"type": "string",
"description": "Layer color for guides"
},
"visible": {
"type": "boolean",
"description": "Layer visibility",
"default": true
},
"locked": {
"type": "boolean",
"description": "Layer locked state",
"default": false
}
},
"required": [
"name"
]
} | — | — · — | — |
create_paragraph_styleCreate a new paragraph styleInput schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Style name"
},
"fontFamily": {
"type": "string",
"description": "Font family"
},
"fontSize": {
"type": "number",
"description": "Font size in points"
},
"leading": {
"type": "number",
"description": "Leading (line spacing) in points"
},
"spaceBefore": {
"type": "number",
"description": "Space before paragraph in mm"
},
"spaceAfter": {
"type": "number",
"description": "Space after paragraph in mm"
},
"alignment": {
"type": "string",
"enum": [
"LEFT_ALIGN",
"CENTER_ALIGN",
"RIGHT_ALIGN",
"JUSTIFY"
]
},
"textColor": {
"type": "string",
"description": "Text color"
},
"baseStyle": {
"type": "string",
"description": "Base style to inherit from"
}
},
"required": [
"name"
]
} | — | — · — | — |
create_rectangleCreate a rectangle shapeInput schema{
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "X position in mm"
},
"y": {
"type": "number",
"description": "Y position in mm"
},
"width": {
"type": "number",
"description": "Width in mm"
},
"height": {
"type": "number",
"description": "Height in mm"
},
"pageIndex": {
"type": "number",
"description": "Page index",
"default": 0
},
"fillColor": {
"type": "string",
"description": "Fill color (RGB hex or swatch name)"
},
"strokeColor": {
"type": "string",
"description": "Stroke color"
},
"strokeWidth": {
"type": "number",
"description": "Stroke width in points",
"default": 1
},
"cornerRadius": {
"type": "number",
"description": "Corner radius in mm",
"default": 0
}
},
"required": [
"x",
"y",
"width",
"height"
]
} | — | — · — | — |
create_tableCreate a tableInput schema{
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "X position in mm"
},
"y": {
"type": "number",
"description": "Y position in mm"
},
"width": {
"type": "number",
"description": "Table width in mm"
},
"height": {
"type": "number",
"description": "Table height in mm"
},
"rows": {
"type": "number",
"description": "Number of rows"
},
"columns": {
"type": "number",
"description": "Number of columns"
},
"pageIndex": {
"type": "number",
"description": "Page index",
"default": 0
},
"headerRows": {
"type": "number",
"description": "Number of header rows",
"default": 1
},
"footerRows": {
"type": "number",
"description": "Number of footer rows",
"default": 0
}
},
"required": [
"x",
"y",
"width",
"height",
"rows",
"columns"
]
} | — | — · — | — |
create_text_frameCreate a text frame with advanced formatting optionsInput schema{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "Text content for the frame"
},
"x": {
"type": "number",
"description": "X position in mm",
"default": 10
},
"y": {
"type": "number",
"description": "Y position in mm",
"default": 10
},
"width": {
"type": "number",
"description": "Width in mm",
"default": 100
},
"height": {
"type": "number",
"description": "Height in mm",
"default": 50
},
"pageIndex": {
"type": "number",
"description": "Page index (0-based)",
"default": 0
},
"fontSize": {
"type": "number",
"description": "Font size in points",
"default": 12
},
"fontFamily": {
"type": "string",
"description": "Font family name",
"default": "Helvetica Neue"
},
"fontStyle": {
"type": "string",
"description": "Font style (Regular, Bold, Italic, etc.)",
"default": "Regular"
},
"textColor": {
"type": "string",
"description": "Text color (RGB hex or name)",
"default": "Black"
},
"alignment": {
"type": "string",
"enum": [
"LEFT_ALIGN",
"CENTER_ALIGN",
"RIGHT_ALIGN",
"JUSTIFY"
],
"default": "LEFT_ALIGN"
},
"paragraphStyle": {
"type": "string",
"description": "Paragraph style name to apply"
},
"characterStyle": {
"type": "string",
"description": "Character style name to apply"
}
},
"required": [
"content"
]
} | — | — · — | — |
data_mergePerform data merge operationInput schema{
"type": "object",
"properties": {
"dataSourcePath": {
"type": "string",
"description": "Path to CSV data source"
},
"outputFolder": {
"type": "string",
"description": "Output folder for merged documents"
},
"fileFormat": {
"type": "string",
"enum": [
"INDD",
"PDF",
"BOTH"
],
"default": "PDF"
},
"recordRange": {
"type": "string",
"description": "Record range (e.g., \"1-10\", \"all\")",
"default": "all"
}
},
"required": [
"dataSourcePath",
"outputFolder"
]
} | — | — · — | — |
delete_pageDelete a page from the documentInput schema{
"type": "object",
"properties": {
"pageIndex": {
"type": "number",
"description": "Page index to delete"
}
},
"required": [
"pageIndex"
]
} | — | — · — | — |
duplicate_pageDuplicate a pageInput schema{
"type": "object",
"properties": {
"pageIndex": {
"type": "number",
"description": "Page index to duplicate"
},
"position": {
"type": "string",
"enum": [
"before",
"after",
"end"
],
"default": "after"
}
},
"required": [
"pageIndex"
]
} | — | — · — | — |
edit_text_frameEdit properties of an existing text frameInput schema{
"type": "object",
"properties": {
"frameIndex": {
"type": "number",
"description": "Text frame index on page"
},
"pageIndex": {
"type": "number",
"description": "Page index",
"default": 0
},
"content": {
"type": "string",
"description": "New text content"
},
"fontSize": {
"type": "number",
"description": "Font size in points"
},
"fontFamily": {
"type": "string",
"description": "Font family name"
},
"textColor": {
"type": "string",
"description": "Text color"
},
"alignment": {
"type": "string",
"enum": [
"LEFT_ALIGN",
"CENTER_ALIGN",
"RIGHT_ALIGN",
"JUSTIFY"
]
}
},
"required": [
"frameIndex"
]
} | — | — · — | — |
execute_indesign_codeExecute custom ExtendScript code in InDesignInput schema{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "ExtendScript/JavaScript code to execute in InDesign"
}
},
"required": [
"code"
]
} | — | — · — | — |
export_epubExport document as EPUBInput schema{
"type": "object",
"properties": {
"filePath": {
"type": "string",
"description": "Output EPUB file path"
},
"version": {
"type": "string",
"enum": [
"EPUB2",
"EPUB3"
],
"default": "EPUB3"
},
"includeImages": {
"type": "boolean",
"description": "Include images",
"default": true
},
"imageFormat": {
"type": "string",
"enum": [
"PNG",
"JPEG",
"GIF"
],
"default": "PNG"
}
},
"required": [
"filePath"
]
} | — | — · — | — |
export_imagesExport pages as imagesInput schema{
"type": "object",
"properties": {
"folderPath": {
"type": "string",
"description": "Output folder path"
},
"format": {
"type": "string",
"enum": [
"PNG",
"JPEG",
"TIFF",
"GIF"
],
"default": "PNG"
},
"resolution": {
"type": "number",
"description": "Export resolution in DPI",
"default": 300
},
"pageRange": {
"type": "string",
"description": "Page range",
"default": "all"
},
"includeBleed": {
"type": "boolean",
"description": "Include bleed area",
"default": false
}
},
"required": [
"folderPath"
]
} | — | — · — | — |
export_pdfExport document as PDF with advanced optionsInput schema{
"type": "object",
"properties": {
"filePath": {
"type": "string",
"description": "Output PDF file path"
},
"preset": {
"type": "string",
"enum": [
"Print",
"Web",
"SmallestFileSize",
"HighQualityPrint",
"PressQuality"
],
"default": "HighQualityPrint"
},
"pageRange": {
"type": "string",
"description": "Page range (e.g., \"1-5\", \"all\")",
"default": "all"
},
"includeBleed": {
"type": "boolean",
"description": "Include bleed area",
"default": false
},
"includeSlug": {
"type": "boolean",
"description": "Include slug area",
"default": false
},
"colorProfile": {
"type": "string",
"description": "Color profile for export"
},
"jpegQuality": {
"type": "string",
"enum": [
"Low",
"Medium",
"High",
"Maximum"
],
"default": "High"
}
},
"required": [
"filePath"
]
} | — | — · — | — |
find_replace_textFind and replace text in the documentInput schema{
"type": "object",
"properties": {
"findText": {
"type": "string",
"description": "Text to find"
},
"replaceText": {
"type": "string",
"description": "Replacement text"
},
"caseSensitive": {
"type": "boolean",
"description": "Case sensitive search",
"default": false
},
"wholeWord": {
"type": "boolean",
"description": "Whole word only",
"default": false
},
"useGrep": {
"type": "boolean",
"description": "Use GREP (regular expressions)",
"default": false
},
"scope": {
"type": "string",
"enum": [
"document",
"story",
"selection"
],
"default": "document"
}
},
"required": [
"findText",
"replaceText"
]
} | — | — · — | — |
get_document_infoGet detailed information about the current InDesign documentInput schema{
"type": "object",
"properties": {}
} | — | — · — | — |
list_color_swatchesList all color swatches in the documentInput schema{
"type": "object",
"properties": {}
} | — | — · — | — |
list_layersList all layers in the documentInput schema{
"type": "object",
"properties": {}
} | — | — · — | — |
list_stylesList all available styles in the documentInput schema{
"type": "object",
"properties": {
"styleType": {
"type": "string",
"enum": [
"paragraph",
"character",
"object",
"all"
],
"default": "all"
}
}
} | — | — · — | — |
navigate_to_pageNavigate to a specific pageInput schema{
"type": "object",
"properties": {
"pageIndex": {
"type": "number",
"description": "Page index to navigate to"
}
},
"required": [
"pageIndex"
]
} | — | — · — | — |
open_documentOpen an existing InDesign documentInput schema{
"type": "object",
"properties": {
"filePath": {
"type": "string",
"description": "Path to the InDesign document (.indd)"
}
},
"required": [
"filePath"
]
} | — | — · — | — |
package_documentPackage document for print productionInput schema{
"type": "object",
"properties": {
"folderPath": {
"type": "string",
"description": "Output folder path"
},
"includeLinkedFiles": {
"type": "boolean",
"description": "Include linked files",
"default": true
},
"includeFonts": {
"type": "boolean",
"description": "Include fonts",
"default": true
},
"createReport": {
"type": "boolean",
"description": "Create packaging report",
"default": true
}
},
"required": [
"folderPath"
]
} | — | — · — | — |
place_imagePlace an image with advanced optionsInput schema{
"type": "object",
"properties": {
"imagePath": {
"type": "string",
"description": "Path to the image file"
},
"x": {
"type": "number",
"description": "X position in mm",
"default": 10
},
"y": {
"type": "number",
"description": "Y position in mm",
"default": 10
},
"width": {
"type": "number",
"description": "Width in mm (optional, maintains aspect ratio if not specified)"
},
"height": {
"type": "number",
"description": "Height in mm (optional, maintains aspect ratio if not specified)"
},
"pageIndex": {
"type": "number",
"description": "Page index",
"default": 0
},
"fitOption": {
"type": "string",
"enum": [
"PROPORTIONALLY",
"FRAME_TO_CONTENT",
"CONTENT_TO_FRAME",
"CENTER_CONTENT"
],
"default": "PROPORTIONALLY"
},
"createFrame": {
"type": "boolean",
"description": "Create frame first",
"default": true
}
},
"required": [
"imagePath"
]
} | — | — · — | — |
populate_tablePopulate table with dataInput schema{
"type": "object",
"properties": {
"tableIndex": {
"type": "number",
"description": "Table index on page"
},
"pageIndex": {
"type": "number",
"description": "Page index",
"default": 0
},
"data": {
"type": "array",
"description": "Array of arrays with table data",
"items": {
"type": "array"
}
},
"includeHeaders": {
"type": "boolean",
"description": "First row contains headers",
"default": true
}
},
"required": [
"tableIndex",
"data"
]
} | — | — · — | — |
preflight_documentRun preflight check on the documentInput schema{
"type": "object",
"properties": {
"profile": {
"type": "string",
"description": "Preflight profile name"
},
"scope": {
"type": "string",
"enum": [
"document",
"selection"
],
"default": "document"
}
}
} | — | — · — | — |
save_documentSave the current documentInput schema{
"type": "object",
"properties": {
"filePath": {
"type": "string",
"description": "Optional: Save as new file path"
}
}
} | — | — · — | — |
set_active_layerSet the active layerInput schema{
"type": "object",
"properties": {
"layerName": {
"type": "string",
"description": "Layer name to activate"
}
},
"required": [
"layerName"
]
} | — | — · — | — |
view_documentGet visual representation and detailed info about the current documentInput schema{
"type": "object",
"properties": {}
} | — | — · — | — |
zoom_to_pageZoom and fit page in viewInput schema{
"type": "object",
"properties": {
"pageIndex": {
"type": "number",
"description": "Page index to zoom to"
},
"fitOption": {
"type": "string",
"enum": [
"FIT_PAGE",
"FIT_SPREAD",
"ACTUAL_SIZE",
"ZOOM_TO_SELECTION"
],
"default": "FIT_PAGE"
}
}
} | — | — · — | — |