home / mcp / indesign mcp server
Provides an MCP server to manipulate InDesign text via ExtendScript from Claude Desktop.
Configuration
View docs{
"mcpServers": {
"chris-enea-indesign-mcp": {
"command": "python3",
"args": [
"/Users/honeycomb/indesign_mcp/server.py"
]
}
}
}You can run an MCP server that lets Claude Desktop interact with Adobe InDesign to manipulate document text using ExtendScript. This enables programmatic text additions, updates, removals, and retrievals directly from your InDesign workspace.
You will run the InDesign MCP Server locally and connect it to Claude Desktop. Once connected, you have four main actions you can perform on the active InDesign document: add text, update text, remove text, and get the full document text. You can insert text at the start, at the end, or right after the current selection. You can replace specific text or all occurrences of a string. You can delete specific text or all occurrences, and you can retrieve all text content from the current document.
- add_text: supply the text to insert and choose the position: start, end, or after_selection (default end).
- update_text: specify find_text and replace_text, and indicate all_occurrences if you want every match replaced.
- remove_text: specify the text to remove and choose whether to remove all occurrences.
- get_document_text: returns the complete text content from the active InDesign document.
Follow these steps to set up the InDesign MCP Server on your macOS machine and connect it to Claude Desktop.
pip install -r requirements.txtConfigure Claude Desktop to use the MCP server by adding the following to your claude_desktop_config.json. This tells Claude Desktop how to start and communicate with the server.
{
"mcpServers": {
"indesign": {
"command": "python3",
"args": ["/Users/honeycomb/indesign_mcp/server.py"],
"env": {}
}
}
}Ensure Adobe InDesign is installed and running before you start using the server.
The server communicates with InDesign using ExtendScript via macOS osascript. This executes JavaScript code inside InDesign to perform the requested text manipulation tasks.
Prerequisites and environment: - Python 3.7+ - macOS (uses osascript to talk to InDesign) - InDesign (tested with 2025) - An active InDesign document open in the foreground window
Inserts text into the active InDesign document at the start, end, or after the current selection. You specify the text and the position.
Finds text in the active document and replaces it with the provided replacement text. You can apply this to a single occurrence or all occurrences depending on the option chosen.
Deletes specified text from the active InDesign document. You can remove a single occurrence or all occurrences.
Retrieves and returns all text content from the active InDesign document.