Skip to main content
Glama
illustrator-mcp

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+.

Related MCP server: Illustrator MCP Vectorizer

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.

Available Tools

10 tools
illustrator_add_ellipseAdd an ellipse/circle to the active documentA

Draws a filled/stroked ellipse on the active layer of the active document. Coordinates are in points from the top-left of the artboard.

Inputs: x (required), y (required), width (required), height (required), +2 more.

illustrator_add_rectangleAdd a rectangle to the active documentB

Draws a filled/stroked rectangle on the active layer of the active document. Coordinates are in points from the top-left of the artboard.

Inputs: x (required), y (required), width (required), height (required), +2 more.

illustrator_add_textAdd a text frame to the active documentC

Adds a point-text frame with the given content, position, font size and color to the active document.

Inputs: x (required), y (required), text (required), fontSize, +1 more.

illustrator_create_documentCreate a new Illustrator documentA

Creates a new, blank Illustrator document with the given artboard size (in points; 72pt = 1in) and makes it the active document.

Inputs: width (required), height (required), name, colorMode.

illustrator_document_infoGet details about the active documentA

Reports the active document's name, path, size, artboard count and layer names.

Inputs: no named parameters.

illustrator_export_documentExport the active document to an image/PDFC

Exports the active document to PNG, JPEG, PDF or SVG at the given path.

Inputs: path (required), format (required).

illustrator_open_documentOpen an existing Illustrator/vector fileA

Opens a file (.ai, .eps, .pdf, .svg) from disk and makes it the active document.

Inputs: path (required).

illustrator_run_scriptRun raw ExtendScript in IllustratorA

Executes arbitrary ExtendScript (Illustrator's JS-based scripting language, roughly ES3) inside the running Illustrator instance. Use this for anything the other tools don't cover directly. The value of the last expression in the script is returned as a string (end your script with a bare expression, e.g. a string, to return a result). Illustrator object model docs: app, app.documents, app.activeDocument, PathItem, TextFrame, RGBColor, etc.

Inputs: script (required).

illustrator_save_documentSave the active Illustrator documentA

Saves the active document in place, or as a new .ai file if path is given (Save As).

Inputs: path.

illustrator_statusCheck Illustrator connection and list open documentsA

Connects to Illustrator (launching it if needed) and reports its version plus a summary of currently open documents.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 10 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness3/5

    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.

    Related MCP Connectors

    Related MCP Servers