illustrator mcp server
Extracts design information, such as colors, dimensions, and object coordinates, from Illustrator documents using a web-aligned coordinate system for CSS implementation.
Utilizes macOS-specific AppleScript (osascript) capabilities to automate and retrieve data from Adobe Illustrator instances.
Supports exporting Adobe Illustrator artboards, selections, or specific objects as SVG files, including options for converting text to outlines.
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.
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 ReleasesOpen Claude Desktop → Settings → Extensions
Drag and drop the
.mcpbfile into the Extensions panelClick the Install button
The.mcpb extension 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"]
}
}
}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 npx in 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
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.
macOS: On first run, allow automation access in System Settings > Privacy & Security > Automation.
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.
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 framesYou: Check text for inconsistencies
Claude: → check_text_consistency
📝 Consistency Report:
⚠ "Contact Us" vs "Contact us" — capitalization mismatch
❌ "Lorem ipsum" (2 places) — placeholder text remainingYou: 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 / 12pxYou: 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.svgYou: 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 sizeYou: 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 |
| Paste text content and Claude arranges it on the artboard as headings, body, and captions |
| Comprehensive 7-step pre-press check (document → preflight → overprint → separations → images → colors → text) |
Tool Reference
Read Tools (21)
Tool | Description |
| Document metadata (dimensions, color mode, profile, etc.) |
| Artboard information (position, size, orientation) |
| Layer structure as a tree |
| Full tree: layers → groups → objects in one call |
| List of text frames (font, size, style name) |
| All attributes of a specific text frame (kerning, paragraph settings, etc.) |
| Color information in use (swatches, gradients, spot colors). |
| Path/shape data (fill, stroke, anchor points) |
| Groups, clipping masks, and compound path structure |
| Effects and appearance info (opacity, blend mode) |
| Embedded/linked image info (resolution, broken link detection). |
| Symbol definitions and instances |
| Guide information |
| Overprint settings + K100/rich black detection & intent classification |
| Color separation info (CMYK process plates + spot color plates with usage counts) |
| Details of currently selected objects |
| Search by criteria (name, type, color, font, etc.) |
| WCAG color contrast ratio check (manual or auto-detect overlapping pairs) |
| Extract design tokens as CSS custom properties, JSON, or Tailwind config |
| List fonts available in Illustrator (no document required) |
| Convert points between artboard and document coordinate systems |
Modify Tools (38)
Tool | Description |
| Create a rectangle (supports rounded corners) |
| Create an ellipse |
| Create a line |
| Create a text frame (point or area type) |
| Create a custom path (with Bezier handles) |
| Place an image file as linked or embedded |
| Modify properties of an existing object |
| Convert text to outlines |
| Assign (tag) a color profile (does not convert color values) |
| Create a new document (size, color mode) |
| Close the active document |
| Create size variations from a source artboard (proportional scaling) |
| Align and distribute multiple objects |
| Find and replace colors across document (with tolerance) |
| Add, rename, show/hide, lock/unlock, reorder, or delete layers |
| Extract unique colors and place color chip swatches outside artboard |
| Save or save-as the active document |
| Open a document from file path |
| Group objects (supports clipping masks) |
| Ungroup a group, releasing children |
| Duplicate objects with optional offset |
| Change stacking order (front/back) |
| Move objects to a different layer |
| Add, remove, resize, rename, rearrange artboards |
| Add, update, or delete swatches |
| Relink or embed placed images |
| List/apply/create datasets, import/export variables |
| Apply a graphic style to objects |
| List all graphic styles in the document |
| Apply character or paragraph style to text |
| List all character and paragraph styles |
| Create gradients and apply to objects |
| Create text along a path |
| Place or replace symbol instances |
| Select objects by UUID (multi-select supported) |
| Create crop marks (trim marks) with locale-based style auto-detection (Japanese double-line / Western single-line) |
| Place a visual style guide outside the artboard (colors, fonts, spacing, margins, guide gaps) |
| Undo/redo operations (multi-step) |
Export Tools (2)
Tool | Description |
| SVG / PNG / JPG export (by artboard, selection, or UUID) |
| Print-ready PDF export (crop marks, bleed, selective downsampling, output intent) |
Utility (3)
Tool | Description |
| Pre-press check (RGB mixing, broken links, low resolution, white overprint, transparency+overprint interaction, PDF/X compliance, etc.) |
| Text consistency check (placeholder detection, notation variation patterns, full text listing for LLM analysis) |
| Set workflow mode (web/print) to configure default coordinate system |
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| ServerBuilding 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.jsVerify
npx @modelcontextprotocol/inspector npx illustrator-mcp-serverTesting
# Unit tests
npm test
# E2E smoke test (requires Illustrator running)
npx tsx test/e2e/smoke-test.tsThe E2E test creates a fresh document, places test objects, runs 106 test cases across 6 phases covering all registered tools, 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.
License
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ie3jp/illustrator-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server