Illustrator MCP 服务器
一个MCP(模型上下文协议)服务器,用于读取、操作和导出Adobe Illustrator设计数据,内置63个工具。它允许通过像Claude这样的AI助手直接控制Illustrator,实现从设计中提取信息以进行网页实现、验证打印就绪数据以及导出资产。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"illustrator": {
"args": [
"illustrator-mcp-server"
],
"command": "npx"
}
}
}
可用工具 (66 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
get_document_info 1 个参数
Get document metadata
该工具无需必填参数,直接调用即可
get_artboards 2 个参数
Get all artboard information
该工具无需必填参数,直接调用即可
get_layers 3 个参数
Get layer structure as a tree
该工具无需必填参数,直接调用即可
get_selection 1 个参数
Get detailed information about the currently selected objects
该工具无需必填参数,直接调用即可
list_text_frames 7 个参数
List text frames with summary-level information. Supports reading-order sort, pagination, and a lightweight contents-only mode.
该工具无需必填参数,直接调用即可
get_text_frame_detail 2 个参数 需填 1 项
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.
必填参数:uuid
get_colors 3 个参数
Get all color information used in the document
该工具无需必填参数,直接调用即可
get_path_items 4 个参数
Get path and shape data. Note: fill/stroke do not include per-attribute opacity; use the item-level opacity field for transparency.
该工具无需必填参数,直接调用即可
get_guidelines 1 个参数
Get guide information
该工具无需必填参数,直接调用即可
get_groups 3 个参数
Get structure of groups, clipping masks, and compound paths
该工具无需必填参数,直接调用即可
get_effects 3 个参数
Get effect and appearance information
该工具无需必填参数,直接调用即可
get_images 2 个参数
Get embedded and linked image information
该工具无需必填参数,直接调用即可
get_symbols 1 个参数
Get symbol definitions and instances
该工具无需必填参数,直接调用即可
get_document_structure 3 个参数
Get tree structure of layers, groups, and objects
该工具无需必填参数,直接调用即可
find_objects 9 个参数
Search for objects by specified criteria
该工具无需必填参数,直接调用即可
check_contrast 3 个参数
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_tokens 2 个参数
Extract colors, typography, and spacing from the document as design tokens in CSS custom properties, JSON, or Tailwind format
该工具无需必填参数,直接调用即可
export 6 个参数 需填 2 项
Export objects, groups, artboards, or selection. For PNG/JPG, the exported image is returned as base64 in the response — you can view it directly without reading the file from disk. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:target、format
export_pdf 3 个参数
Export print-ready PDF. Note: Illustrator will be activated (brought to foreground) during execution. The exported PDF should be verified by a human before final submission.
该工具无需必填参数,直接调用即可
get_overprint_info
Get overprint settings with K100/rich black detection and intent classification
该工具无需必填参数,直接调用即可
get_separation_info
Get color separation information: CMYK process plates and spot color plates with usage counts
该工具无需必填参数,直接调用即可
preflight_check 3 个参数
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_consistency 2 个参数
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_workflow 3 个参数
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_version 2 个参数
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_rectangle 10 个参数 需填 4 项
Create a rectangle. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:x、y、width、height
create_ellipse 9 个参数 需填 4 项
Create an ellipse. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:x、y、width、height
create_line 8 个参数 需填 4 项
Create a line. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:x1、y1、x2、y2
create_text_frame 12 个参数 需填 3 项
Create a text frame. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:x、y、contents
create_path 7 个参数 需填 1 项
Create a custom path. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:anchors
modify_object 3 个参数 需填 2 项
Modify properties of an existing object. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:uuid、properties
convert_to_outlines 1 个参数 需填 1 项
Convert text to outlines. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:target
assign_color_profile 1 个参数 需填 1 项
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. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:profile
place_image 7 个参数 需填 1 项
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. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:file_path
import_svg_as_editable 9 个参数 需填 1 项
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. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:file_path
resize_for_variation 4 个参数 需填 2 项
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).
必填参数:source_artboard_index、target_sizes
align_objects 5 个参数 需填 1 项
Align and/or distribute multiple objects by their UUIDs
必填参数:uuids
replace_color 5 个参数 需填 2 项
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.
必填参数:from_color、to_color
manage_layers 5 个参数 需填 1 项
Add, rename, show/hide, lock/unlock, reorder, or delete layers
必填参数:action
place_color_chips 6 个参数
Extract all unique colors from the document and place color chip swatches with labels outside the artboard
该工具无需必填参数,直接调用即可
place_style_guide 4 个参数
Place a visual style guide (color chips, font samples, spacing indicators) outside the artboard
该工具无需必填参数,直接调用即可
create_crop_marks 4 个参数
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. Note: Illustrator will be activated (brought to foreground) during execution.
该工具无需必填参数,直接调用即可
create_document 3 个参数
Create a new Illustrator document. Note: Illustrator will be activated (brought to foreground) during execution.
该工具无需必填参数,直接调用即可
close_document 1 个参数
Close the active Illustrator document. Note: Illustrator will be activated (brought to foreground) during execution.
该工具无需必填参数,直接调用即可
save_document 2 个参数
Save the active Illustrator document. Note: Illustrator will be activated (brought to foreground) during execution.
该工具无需必填参数,直接调用即可
open_document 2 个参数 需填 1 项
Open an Illustrator document from a file path. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:path
group_objects 3 个参数 需填 1 项
Group multiple objects into a single group. The first UUID in the array becomes the bottommost item, the last becomes the topmost. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:uuids
ungroup_objects 1 个参数 需填 1 项
Ungroup a group, releasing its children to the parent layer. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:uuid
duplicate_objects 4 个参数 需填 1 项
Duplicate one or more objects, optionally offsetting the copies. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:uuids
list_fonts 2 个参数
List fonts available in Illustrator. Does not require an open document.
该工具无需必填参数,直接调用即可
manage_artboards 7 个参数 需填 1 项
Add, remove, resize, rename, fit, or rearrange artboards. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:action
set_z_order 2 个参数 需填 2 项
Change the stacking order of an object. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:uuid、command
move_to_layer 3 个参数 需填 2 项
Move one or more objects to a different layer. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:uuids、target_layer
apply_graphic_style 3 个参数 需填 2 项
Apply a graphic style to objects. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:style_name、uuids
list_graphic_styles
List all graphic styles in the active document.
该工具无需必填参数,直接调用即可
manage_swatches 3 个参数 需填 2 项
Add, update, or delete swatches in the active document. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:action、name
apply_text_style 4 个参数 需填 3 项
Apply a character or paragraph style to a text frame. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:uuid、style_type、style_name
list_text_styles
List all character and paragraph styles in the active document.
该工具无需必填参数,直接调用即可
create_gradient 5 个参数 需填 2 项
Create a gradient in the document and optionally apply it to objects. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:name、stops
manage_linked_images 3 个参数 需填 2 项
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. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:uuid、action
undo 2 个参数
Undo or redo actions in Illustrator. Note: Illustrator will be activated (brought to foreground) during execution.
该工具无需必填参数,直接调用即可
manage_datasets 6 个参数 需填 1 项
List variables/datasets, apply or create datasets, bind variables to objects, import CSV/XML. CSV headers are auto-bound to objects with matching names. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:action
place_symbol 6 个参数 需填 2 项
Place a new symbol instance or replace the symbol definition of an existing instance. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:action、symbol_name
create_path_text 6 个参数 需填 2 项
Create a text frame that flows along a path. Note: Illustrator will be activated (brought to foreground) during execution.
必填参数:path_uuid、contents
select_objects 1 个参数 需填 1 项
Select objects by UUID. Pass an empty array to deselect all. Selected objects can then be manipulated interactively in Illustrator.
必填参数:uuids
convert_coordinate 3 个参数 需填 3 项
Convert a point between artboard and document coordinate systems in the active document.
必填参数:point、from、to
服务介绍
🇺🇸 English | 🇯🇵 日本語 | 🇨🇳 简体中文 | 🇰🇷 한국어 | 🇪🇸 Español | 🇩🇪 Deutsch | 🇫🇷 Français | 🇵🇹 Português (BR)
Illustrator MCP Server
An MCP (Model Context Protocol) server for reading, manipulating, and exporting Adobe Illustrator design data — with 63 built-in tools.
Control Illustrator directly from AI assistants like Claude — extract design information for web implementation, verify print-ready data, and export assets.
🎨 Gallery
All artwork below was created entirely by Claude through natural language conversation — no manual Illustrator operation involved.
See detailed breakdowns below for prompts, tool usage, and artboard structure.
[!TIP]
Developing and maintaining this tool takes time and resources.
If it helps your workflow, your support means a lot — ☕ buy me a coffee!
🚀 Quick Start
🛠️ Claude Code
Requires Node.js 20+.
claude mcp add illustrator-mcp -- npx illustrator-mcp-server
🖥️ Claude Desktop
- Download
illustrator-mcp-server.mcpbfrom GitHub Releases - Open Claude Desktop → Settings → Extensions
- Drag and drop the
.mcpbfile into the Extensions panel - Click the Install button
[!NOTE]
The.mcpbextension does not auto-update. To update, download the new version and reinstall. If you prefer automatic updates, use the npx method below instead.
Requires Node.js 20+. Open the config file and add the connection settings.
1. Open the config file
From the Claude Desktop menu bar:
Claude → Settings... → Developer (in the left sidebar) → Click the Edit Config button
2. Add the settings
{
"mcpServers": {
"illustrator": {
"command": "npx",
"args": ["illustrator-mcp-server"]
}
}
}
[!NOTE]
If you installed Node.js via a version manager (nvm, mise, fnm, etc.), Claude Desktop may not findnpx. In that case, use the full path:"command": "/full/path/to/npx"Run
which npxin your terminal to find the path.
3. Save and restart
- Save the file and close the text editor
- Fully quit Claude Desktop (⌘Q / Ctrl+Q) and reopen it
[!CAUTION]
AI can make mistakes. Do not over-rely on the output — always have a human perform the final check on submission data. The user is responsible for the results.
[!NOTE]
macOS: On first run, allow automation access in System Settings > Privacy & Security > Automation.
[!NOTE]
Modify and export tools will bring Illustrator to the foreground during execution.
Multiple Illustrator Versions
If you have multiple versions of Illustrator installed, you can tell Claude which version to use during conversation. Just say something like "Use Illustrator 2024" and the set_illustrator_version tool will target that version.
[!NOTE]
If Illustrator is already running, the server connects to the running instance regardless of the version setting. The version is only used to launch the correct version when Illustrator is not yet running.
🎬 What You Can Do
You: Show me all the text information in this document
Claude: → list_text_frames → get_text_frame_detail
There are 12 text frames in the document.
The heading "My Design" uses Noto Sans JP Bold 48px, color #333333 ...
You: Run a pre-press preflight check
Claude: → preflight_check
⚠ 2 warnings:
- Low resolution image: image_01.jpg (150dpi) — 300dpi or higher recommended
- Non-outlined fonts: 3 text frames
You: Check text for inconsistencies
Claude: → check_text_consistency
📝 Consistency Report:
⚠ "Contact Us" vs "Contact us" — capitalization mismatch
❌ "Lorem ipsum" (2 places) — placeholder text remaining
You: Create banner size variations from this A4 flyer
Claude: → get_document_info → resize_for_variation
Created 3 size variations:
- 728×90 / 300×250 / 160×600
📖 Recipes
You: Summarize the colors and typography in this design
Claude: → get_colors → list_text_frames → get_text_frame_detail
■ Color Palette
- Primary: #1A73E8 (CMYK: 85,50,0,0)
- Secondary: #34A853
- Text: #202124
- Background: #FFFFFF
■ Typography
- Headings: Noto Sans JP Bold / 32px
- Body: Noto Sans JP Regular / 16px / line-height: 1.75
- Captions: Noto Sans JP Medium / 12px
You: Export all artboards as SVG with outlined text
Claude: → get_artboards → convert_to_outlines → export (repeated)
Exported 4 artboards:
- /output/header.svg
- /output/hero.svg
- /output/feature.svg
- /output/footer.svg
You: Check if this document is PDF/X-1a compliant
Claude: → preflight_check (target_pdf_profile: "x1a")
❌ PDF/X-1a compliance errors:
- Transparency on 3 objects (X-1a prohibits transparency)
- RGB colors found in 2 places (X-1a requires CMYK/spot only)
⚠ Warnings:
- 5 non-outlined fonts (embedding recommended)
- Image "photo_02.jpg" at 150dpi (300dpi recommended)
You: Check placed image quality for print
Claude: → get_images (include_print_info: true)
■ Image Quality Report:
✅ hero.psd — CMYK, 350dpi, scale 98%
⚠ icon_set.png — RGB (mismatch with CMYK document), 300dpi, scale 100%
❌ photo_bg.jpg — CMYK, 72dpi, scale 400% (over-enlarged)
→ Replace with a 300dpi+ image at actual size
You: Check text contrast ratios
Claude: → check_contrast (auto_detect: true)
■ WCAG Contrast Report:
❌ "Caption" on "light gray" — 2.8:1 (AA fail)
⚠ "Subheading" on "white" — 4.2:1 (AA Large OK, AA Normal fail)
✅ "Body text" on "white" — 12.1:1 (AAA pass)
Workflow Templates
Pre-built workflow templates available in the Claude Desktop prompt picker.
| Template | Description |
|---|---|
quick-layout |
Paste text content and Claude arranges it on the artboard as headings, body, and captions |
print-preflight-workflow |
Comprehensive 7-step pre-press check (document → preflight → overprint → separations → images → colors → text) |
Tool Reference
Read Tools (21)
| Tool | Description |
|---|---|
get_document_info |
Document metadata (dimensions, color mode, profile, etc.) |
get_artboards |
Artboard information (position, size, orientation) |
get_layers |
Layer structure as a tree |
get_document_structure |
Full tree: layers → groups → objects in one call |
list_text_frames |
List of text frames (font, size, style name) |
get_text_frame_detail |
All attributes of a specific text frame (kerning, paragraph settings, etc.) |
get_colors |
Color information in use (swatches, gradients, spot colors). include_diagnostics for print analysis |
get_path_items |
Path/shape data (fill, stroke, anchor points) |
get_groups |
Groups, clipping masks, and compound path structure |
get_effects |
Effects and appearance info (opacity, blend mode) |
get_images |
Embedded/linked image info (resolution, broken link detection). include_print_info for color space mismatch & scale factor |
get_symbols |
Symbol definitions and instances |
get_guidelines |
Guide information |
get_overprint_info |
Overprint settings + K100/rich black detection & intent classification |
get_separation_info |
Color separation info (CMYK process plates + spot color plates with usage counts) |
get_selection |
Details of currently selected objects |
find_objects |
Search by criteria (name, type, color, font, etc.) |
check_contrast |
WCAG color contrast ratio check (manual or auto-detect overlapping pairs) |
extract_design_tokens |
Extract design tokens as CSS custom properties, JSON, or Tailwind config |
list_fonts |
List fonts available in Illustrator (no document required) |
convert_coordinate |
Convert points between artboard and document coordinate systems |
Modify Tools (39)
| Tool | Description |
|---|---|
create_rectangle |
Create a rectangle (supports rounded corners) |
create_ellipse |
Create an ellipse |
create_line |
Create a line |
create_text_frame |
Create a text frame (point or area type) |
create_path |
Create a custom path (with Bezier handles) |
place_image |
Place a raster/PDF image file as linked or embedded (SVG is rejected — use import_svg_as_editable) |
import_svg_as_editable |
Import an SVG file as editable Illustrator paths/text/groups (not as a linked image) |
modify_object |
Modify properties of an existing object |
convert_to_outlines |
Convert text to outlines |
assign_color_profile |
Assign (tag) a color profile (does not convert color values) |
create_document |
Create a new document (size, color mode) |
close_document |
Close the active document |
resize_for_variation |
Create size variations from a source artboard (proportional scaling) |
align_objects |
Align and distribute multiple objects |
replace_color |
Find and replace colors across document (with tolerance) |
manage_layers |
Add, rename, show/hide, lock/unlock, reorder, or delete layers |
place_color_chips |
Extract unique colors and place color chip swatches outside artboard |
save_document |
Save or save-as the active document |
open_document |
Open a document from file path |
group_objects |
Group objects (supports clipping masks) |
ungroup_objects |
Ungroup a group, releasing children |
duplicate_objects |
Duplicate objects with optional offset |
set_z_order |
Change stacking order (front/back) |
move_to_layer |
Move objects to a different layer |
manage_artboards |
Add, remove, resize, rename, rearrange artboards |
manage_swatches |
Add, update, or delete swatches |
manage_linked_images |
Relink or embed placed images |
manage_datasets |
List/apply/create datasets, import/export variables |
apply_graphic_style |
Apply a graphic style to objects |
list_graphic_styles |
List all graphic styles in the document |
apply_text_style |
Apply character or paragraph style to text |
list_text_styles |
List all character and paragraph styles |
create_gradient |
Create gradients and apply to objects |
create_path_text |
Create text along a path |
place_symbol |
Place or replace symbol instances |
select_objects |
Select objects by UUID (multi-select supported) |
create_crop_marks |
Create crop marks (trim marks) with locale-based style auto-detection (Japanese double-line / Western single-line) |
place_style_guide |
Place a visual style guide outside the artboard (colors, fonts, spacing, margins, guide gaps) |
undo |
Undo/redo operations (multi-step) |
Export Tools (2)
| Tool | Description |
|---|---|
export |
SVG / PNG / JPG export (by artboard, selection, or UUID) |
export_pdf |
Print-ready PDF export (crop marks, bleed, selective downsampling, output intent) |
Utility (3)
| Tool | Description |
|---|---|
preflight_check |
Pre-press check (RGB mixing, broken links, low resolution, white overprint, transparency+overprint interaction, PDF/X compliance, etc.) |
check_text_consistency |
Text consistency check (placeholder detection, notation variation patterns, full text listing for LLM analysis) |
set_workflow |
Set workflow mode (web/print) to override auto-detected coordinate system |
Coordinate System
The server automatically detects the coordinate system from the document:
| Document type | Coordinate system | Origin | Y axis |
|---|---|---|---|
| CMYK / Print | document |
Bottom-left | Up |
| RGB / Web | artboard-web |
Top-left of artboard | Down |
- CMYK documents use Illustrator's native coordinate system, matching what print designers expect
- RGB documents use a web-style coordinate system that is easier for AI to work with
- Use
set_workflowto override the auto-detected coordinate system if needed - All tool responses include a
coordinateSystemfield indicating which system is active
Example: SMPTE Test Pattern
A 1920×1080 SMPTE color bar test pattern, created entirely through natural language instructions to Claude.
Prompt:
Make a 1920x1080 video test pattern
Result:
Artboard structure (via get_document_structure):
Labels
├── title-safe-label (text) — "TITLE SAFE (10%)"
├── action-safe-label (text) — "ACTION SAFE (5%)"
├── credit-label (text) — "Generated by illustrator-mcp-server"
├── test-label (text) — "SMPTE COLOR BARS — TEST PATTERN"
├── format-label (text) — "Full HD — 16:9"
└── resolution-label (text) — "1920 x 1080"
Center Cross
├── title-safe (path) — 1536×864 stroke rectangle
├── action-safe (path) — 1728×972 stroke rectangle
├── cross-circle (path) — 150×150 center circle
├── cross-v (path) — vertical crosshair
└── cross-h (path) — horizontal crosshair
Color Bars
├── pluge-black … pluge-navy (path ×9) — PLUGE / grayscale bottom strip
├── rev-white … rev-blue (path ×7) — reverse color middle strip
└── bar-white … bar-blue (path ×7) — 75% SMPTE color bars
Tools used:
create_document,manage_layers,create_rectangle×23,create_line×2,create_ellipse,create_text_frame×6,modify_object×4,save_document,export
Example: Twilight Geometry
An abstract geometric landscape artwork — created entirely by Claude, with no human design direction beyond "make whatever art you want."
Prompt:
Make an art piece of your own imagination in Illustrator. Take your time. Create whatever you like.
Claude's process:
I'll create "Twilight Geometry" — an abstract landscape with geometric celestial elements. A deep gradient twilight sky, layered mountain silhouettes, a crescent moon with decorative rings, and stars scattered across the canvas.
Diamond-shaped stars in different colors — warm whites, cool blues, lavender purples — each one subtly different to suggest different types of stars. Constellation lines connecting them. Wireframe triangles and a hexagon floating in the sky for a mystical atmosphere.
A water surface at the bottom with the moon's light reflected as shimmering wavy lines, fading as they descend.
Claude's reflection:
It turned out better than I expected. I think the hybrid world of geometry and nature came through well.
Result:
Tools used:
create_document,manage_layers×4,create_rectangle×2,create_gradient×2,create_path×11,create_ellipse×14,create_line×4,create_text_frame×2,modify_object,set_z_order,export
Known Limitations
| Limitation | Details |
|---|---|
| Windows support | Windows uses PowerShell COM automation (not yet tested on real hardware) |
| Live effects | Drop shadow and other effect parameters can be detected but not read |
| Color profiles | Color profile assignment only — full conversion is not available |
| Bleed settings | Bleed settings cannot be read (Illustrator API limitation) |
| WebP export | Not supported — use PNG or SVG instead |
| Japanese crop marks | PDF export automatically uses the TrimMark command approach: generates marks as document paths, exports, then removes via undo |
| Font embedding | Embedding mode (full/subset) cannot be controlled directly — use PDF presets |
| Size variations | Proportional scaling only — text may need manual adjustment afterward |
For Developers
Architecture
flowchart LR
Claude <-->|MCP Protocol| Server["MCP Server\n(TypeScript/Node.js)"]
Server -.->|generate| Runner["run-{uuid}.scpt / .ps1"]
Server -.->|generate| JSX["script-{uuid}.jsx\n(BOM UTF-8)"]
Server -.->|write| PF["params-{uuid}.json"]
Runner -->|execFile| osascript
Runner -->|execFile| PS["powershell.exe"]
osascript -->|do javascript| AI["Adobe Illustrator\n(ExtendScript/JSX)"]
PS -->|DoJavaScript| AI
JSX -.->|execute| AI
PF -.->|read| AI
AI -.->|write| RF["result-{uuid}.json"]
RF -.->|read| Server
Building from Source
git clone https://github.com/ie3jp/illustrator-mcp-server.git
cd illustrator-mcp-server
npm install
npm run build
claude mcp add illustrator-mcp -- node /path/to/illustrator-mcp-server/dist/index.js
Verify
npx @modelcontextprotocol/inspector npx illustrator-mcp-server
Testing
# Unit tests
npm test
# E2E smoke test (requires Illustrator running)
npx tsx test/e2e/smoke-test.ts
The E2E test creates fresh documents (RGB + CMYK), places test objects, runs 182 test cases across 10 phases covering all registered tools and coordinate system auto-detection, and cleans up automatically.
Disclaimer
This tool automates many Illustrator operations, but AI can make mistakes. Extracted data, preflight results, and document modifications should always be reviewed by a person. Do not rely on this tool as your sole quality check. Use it as an assistant alongside your own manual verification, especially for print submissions and client deliverables. The authors are not responsible for any damages or losses arising from the use of this software or its outputs.