InDesign MCP Server
Enables text manipulation in Adobe InDesign documents via Claude Desktop by providing tools to add, update, remove, and retrieve text content through ExtendScript API.
README Documentation
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
Setup
-
Install dependencies:
pip install -r requirements.txt
-
Configure 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.