Uses osascript to execute ExtendScript within InDesign's environment on macOS systems
InDesign MCP Server
A Model Context Protocol (MCP) server for interacting with Adobe InDesign through ExtendScript API. Enables text manipulation in InDesign documents via Claude Desktop.
Features
Add Text: Insert text at start, end, or after selection
Update Text: Find and replace text with support for all occurrences
Remove Text: Delete specific text from documents
Get Document Text: Retrieve all text content from active document
Related MCP server: TranscriptionTools MCP Server
Setup
Install dependencies:
pip install -r requirements.txtConfigure Claude Desktop by adding to your
claude_desktop_config.json:{ "mcpServers": { "indesign": { "command": "python3", "args": ["/Users/honeycomb/indesign_mcp/server.py"], "env": {} } } }Ensure Adobe InDesign is installed and running
Usage
The server provides four tools accessible through Claude Desktop:
add_text
text: Text to addposition: "start", "end", or "after_selection" (default: "end")
update_text
find_text: Text to findreplace_text: Replacement textall_occurrences: Replace all instances (default: false)
remove_text
text: Text to removeall_occurrences: Remove all instances (default: false)
get_document_text
Returns all text content from the active InDesign document.
Requirements
Python 3.7+
Adobe InDesign (tested with 2025)
macOS (uses osascript for InDesign communication)
Active InDesign document
How it Works
The server communicates with InDesign via ExtendScript through macOS osascript, executing JavaScript code within InDesign's environment for text manipulation operations.