CE

chris-enea/indesign-mcp

API development
20 stars 0 forks Quality 55 Trend 31

A Model Context Protocol (MCP) server for interacting with Adobe InDesign through ExtendScript API. Enables text manipulation in InDesign documents via Claude Desktop.

Overview

A Model Context Protocol (MCP) server for interacting with Adobe InDesign through ExtendScript API. Enables text manipulation in InDesign documents via Claude Desktop. - : Insert text at start, end, or after selection - : Find and replace text with support for all occurrences - : Delete specific text from documents - : Retrieve all text content from active document 2. Configure Claude Desktop by adding to your claude_desktop_config.json: 3. Ensure Adobe InDesign is installed and running The server provides four tools accessible through Claude Desktop: - text: Text to add - position: "start", "end", or "after_selection" (default: "end") - find_text: Text to find - replace_text: Replacement text - all_occurrences: Replace all instances (default: false) - text: Text to remove - all_occurrences: Remove all instances (default: false)

README

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:

    pip install -r requirements.txt
    
  2. Configure Claude Desktop by adding to your claude_desktop_config.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.

View the full README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide New to MCP? Start with the mcpskill.org guide →

Configuration

{ "mcpServers": { "indesign": { "command": "python3", "args": ["/Users/honeycomb/indesign_mcp/server.py"], "env": {} } } }