InDesign MCP Server
by chris-enea
README.md
# 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
1. Install dependencies:
```bash
pip install -r requirements.txt
```
2. Configure Claude Desktop by adding to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"indesign": {
"command": "python3",
"args": ["/Users/honeycomb/indesign_mcp/server.py"],
"env": {}
}
}
}
```
3. Ensure Adobe InDesign is installed and running
## Usage
The server provides four tools accessible through Claude Desktop:
### add_text
- `text`: Text to add
- `position`: "start", "end", or "after_selection" (default: "end")
### update_text
- `find_text`: Text to find
- `replace_text`: Replacement text
- `all_occurrences`: Replace all instances (default: false)
### remove_text
- `text`: Text to remove
- `all_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.This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues