illustrator-mcp
# illustrator-mcp
MCP server that drives Adobe Illustrator on Windows. It talks to Illustrator
over COM automation (`New-Object -ComObject Illustrator.Application` in
PowerShell) and runs ExtendScript (Illustrator's JS-based scripting
language) inside it via `app.DoJavaScript`. No native Node addon or Visual
Studio build tools are required — everything goes through `powershell.exe`,
which ships with Windows.
## Requirements
- Windows with Adobe Illustrator installed (tested against Illustrator 2026 / app version 30.8).
- Node.js 18+.
## Setup
```
npm install
npm run build
```
## Register with Claude Code
```
claude mcp add illustrator-mcp -- node E:/Repositorios/illustrator-mcp/dist/index.js
```
(Restart your Claude Code session afterwards so it picks up the new server.)
## Tools
- `illustrator_status` — connects to Illustrator (launching it if needed) and lists open documents.
- `illustrator_create_document` — new document (width/height in points, RGB or CMYK).
- `illustrator_open_document` — open an existing .ai/.eps/.pdf/.svg file.
- `illustrator_save_document` — save in place, or Save As if given a path.
- `illustrator_export_document` — export the active document to png/jpg/pdf/svg.
- `illustrator_add_rectangle` / `illustrator_add_ellipse` — draw a shape with an optional hex fill/stroke.
- `illustrator_add_text` — add a point-text frame.
- `illustrator_document_info` — name, path, size, artboards, layers of the active document.
- `illustrator_run_script` — escape hatch: runs arbitrary ExtendScript and returns the last expression's value as a string. Use this for anything the other tools don't cover (selections, layers, effects, batch processing, Illustrator's full object model).
All coordinates for shapes/text are in points, measured from the **top-left**
of the artboard (the tools convert to Illustrator's native bottom-left-origin
coordinate system internally).
## How it works
Each tool call renders a small ExtendScript snippet, writes it to a temp
`.jsx` file, and shells out to `scripts/run-illustrator.ps1`, which connects
to Illustrator via COM and evaluates that file with `$.evalFile(...)`. The
script's return value (its last expression) comes back as the tool's text
output. Errors thrown inside the ExtendScript are caught and surfaced as
tool errors instead of crashing the bridge.
TDQS
Scored across 10 tools
Most tools have clearly distinct purposes, but illustrator_status and illustrator_document_info both report document-related information and could be confused. illustrator_run_script also overlaps with everything by design, though its description frames it as the fallback for uncovered operations.
The tools consistently use the illustrator_ prefix and mostly follow a verb_noun pattern (create_document, open_document, add_rectangle). However, illustrator_status and illustrator_document_info break the verb-first pattern, and run_script uses a different verb style than the rest.
Ten tools is well-scoped for an Illustrator automation server. The set covers document lifecycle, export, basic drawing, text, and inspection without feeling bloated or sparse.
The surface covers document creation, opening, saving, exporting, adding shapes/text, and inspecting documents, but lacks direct operations for modifying or deleting existing objects, managing layers/artboards, or handling selections. The generic run_script tool fills these gaps but at the cost of a more complete purpose-built API.