Illustrator MCP Unified
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ILLUSTRATOR_MCP_APP_PATH | No | Absolute path to the Adobe Illustrator application. Required only when multiple Illustrator versions are installed. | |
| ILLUSTRATOR_MCP_STATE_DIR | Yes | Absolute path to the state directory used for task records and runtime state. | |
| ILLUSTRATOR_MCP_BACKGROUND | No | Set to 1 to enable background execution (default). Use 0 to disable. | 1 |
| ILLUSTRATOR_MCP_KEEP_AWAKE | No | Set to 1 to temporarily prevent idle sleep during execution (default). Use 0 to disable. | 1 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_runtime_statusB | Read background policy and cross-process execution ownership without sending a script to Illustrator. An uncertain execution must not be replayed. No Computer Use. |
| recover_executionA | Recover an uncertain execution only after a valid native completion receipt or a recognized legacy native compile failure. Requires the exact execution_id from get_runtime_status. Archives the evidence, releases only that lock, and never sends a script, cancels, or retries Illustrator work. Refuses running or unproven timeout states. |
| run_scriptA | Run trusted ExtendScript directly in the shared background executor. Supply script or an existing UTF-8 .jsx script_path, not both. Use ES3-compatible syntax (no E4X or preprocessor directives); quote reserved property names. Syntax is checked before native execution. Return plain data with return; params contains JSON input. JSON compatibility is provided. UI, clipboard and dynamic script requests are rejected in background mode. This is not a security sandbox. Use batch_cards for long jobs; never replay an unconfirmed timeout. |
| duplicate_layer_treeB | Copy a complete layer hierarchy into a new parent layer in the specified open document, preserving item order, clipping groups and child layer state. Native document coordinates in points. Refuses a duplicate target parent. |
| import_pdf_as_pathsA | Open a prepared outlined vector PDF and copy actual paths into an open target document, retaining compound paths and holes. No clipboard, linked PDF or raster substitute. Rejects source PDFs already open by the user. Bounds use native document points. |
| replace_masked_imageA | Replace a named raster inside its existing clipping group while preserving the image rectangle and stacking. Explicitly choose linked or embedded. Rejects rotated/sheared/mirrored images and aspect mismatches before replacement; use a template-specific script for them. |
| build_name_backingB | Duplicate an editable name face behind itself, apply a template gradient or explicit RGB stops, and attach a live Offset Path effect. Preserves face holes and separate face/backing objects. Bounds and thickness are native document points; visual review is still required. |
| batch_cardsA | Start a detached background card job from a saved normalized AI template and confirmed content. Creates a new output, copies linked images into Links, clones complete layers, replaces named text/images, imports optional PDF name paths and builds backing. Saves each card, removes template copies, reopens for structural checks and exports previews. No image downscaling or UI fallback. Return is job acceptance, not completion; poll get_batch_status and visually inspect previews. One simple card template per source document; verify the template first. |
| get_batch_statusA | Read a background card job and its per-card progress, prepared plan, log and preview paths. ready_for_visual_review means structural checks passed, not visual approval. Never automatically restart failed or unconfirmed jobs. |
| validate_cardsB | Independently reopen a saved, closed AI output, check card/layer/text/image/path correspondence, and optionally export artboard previews without the clipboard. This tool does not perform visual judgment. Use the prepared plan from get_batch_status so packaged link paths match. |
| get_document_infoC | Get document metadata |
| get_artboardsC | Get all artboard information |
| get_layersB | Get layer structure as a tree |
| get_selectionB | Get detailed information about the currently selected objects |
| list_text_framesB | List text frames with summary-level information. Supports reading-order sort, pagination, and a lightweight contents-only mode. |
| get_text_frame_detailA | Get detailed text frame attributes including per-character runs (font, tracking, akiLeft/akiRight, tsume, proportionalMetrics), kerning pairs with manual kerning values (1/1000 em), and paragraph attributes. Returns cssHints for web/CSS reproduction. Note: paragraph leading/autoLeading may return 0 in some ExtendScript versions due to missing API support. |
| get_colorsB | Get all color information used in the document |
| get_path_itemsB | Get path and shape data. Note: fill/stroke do not include per-attribute opacity; use the item-level opacity field for transparency. |
| get_guidelinesC | Get guide information |
| get_groupsB | Get structure of groups, clipping masks, and compound paths |
| get_effectsC | Get effect and appearance information |
| get_imagesC | Get embedded and linked image information |
| get_symbolsC | Get symbol definitions and instances |
| get_document_structureC | Get tree structure of layers, groups, and objects |
| find_objectsC | Search for objects by specified criteria |
| check_contrastA | Check WCAG color contrast ratios. Manual mode: provide two colors. Auto mode: detect overlapping foreground/background pairs in the document. Note: GrayColor uses ink-quantity interpretation (0=white, 100=black), which differs from the API reference. |
| extract_design_tokensA | Extract colors, typography, and spacing from the document as design tokens in CSS custom properties, JSON, or Tailwind format |
| exportA | Export objects, groups, artboards, or selection. Use target "artboard:all" to batch-export every artboard in one call. For single PNG/JPG exports, the exported image is returned as base64 in the response — you can view it directly without reading the file from disk ("artboard:all" returns file paths only). Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| export_pdfB | Export print-ready PDF. Runs without activating Illustrator in default background mode; never invokes Computer Use. The exported PDF should be verified by a human before final submission. |
| get_overprint_infoA | Get overprint settings with K100/rich black detection and intent classification |
| get_separation_infoA | Get color separation information: CMYK process plates and spot color plates with usage counts |
| preflight_checkA | Run pre-press quality checks. Note: This check is not exhaustive — it does not replace a human final review. GrayColor uses ink-quantity interpretation (0=white/no ink, 100=black/full ink), which differs from the API reference. |
| check_text_consistencyA | Analyze text frames for dummy/placeholder text and known notation variation patterns (katakana long vowel, fullwidth/halfwidth, wave dash/tilde). Returns all text contents for LLM-driven deeper analysis of inconsistencies, typos, and version mismatches. Note: AI analysis may miss errors and does not replace a human text review. |
| set_workflowA | Set the session-level workflow and default coordinate system. Call this after confirming the user's intent (web, print, or video). Once set, all tools that omit coordinate_system will use the session default. Use clear: true to reset to auto-detection from document (CMYK/print → document coords, RGB/web → artboard-web). |
| set_illustrator_versionA | Set which Illustrator version to target when multiple versions are installed. Specify a version year (e.g. "2024", "2025"). If Illustrator is already running, connects to the running instance regardless of version. If not running, launches the specified version. Use clear: true to reset to default behavior (connect to any running Illustrator). |
| create_rectangleB | Create a rectangle. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| create_ellipseB | Create an ellipse. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| create_lineB | Create a line. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| create_text_frameB | Create a text frame. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| create_pathB | Create a custom path. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| modify_objectB | Modify properties of an existing object. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| convert_to_outlinesB | Convert text to outlines. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| assign_color_profileA | Assign (tag) a color profile to the document. WARNING: This only changes the profile tag — it does NOT convert color values (ICC conversion). For full conversion, use Edit > Convert to Profile in Illustrator. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| place_imageA | Place a raster or PDF image file (PNG, JPG, TIFF, PSD, PDF, etc.) into the document as a linked or embedded image. SVG is NOT supported here because PlacedItems produces a non-editable linked artwork — use import_svg_as_editable instead to bring SVG content in as editable paths/text. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| import_svg_as_editableA | Import an SVG file into the active document as editable Illustrator paths/text/groups (NOT as a linked image). Internally opens the SVG as a temporary document, duplicates its contents into the target document, then closes the source. Use this instead of place_image for SVG. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| resize_for_variationA | Create size variations from a source artboard. Duplicates all objects and scales/repositions them proportionally to fit target sizes. Limitations: no text reflow, effects/strokes scale with objects but may need manual adjustment, proportional placement only (not smart layout). |
| align_objectsC | Align and/or distribute multiple objects by their UUIDs |
| replace_colorA | Find and replace colors across the document or within a specific layer. Limitations: SpotColor and GrayColor matching not supported. Cross-colorspace matching (e.g. RGB→CMYK) not possible — from_color and to_color must use the same color type as the target objects. |
| manage_layersB | Add, rename, show/hide, lock/unlock, reorder, or delete layers |
| place_color_chipsA | Extract all unique colors from the document and place color chip swatches with labels outside the artboard |
| place_style_guideB | Place a visual style guide (color chips, font samples, spacing indicators) outside the artboard |
| create_crop_marksA | Create crop marks (トンボ / trim marks) on the active artboard or selected objects. By default, creates marks for the artboard and expands the artboard to include all marks. With use_selection=true, creates marks for the currently selected object(s) without modifying the artboard. Automatically selects Japanese-style (日本式) or Western-style crop marks based on locale. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| create_documentB | Create a new Illustrator document. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| close_documentA | Close the active Illustrator document. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| save_documentA | Save the active Illustrator document. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| open_documentA | Open an Illustrator document from a file path. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| group_objectsB | Group multiple objects into a single group. The first UUID in the array becomes the bottommost item, the last becomes the topmost. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| ungroup_objectsA | Ungroup a group, releasing its children to the parent layer. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| duplicate_objectsB | Duplicate one or more objects, optionally offsetting the copies. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| list_fontsA | List fonts available in Illustrator. Does not require an open document. |
| manage_artboardsB | Add, remove, resize, rename, fit, or rearrange artboards. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| set_z_orderB | Change the stacking order of an object. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| move_to_layerA | Move one or more objects to a different layer. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| delete_objectsA | Delete one or more objects by UUID (get UUIDs from find_objects / get_layers / get_selection). Locked objects are skipped unless force_unlock is true. Reversible with the undo tool. To delete a whole layer use manage_layers instead. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| apply_graphic_styleB | Apply a graphic style to objects. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| list_graphic_stylesB | List all graphic styles in the active document. |
| manage_swatchesA | Add, update, or delete swatches in the active document. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| apply_text_styleA | Apply a character or paragraph style to a text frame. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| list_text_stylesA | List all character and paragraph styles in the active document. |
| create_gradientA | Create a gradient in the document and optionally apply it to objects. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| manage_linked_imagesA | Relink or embed a placed (linked) image. embed converts PlacedItem to RasterItem — the original UUID becomes invalid and a new UUID for the RasterItem is returned. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| undoB | Undo or redo actions in Illustrator. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| manage_datasetsB | List variables/datasets, apply or create datasets, bind variables to objects, import CSV/XML. CSV headers are auto-bound to objects with matching names. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| place_symbolA | Place a new symbol instance or replace the symbol definition of an existing instance. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| create_path_textB | Create a text frame that flows along a path. Runs without activating Illustrator in default background mode; never invokes Computer Use. |
| select_objectsB | Select objects by UUID. Pass an empty array to deselect all. Selected objects can then be manipulated interactively in Illustrator. |
| convert_coordinateA | Convert a point between artboard and document coordinate systems in the active document. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| quick-layout | Place text content onto the active Illustrator artboard with automatic layout. Paste your text and Claude will arrange it as headings, body text, and captions. |
| print-preflight-workflow | Run a comprehensive pre-press preflight workflow. Checks document info, overprint, separations, image quality, color diagnostics, and text consistency in sequence. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 77 tools
Several tools overlap in purpose, particularly the document/layer/group inspection tools (get_document_structure, get_layers, get_groups) and color analysis tools (get_colors, extract_design_tokens). The detailed descriptions help, but with 77 tools an agent may still struggle to choose the right one for a given task.
All tool names use consistent snake_case with a clear verb_noun or verb-noun-phrase pattern (e.g., create_rectangle, get_document_info, manage_layers). There are minor noun-only names like export and undo, but the overall convention is predictable and readable.
77 tools is far beyond the typical 3-15 range and exceeds the 25+ threshold for being too many. While Illustrator is a complex domain, many tools are granular and could be consolidated, and the sheer number increases the risk of misselection.
The surface covers a broad range: document lifecycle, drawing primitives, text, color, layers, export, prepress, and batch workflows. Some operations (e.g., pathfinder boolean ops, explicit rotate/scale transforms) are missing, but agents can work around minor gaps.