illustrator-mcp-server 1.2.11 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +64 -340
- package/README.md +65 -328
- package/dist/bundle.cjs +522 -153
- package/dist/executor/file-transport.d.ts +3 -1
- package/dist/executor/file-transport.d.ts.map +1 -1
- package/dist/executor/file-transport.js +2 -1
- package/dist/executor/file-transport.js.map +1 -1
- package/dist/executor/jsx-runner.d.ts.map +1 -1
- package/dist/executor/jsx-runner.js +3 -3
- package/dist/executor/jsx-runner.js.map +1 -1
- package/dist/jsx/helpers/common.jsx +34 -0
- package/dist/tools/export/export-pdf.d.ts.map +1 -1
- package/dist/tools/export/export-pdf.js +152 -34
- package/dist/tools/export/export-pdf.js.map +1 -1
- package/dist/tools/export/export.d.ts.map +1 -1
- package/dist/tools/export/export.js +47 -5
- package/dist/tools/export/export.js.map +1 -1
- package/dist/tools/modify/create-crop-marks.d.ts +3 -0
- package/dist/tools/modify/create-crop-marks.d.ts.map +1 -0
- package/dist/tools/modify/create-crop-marks.js +226 -0
- package/dist/tools/modify/create-crop-marks.js.map +1 -0
- package/dist/tools/modify/create-ellipse.d.ts.map +1 -1
- package/dist/tools/modify/create-ellipse.js +3 -5
- package/dist/tools/modify/create-ellipse.js.map +1 -1
- package/dist/tools/modify/create-line.d.ts.map +1 -1
- package/dist/tools/modify/create-line.js +3 -5
- package/dist/tools/modify/create-line.js.map +1 -1
- package/dist/tools/modify/create-path.d.ts.map +1 -1
- package/dist/tools/modify/create-path.js +3 -5
- package/dist/tools/modify/create-path.js.map +1 -1
- package/dist/tools/modify/create-rectangle.d.ts.map +1 -1
- package/dist/tools/modify/create-rectangle.js +3 -5
- package/dist/tools/modify/create-rectangle.js.map +1 -1
- package/dist/tools/modify/save-document.d.ts.map +1 -1
- package/dist/tools/modify/save-document.js +26 -7
- package/dist/tools/modify/save-document.js.map +1 -1
- package/dist/tools/modify/shared.d.ts.map +1 -1
- package/dist/tools/modify/shared.js +3 -2
- package/dist/tools/modify/shared.js.map +1 -1
- package/dist/tools/read/get-artboards.d.ts.map +1 -1
- package/dist/tools/read/get-artboards.js +3 -5
- package/dist/tools/read/get-artboards.js.map +1 -1
- package/dist/tools/read/get-layers.d.ts.map +1 -1
- package/dist/tools/read/get-layers.js +3 -7
- package/dist/tools/read/get-layers.js.map +1 -1
- package/dist/tools/read/get-selection.d.ts.map +1 -1
- package/dist/tools/read/get-selection.js +3 -7
- package/dist/tools/read/get-selection.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +2 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/tool-executor.d.ts +17 -0
- package/dist/tools/tool-executor.d.ts.map +1 -0
- package/dist/tools/tool-executor.js +22 -0
- package/dist/tools/tool-executor.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
> **⚠️ 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.
|
|
2
|
-
|
|
3
1
|
**[日本語版はこちら / Japanese version](README.ja.md)**
|
|
4
2
|
|
|
5
3
|
# Illustrator MCP Server
|
|
@@ -11,7 +9,7 @@
|
|
|
11
9
|
[](https://modelcontextprotocol.io/)
|
|
12
10
|
[](https://ko-fi.com/cyocun)
|
|
13
11
|
|
|
14
|
-
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server for reading, manipulating, and exporting Adobe Illustrator design data.
|
|
12
|
+
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server for reading, manipulating, and exporting Adobe Illustrator design data — with 63 built-in tools.
|
|
15
13
|
|
|
16
14
|
Control Illustrator directly from AI assistants like Claude — extract design information for web implementation, verify print-ready data, and export assets.
|
|
17
15
|
|
|
@@ -19,53 +17,36 @@ Control Illustrator directly from AI assistants like Claude — extract design i
|
|
|
19
17
|
|
|
20
18
|
---
|
|
21
19
|
|
|
22
|
-
>
|
|
20
|
+
> [!TIP]
|
|
21
|
+
> Developing and maintaining this tool takes time and resources.
|
|
22
|
+
> If it helps your workflow, your support means a lot — [☕ buy me a coffee!](https://ko-fi.com/cyocun)
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
26
|
## 🚀 Quick Start
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<details>
|
|
31
|
-
<summary><strong>How to install Node.js (first-time setup)</strong></summary>
|
|
32
|
-
|
|
33
|
-
Node.js is a runtime required to run this tool.
|
|
34
|
-
Skip this section if you already have it installed.
|
|
35
|
-
|
|
36
|
-
1. Go to [nodejs.org](https://nodejs.org/)
|
|
37
|
-
2. Click the **green "LTS" button** to download
|
|
38
|
-
3. Open the downloaded file and follow the installer instructions
|
|
39
|
-
|
|
40
|
-
To verify the installation, open Terminal (macOS) or Command Prompt (Windows) and type:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
node -v
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
If you see a version number like `v20.x.x`, you're all set.
|
|
47
|
-
|
|
48
|
-
</details>
|
|
28
|
+
### 🛠️ Claude Code
|
|
49
29
|
|
|
50
|
-
|
|
30
|
+
Requires [Node.js 20+](https://nodejs.org/).
|
|
51
31
|
|
|
52
32
|
```bash
|
|
53
33
|
claude mcp add illustrator-mcp -- npx illustrator-mcp-server
|
|
54
34
|
```
|
|
55
35
|
|
|
56
|
-
### Claude Desktop
|
|
36
|
+
### 🖥️ Claude Desktop
|
|
57
37
|
|
|
58
|
-
1. Download **`illustrator-mcp-server
|
|
38
|
+
1. Download **`illustrator-mcp-server.mcpb`** from [GitHub Releases](https://github.com/ie3jp/illustrator-mcp-server/releases/latest)
|
|
59
39
|
2. Open Claude Desktop → **Settings** → **Extensions**
|
|
60
40
|
3. Drag and drop the `.mcpb` file into the Extensions panel
|
|
61
41
|
4. Click the **Install** button
|
|
62
42
|
|
|
63
|
-
> **Updating:** 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.
|
|
64
|
-
|
|
65
43
|
<details>
|
|
66
44
|
<summary><strong>Alternative: manual config (always up to date via npx)</strong></summary>
|
|
67
45
|
|
|
68
|
-
|
|
46
|
+
> [!NOTE]
|
|
47
|
+
> 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.
|
|
48
|
+
|
|
49
|
+
Requires [Node.js 20+](https://nodejs.org/). Open the config file and add the connection settings.
|
|
69
50
|
|
|
70
51
|
#### 1. Open the config file
|
|
71
52
|
|
|
@@ -86,7 +67,8 @@ From the Claude Desktop menu bar:
|
|
|
86
67
|
}
|
|
87
68
|
```
|
|
88
69
|
|
|
89
|
-
>
|
|
70
|
+
> [!NOTE]
|
|
71
|
+
> If you installed Node.js via a version manager (nvm, mise, fnm, etc.), Claude Desktop may not find `npx`. In that case, use the full path:
|
|
90
72
|
> ```json
|
|
91
73
|
> "command": "/full/path/to/npx"
|
|
92
74
|
> ```
|
|
@@ -99,9 +81,14 @@ From the Claude Desktop menu bar:
|
|
|
99
81
|
|
|
100
82
|
</details>
|
|
101
83
|
|
|
84
|
+
> [!CAUTION]
|
|
85
|
+
> 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.
|
|
86
|
+
|
|
87
|
+
> [!NOTE]
|
|
102
88
|
> **macOS:** On first run, allow automation access in System Settings > Privacy & Security > Automation.
|
|
103
89
|
|
|
104
|
-
>
|
|
90
|
+
> [!NOTE]
|
|
91
|
+
> Modify and export tools will bring Illustrator to the foreground during execution.
|
|
105
92
|
|
|
106
93
|
---
|
|
107
94
|
|
|
@@ -141,8 +128,6 @@ Claude: → get_document_info → resize_for_variation
|
|
|
141
128
|
|
|
142
129
|
## 📖 Recipes
|
|
143
130
|
|
|
144
|
-
### Web Implementation
|
|
145
|
-
|
|
146
131
|
<details>
|
|
147
132
|
<summary><b>Extract colors and fonts for CSS</b></summary>
|
|
148
133
|
|
|
@@ -182,27 +167,6 @@ Claude: → get_artboards → convert_to_outlines → export (repeated)
|
|
|
182
167
|
|
|
183
168
|
</details>
|
|
184
169
|
|
|
185
|
-
<details>
|
|
186
|
-
<summary><b>Inspect a specific object's styling</b></summary>
|
|
187
|
-
|
|
188
|
-
```
|
|
189
|
-
You: Tell me about the "CTA Button" object
|
|
190
|
-
|
|
191
|
-
Claude: → find_objects (name: "CTA Button") → get_path_items → get_effects
|
|
192
|
-
|
|
193
|
-
■ CTA Button (uuid: abc-123)
|
|
194
|
-
- Size: 200×48px
|
|
195
|
-
- Corner radius: 24px
|
|
196
|
-
- Fill: #1A73E8
|
|
197
|
-
- Stroke: none
|
|
198
|
-
- Opacity: 100%
|
|
199
|
-
- Drop shadow: present (parameters not readable due to API limitation)
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
</details>
|
|
203
|
-
|
|
204
|
-
### Print & Pre-press
|
|
205
|
-
|
|
206
170
|
<details>
|
|
207
171
|
<summary><b>Check PDF/X-1a compliance before submission</b></summary>
|
|
208
172
|
|
|
@@ -222,63 +186,6 @@ Claude: → preflight_check (target_pdf_profile: "x1a")
|
|
|
222
186
|
|
|
223
187
|
</details>
|
|
224
188
|
|
|
225
|
-
<details>
|
|
226
|
-
<summary><b>Audit overprint settings to prevent print accidents</b></summary>
|
|
227
|
-
|
|
228
|
-
```
|
|
229
|
-
You: Check overprint settings
|
|
230
|
-
|
|
231
|
-
Claude: → get_overprint_info
|
|
232
|
-
|
|
233
|
-
■ 4 objects with overprint
|
|
234
|
-
|
|
235
|
-
✅ Safe (K100 overprint — intentional):
|
|
236
|
-
- "Headline" text (K100, ink coverage 100%)
|
|
237
|
-
- "Rule line" path (K100, ink coverage 100%)
|
|
238
|
-
|
|
239
|
-
⚠ Review needed (possibly accidental):
|
|
240
|
-
- "Background decoration" (C30 M80 Y0 K0, coverage 110%)
|
|
241
|
-
- "Rich black frame" (C40 M40 Y40 K100, coverage 320%)
|
|
242
|
-
→ Rich black + overprint can cause unexpected color bleed
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
</details>
|
|
246
|
-
|
|
247
|
-
<details>
|
|
248
|
-
<summary><b>Check color separations</b></summary>
|
|
249
|
-
|
|
250
|
-
```
|
|
251
|
-
You: Show me the color separation info
|
|
252
|
-
|
|
253
|
-
Claude: → get_separation_info
|
|
254
|
-
|
|
255
|
-
■ Separations (CMYK document)
|
|
256
|
-
- Cyan: 342 uses
|
|
257
|
-
- Magenta: 287 uses
|
|
258
|
-
- Yellow: 301 uses
|
|
259
|
-
- Black: 456 uses
|
|
260
|
-
- DIC 2585 (spot): 12 uses
|
|
261
|
-
→ This will output as 5 plates.
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
</details>
|
|
265
|
-
|
|
266
|
-
<details>
|
|
267
|
-
<summary><b>Export PDF with crop marks and bleed</b></summary>
|
|
268
|
-
|
|
269
|
-
```
|
|
270
|
-
You: Export PDF with Japanese crop marks and 3mm bleed
|
|
271
|
-
|
|
272
|
-
Claude: → export_pdf (trim_marks: true, marks_style: "japanese", bleed: true)
|
|
273
|
-
|
|
274
|
-
Exported to /output/print_ready.pdf
|
|
275
|
-
- Japanese crop marks (0.125pt)
|
|
276
|
-
- 3mm bleed
|
|
277
|
-
- Registration marks auto-applied
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
</details>
|
|
281
|
-
|
|
282
189
|
<details>
|
|
283
190
|
<summary><b>Check image quality for print</b></summary>
|
|
284
191
|
|
|
@@ -296,137 +203,6 @@ Claude: → get_images (include_print_info: true)
|
|
|
296
203
|
|
|
297
204
|
</details>
|
|
298
205
|
|
|
299
|
-
### Text Proofing
|
|
300
|
-
|
|
301
|
-
<details>
|
|
302
|
-
<summary><b>Find placeholder text and notation inconsistencies</b></summary>
|
|
303
|
-
|
|
304
|
-
```
|
|
305
|
-
You: Check text for inconsistencies
|
|
306
|
-
|
|
307
|
-
Claude: → check_text_consistency
|
|
308
|
-
|
|
309
|
-
📝 Consistency Report:
|
|
310
|
-
|
|
311
|
-
■ Notation variations
|
|
312
|
-
⚠ "Contact Us" (2 places) vs "Contact us" (1 place)
|
|
313
|
-
⚠ "e-mail" (1 place) vs "email" (3 places) vs "E-mail" (1 place)
|
|
314
|
-
|
|
315
|
-
■ Possible outdated content
|
|
316
|
-
❌ Header still says "2024" (all other instances are "2025")
|
|
317
|
-
❌ Footer phone number differs from other pages
|
|
318
|
-
|
|
319
|
-
■ Placeholder text
|
|
320
|
-
❌ "Lorem ipsum" (2 places) — forgotten placeholder?
|
|
321
|
-
❌ "Sample text" (1 place)
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
</details>
|
|
325
|
-
|
|
326
|
-
### Design Variations
|
|
327
|
-
|
|
328
|
-
<details>
|
|
329
|
-
<summary><b>Create multiple banner sizes from a single design</b></summary>
|
|
330
|
-
|
|
331
|
-
```
|
|
332
|
-
You: Create 3 web banner sizes from this A4 flyer
|
|
333
|
-
|
|
334
|
-
Claude: → get_document_info → resize_for_variation (3 targets)
|
|
335
|
-
|
|
336
|
-
Created 3 variations:
|
|
337
|
-
- "Leaderboard" artboard (728×90pt, scaled to 11%)
|
|
338
|
-
- "Medium Rectangle" artboard (300×250pt, scaled to 30%)
|
|
339
|
-
- "Wide Skyscraper" artboard (160×600pt, scaled to 71%)
|
|
340
|
-
|
|
341
|
-
⚠ Text reflow is not applied.
|
|
342
|
-
You may need to adjust text sizing and overflow manually.
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
</details>
|
|
346
|
-
|
|
347
|
-
<details>
|
|
348
|
-
<summary><b>Build a layout with shapes and text</b></summary>
|
|
349
|
-
|
|
350
|
-
```
|
|
351
|
-
You: Create a business card layout with company name, name, email, and phone
|
|
352
|
-
|
|
353
|
-
Claude: → create_document (91×55mm, CMYK)
|
|
354
|
-
→ create_text_frame × 4
|
|
355
|
-
→ create_rectangle (background)
|
|
356
|
-
→ create_line (divider)
|
|
357
|
-
|
|
358
|
-
Business card layout created:
|
|
359
|
-
- Company: top center / Noto Sans JP Bold 9pt
|
|
360
|
-
- Name: center / Noto Sans JP Bold 14pt
|
|
361
|
-
- Email: bottom / Noto Sans JP Regular 7pt
|
|
362
|
-
- Phone: bottom / Noto Sans JP Regular 7pt
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
</details>
|
|
366
|
-
|
|
367
|
-
### Color Management
|
|
368
|
-
|
|
369
|
-
<details>
|
|
370
|
-
<summary><b>Diagnose color issues in a CMYK document</b></summary>
|
|
371
|
-
|
|
372
|
-
```
|
|
373
|
-
You: Run a color diagnostic
|
|
374
|
-
|
|
375
|
-
Claude: → get_colors (include_diagnostics: true)
|
|
376
|
-
|
|
377
|
-
■ Color Diagnostics (CMYK document)
|
|
378
|
-
❌ RGB colors found: 3 fills / 1 stroke
|
|
379
|
-
⚠ Gradient warning:
|
|
380
|
-
- "Rainbow gradient": stop #2 is RGB
|
|
381
|
-
■ High ink coverage:
|
|
382
|
-
- C80 M70 Y70 K90 (total 310%) — may cause ink pooling
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
</details>
|
|
386
|
-
|
|
387
|
-
### Object Operations
|
|
388
|
-
|
|
389
|
-
<details>
|
|
390
|
-
<summary><b>Align and distribute multiple objects</b></summary>
|
|
391
|
-
|
|
392
|
-
```
|
|
393
|
-
You: Align these 3 buttons to the left and distribute vertically
|
|
394
|
-
|
|
395
|
-
Claude: → find_objects → align_objects (alignment: "left", distribute: "vertical")
|
|
396
|
-
|
|
397
|
-
Aligned 3 objects: left-aligned + vertically distributed.
|
|
398
|
-
```
|
|
399
|
-
|
|
400
|
-
</details>
|
|
401
|
-
|
|
402
|
-
<details>
|
|
403
|
-
<summary><b>Replace brand colors across the document</b></summary>
|
|
404
|
-
|
|
405
|
-
```
|
|
406
|
-
You: Replace all red (C0 M100 Y100 K0) with the new brand blue (C80 M10 Y0 K0)
|
|
407
|
-
|
|
408
|
-
Claude: → replace_color (from → to)
|
|
409
|
-
|
|
410
|
-
Replaced 24 fills and 3 strokes.
|
|
411
|
-
```
|
|
412
|
-
|
|
413
|
-
</details>
|
|
414
|
-
|
|
415
|
-
<details>
|
|
416
|
-
<summary><b>Place color chips outside the artboard</b></summary>
|
|
417
|
-
|
|
418
|
-
```
|
|
419
|
-
You: Show all used colors as chips to the right of the artboard
|
|
420
|
-
|
|
421
|
-
Claude: → place_color_chips (position: "right")
|
|
422
|
-
|
|
423
|
-
Placed 12 color chips on "Color Chips" layer with CMYK labels.
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
</details>
|
|
427
|
-
|
|
428
|
-
### Accessibility
|
|
429
|
-
|
|
430
206
|
<details>
|
|
431
207
|
<summary><b>Check WCAG color contrast ratios</b></summary>
|
|
432
208
|
|
|
@@ -443,73 +219,19 @@ Claude: → check_contrast (auto_detect: true)
|
|
|
443
219
|
|
|
444
220
|
</details>
|
|
445
221
|
|
|
446
|
-
### Design System
|
|
447
|
-
|
|
448
|
-
<details>
|
|
449
|
-
<summary><b>Extract design tokens from a comp</b></summary>
|
|
450
|
-
|
|
451
|
-
```
|
|
452
|
-
You: Extract design tokens as CSS custom properties
|
|
453
|
-
|
|
454
|
-
Claude: → extract_design_tokens (format: "css")
|
|
455
|
-
|
|
456
|
-
:root {
|
|
457
|
-
--color-primary: #1A73E8;
|
|
458
|
-
--color-secondary: #34A853;
|
|
459
|
-
--font-heading-family: "NotoSansJP-Bold";
|
|
460
|
-
--font-heading-size: 32pt;
|
|
461
|
-
--spacing-8: 8pt;
|
|
462
|
-
--spacing-16: 16pt;
|
|
463
|
-
}
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
</details>
|
|
467
|
-
|
|
468
222
|
---
|
|
469
223
|
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
# For Developers
|
|
473
|
-
|
|
474
|
-
## MCP Prompts
|
|
224
|
+
## Workflow Templates
|
|
475
225
|
|
|
476
|
-
|
|
226
|
+
Pre-built workflow templates available in the Claude Desktop prompt picker.
|
|
477
227
|
|
|
478
|
-
|
|
|
479
|
-
|
|
228
|
+
| Template | Description |
|
|
229
|
+
|----------|-------------|
|
|
480
230
|
| `quick-layout` | Paste text content and Claude arranges it on the artboard as headings, body, and captions |
|
|
481
231
|
| `print-preflight-workflow` | Comprehensive 7-step pre-press check (document → preflight → overprint → separations → images → colors → text) |
|
|
482
232
|
|
|
483
233
|
---
|
|
484
234
|
|
|
485
|
-
## Claude Code Skills
|
|
486
|
-
|
|
487
|
-
Add pre-built workflows as slash commands in Claude Code, combining multiple MCP tools into guided processes.
|
|
488
|
-
|
|
489
|
-
### Pre-press Preflight Check (`/illustrator-preflight`)
|
|
490
|
-
|
|
491
|
-
Runs `preflight_check` + `get_overprint_info` + `check_text_consistency` in parallel, then merges results into a unified report grouped by severity (Critical / Warning / Info). Catches print-critical issues that are easy to miss manually.
|
|
492
|
-
|
|
493
|
-
**Install:**
|
|
494
|
-
|
|
495
|
-
```bash
|
|
496
|
-
/plugin install illustrator-preflight
|
|
497
|
-
```
|
|
498
|
-
|
|
499
|
-
**Usage:**
|
|
500
|
-
|
|
501
|
-
Type `/illustrator-preflight:illustrator-preflight` in Claude Code, or just ask "run a preflight check".
|
|
502
|
-
|
|
503
|
-
---
|
|
504
|
-
|
|
505
|
-
## Features
|
|
506
|
-
|
|
507
|
-
- **63 tools + 2 prompts** — 21 read / 37 modify / 2 export / 3 utility
|
|
508
|
-
- **Web coordinate system** — Y-axis down, artboard-relative (same as CSS/SVG)
|
|
509
|
-
- **UUID tracking** — Stable object identification across tool calls
|
|
510
|
-
|
|
511
|
-
---
|
|
512
|
-
|
|
513
235
|
## Tool Reference
|
|
514
236
|
|
|
515
237
|
### Read Tools (21)
|
|
@@ -592,48 +314,72 @@ Type `/illustrator-preflight:illustrator-preflight` in Claude Code, or just ask
|
|
|
592
314
|
|
|
593
315
|
### Export Tools (2)
|
|
594
316
|
|
|
317
|
+
<details>
|
|
318
|
+
<summary>Click to expand</summary>
|
|
319
|
+
|
|
595
320
|
| Tool | Description |
|
|
596
321
|
|---|---|
|
|
597
322
|
| `export` | SVG / PNG / JPG export (by artboard, selection, or UUID) |
|
|
598
323
|
| `export_pdf` | Print-ready PDF export (crop marks, bleed, selective downsampling, output intent) |
|
|
599
324
|
|
|
325
|
+
</details>
|
|
326
|
+
|
|
600
327
|
### Utility (3)
|
|
601
328
|
|
|
329
|
+
<details>
|
|
330
|
+
<summary>Click to expand</summary>
|
|
331
|
+
|
|
602
332
|
| Tool | Description |
|
|
603
333
|
|---|---|
|
|
604
334
|
| `preflight_check` | Pre-press check (RGB mixing, broken links, low resolution, white overprint, transparency+overprint interaction, PDF/X compliance, etc.) |
|
|
605
335
|
| `check_text_consistency` | Text consistency check (placeholder detection, notation variation patterns, full text listing for LLM analysis) |
|
|
606
336
|
| `set_workflow` | Set workflow mode (web/print) to configure default coordinate system |
|
|
607
337
|
|
|
338
|
+
</details>
|
|
339
|
+
|
|
608
340
|
---
|
|
609
341
|
|
|
342
|
+
## Known Limitations
|
|
343
|
+
|
|
344
|
+
| Limitation | Details |
|
|
345
|
+
|---|---|
|
|
346
|
+
| Windows support | Windows uses PowerShell COM automation (not yet tested on real hardware) |
|
|
347
|
+
| Live effects | Drop shadow and other effect parameters can be detected but not read |
|
|
348
|
+
| Color profiles | Color profile assignment only — full conversion is not available |
|
|
349
|
+
| Bleed settings | Bleed settings cannot be read (Illustrator API limitation) |
|
|
350
|
+
| WebP export | Not supported — use PNG or SVG instead |
|
|
351
|
+
| Japanese crop marks | PDF export automatically uses the TrimMark command approach: generates marks as document paths, exports, then removes via undo |
|
|
352
|
+
| Font embedding | Embedding mode (full/subset) cannot be controlled directly — use PDF presets |
|
|
353
|
+
| Size variations | Proportional scaling only — text may need manual adjustment afterward |
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
<br>
|
|
358
|
+
|
|
359
|
+
# For Developers
|
|
360
|
+
|
|
610
361
|
## Architecture
|
|
611
362
|
|
|
612
363
|
```mermaid
|
|
613
364
|
flowchart LR
|
|
614
365
|
Claude <-->|MCP Protocol| Server["MCP Server\n(TypeScript/Node.js)"]
|
|
615
|
-
Server <-->|"execFile (macOS)"| osascript
|
|
616
|
-
Server <-->|"execFile (Windows)"| PS["powershell.exe\n(COM Automation)"]
|
|
617
|
-
osascript <-->|do javascript| AI["Adobe Illustrator\n(ExtendScript/JSX)"]
|
|
618
|
-
PS <-->|DoJavaScript| AI
|
|
619
366
|
|
|
367
|
+
Server -.->|generate| Runner["run-{uuid}.scpt / .ps1"]
|
|
368
|
+
Server -.->|generate| JSX["script-{uuid}.jsx\n(BOM UTF-8)"]
|
|
620
369
|
Server -.->|write| PF["params-{uuid}.json"]
|
|
370
|
+
|
|
371
|
+
Runner -->|execFile| osascript
|
|
372
|
+
Runner -->|execFile| PS["powershell.exe"]
|
|
373
|
+
|
|
374
|
+
osascript -->|do javascript| AI["Adobe Illustrator\n(ExtendScript/JSX)"]
|
|
375
|
+
PS -->|DoJavaScript| AI
|
|
376
|
+
|
|
377
|
+
JSX -.->|execute| AI
|
|
621
378
|
PF -.->|read| AI
|
|
622
379
|
AI -.->|write| RF["result-{uuid}.json"]
|
|
623
380
|
RF -.->|read| Server
|
|
624
|
-
Server -.->|generate| JSX["script-{uuid}.jsx\n(BOM UTF-8)"]
|
|
625
|
-
Server -.->|generate| Runner["run-{uuid}.scpt / .ps1"]
|
|
626
381
|
```
|
|
627
382
|
|
|
628
|
-
### Coordinate System
|
|
629
|
-
|
|
630
|
-
Geometry-aware read and modify tools accept a `coordinate_system` parameter. Export and document-wide utility tools do not.
|
|
631
|
-
|
|
632
|
-
| Value | Origin | Y-axis | Use case |
|
|
633
|
-
|---|---|---|---|
|
|
634
|
-
| `artboard-web` (default) | Artboard top-left | Positive downward | Web / CSS implementation |
|
|
635
|
-
| `document` | Pasteboard | Positive upward (Illustrator native) | Print / DTP |
|
|
636
|
-
|
|
637
383
|
---
|
|
638
384
|
|
|
639
385
|
## Building from Source
|
|
@@ -666,18 +412,9 @@ The E2E test creates a fresh document, places test objects, runs 106 test cases
|
|
|
666
412
|
|
|
667
413
|
---
|
|
668
414
|
|
|
669
|
-
##
|
|
415
|
+
## Disclaimer
|
|
670
416
|
|
|
671
|
-
|
|
672
|
-
|---|---|
|
|
673
|
-
| macOS / Windows | macOS uses osascript, Windows uses PowerShell COM automation (not yet tested on real hardware) |
|
|
674
|
-
| Live effects | ExtendScript DOM limitations prevent reading parameters for drop shadows, etc. |
|
|
675
|
-
| Color profile conversion | Only profile assignment is supported; full ICC conversion is not available |
|
|
676
|
-
| Bleed settings | Not accessible via the ExtendScript API (undocumented) |
|
|
677
|
-
| WebP export | Not supported — ExportType does not include WebP in ExtendScript |
|
|
678
|
-
| Japanese crop marks | `PageMarksTypes.Japanese` may not be applied correctly in PDF export |
|
|
679
|
-
| Font embedding control | PDF font embedding mode (full/subset) is not exposed in the API. Use PDF presets instead |
|
|
680
|
-
| Size variations | No text reflow. Proportional placement only (not smart layout) |
|
|
417
|
+
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.
|
|
681
418
|
|
|
682
419
|
---
|
|
683
420
|
|