illustrator-mcp-server 1.2.4 → 1.2.6
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 +527 -107
- package/README.md +512 -89
- package/dist/executor/jsx-runner.d.ts +1 -0
- package/dist/executor/jsx-runner.d.ts.map +1 -1
- package/dist/executor/jsx-runner.js +33 -19
- package/dist/executor/jsx-runner.js.map +1 -1
- package/dist/jsx/helpers/common.jsx +192 -7
- package/dist/prompts/print-preflight-workflow.d.ts +3 -0
- package/dist/prompts/print-preflight-workflow.d.ts.map +1 -0
- package/dist/prompts/print-preflight-workflow.js +45 -0
- package/dist/prompts/print-preflight-workflow.js.map +1 -0
- package/dist/prompts/quick-layout.d.ts +3 -0
- package/dist/prompts/quick-layout.d.ts.map +1 -0
- package/dist/prompts/quick-layout.js +42 -0
- package/dist/prompts/quick-layout.js.map +1 -0
- package/dist/prompts/registry.d.ts +3 -0
- package/dist/prompts/registry.d.ts.map +1 -0
- package/dist/prompts/registry.js +7 -0
- package/dist/prompts/registry.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/export/export-pdf.d.ts.map +1 -1
- package/dist/tools/export/export-pdf.js +48 -18
- 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 +41 -49
- package/dist/tools/export/export.js.map +1 -1
- package/dist/tools/modify/align-objects.d.ts +3 -0
- package/dist/tools/modify/align-objects.d.ts.map +1 -0
- package/dist/tools/modify/align-objects.js +202 -0
- package/dist/tools/modify/align-objects.js.map +1 -0
- package/dist/tools/modify/apply-color-profile.d.ts.map +1 -1
- package/dist/tools/modify/apply-color-profile.js +16 -11
- package/dist/tools/modify/apply-color-profile.js.map +1 -1
- package/dist/tools/modify/apply-graphic-style.d.ts +3 -0
- package/dist/tools/modify/apply-graphic-style.d.ts.map +1 -0
- package/dist/tools/modify/apply-graphic-style.js +106 -0
- package/dist/tools/modify/apply-graphic-style.js.map +1 -0
- package/dist/tools/modify/apply-text-style.d.ts +3 -0
- package/dist/tools/modify/apply-text-style.d.ts.map +1 -0
- package/dist/tools/modify/apply-text-style.js +118 -0
- package/dist/tools/modify/apply-text-style.js.map +1 -0
- package/dist/tools/modify/close-document.d.ts.map +1 -1
- package/dist/tools/modify/close-document.js +9 -9
- package/dist/tools/modify/close-document.js.map +1 -1
- package/dist/tools/modify/convert-to-outlines.d.ts.map +1 -1
- package/dist/tools/modify/convert-to-outlines.js +8 -30
- package/dist/tools/modify/convert-to-outlines.js.map +1 -1
- package/dist/tools/modify/create-document.d.ts.map +1 -1
- package/dist/tools/modify/create-document.js +8 -6
- package/dist/tools/modify/create-document.js.map +1 -1
- package/dist/tools/modify/create-ellipse.d.ts.map +1 -1
- package/dist/tools/modify/create-ellipse.js +16 -33
- package/dist/tools/modify/create-ellipse.js.map +1 -1
- package/dist/tools/modify/create-gradient.d.ts +3 -0
- package/dist/tools/modify/create-gradient.d.ts.map +1 -0
- package/dist/tools/modify/create-gradient.js +119 -0
- package/dist/tools/modify/create-gradient.js.map +1 -0
- package/dist/tools/modify/create-line.d.ts.map +1 -1
- package/dist/tools/modify/create-line.js +17 -37
- package/dist/tools/modify/create-line.js.map +1 -1
- package/dist/tools/modify/create-path-text.d.ts +3 -0
- package/dist/tools/modify/create-path-text.d.ts.map +1 -0
- package/dist/tools/modify/create-path-text.js +85 -0
- package/dist/tools/modify/create-path-text.js.map +1 -0
- package/dist/tools/modify/create-path.d.ts.map +1 -1
- package/dist/tools/modify/create-path.js +19 -39
- 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 +17 -33
- package/dist/tools/modify/create-rectangle.js.map +1 -1
- package/dist/tools/modify/create-text-frame.d.ts.map +1 -1
- package/dist/tools/modify/create-text-frame.js +28 -41
- package/dist/tools/modify/create-text-frame.js.map +1 -1
- package/dist/tools/modify/duplicate-objects.d.ts +3 -0
- package/dist/tools/modify/duplicate-objects.d.ts.map +1 -0
- package/dist/tools/modify/duplicate-objects.js +97 -0
- package/dist/tools/modify/duplicate-objects.js.map +1 -0
- package/dist/tools/modify/group-objects.d.ts +3 -0
- package/dist/tools/modify/group-objects.d.ts.map +1 -0
- package/dist/tools/modify/group-objects.js +80 -0
- package/dist/tools/modify/group-objects.js.map +1 -0
- package/dist/tools/modify/manage-artboards.d.ts +3 -0
- package/dist/tools/modify/manage-artboards.d.ts.map +1 -0
- package/dist/tools/modify/manage-artboards.js +152 -0
- package/dist/tools/modify/manage-artboards.js.map +1 -0
- package/dist/tools/modify/manage-datasets.d.ts +3 -0
- package/dist/tools/modify/manage-datasets.d.ts.map +1 -0
- package/dist/tools/modify/manage-datasets.js +345 -0
- package/dist/tools/modify/manage-datasets.js.map +1 -0
- package/dist/tools/modify/manage-layers.d.ts +3 -0
- package/dist/tools/modify/manage-layers.d.ts.map +1 -0
- package/dist/tools/modify/manage-layers.js +147 -0
- package/dist/tools/modify/manage-layers.js.map +1 -0
- package/dist/tools/modify/manage-linked-images.d.ts +3 -0
- package/dist/tools/modify/manage-linked-images.d.ts.map +1 -0
- package/dist/tools/modify/manage-linked-images.js +105 -0
- package/dist/tools/modify/manage-linked-images.js.map +1 -0
- package/dist/tools/modify/manage-swatches.d.ts +3 -0
- package/dist/tools/modify/manage-swatches.d.ts.map +1 -0
- package/dist/tools/modify/manage-swatches.js +78 -0
- package/dist/tools/modify/manage-swatches.js.map +1 -0
- package/dist/tools/modify/modify-object.d.ts.map +1 -1
- package/dist/tools/modify/modify-object.js +34 -49
- package/dist/tools/modify/modify-object.js.map +1 -1
- package/dist/tools/modify/move-to-layer.d.ts +3 -0
- package/dist/tools/modify/move-to-layer.d.ts.map +1 -0
- package/dist/tools/modify/move-to-layer.js +79 -0
- package/dist/tools/modify/move-to-layer.js.map +1 -0
- package/dist/tools/modify/open-document.d.ts +3 -0
- package/dist/tools/modify/open-document.d.ts.map +1 -0
- package/dist/tools/modify/open-document.js +74 -0
- package/dist/tools/modify/open-document.js.map +1 -0
- package/dist/tools/modify/place-color-chips.d.ts +3 -0
- package/dist/tools/modify/place-color-chips.d.ts.map +1 -0
- package/dist/tools/modify/place-color-chips.js +224 -0
- package/dist/tools/modify/place-color-chips.js.map +1 -0
- package/dist/tools/modify/place-image.d.ts.map +1 -1
- package/dist/tools/modify/place-image.js +28 -36
- package/dist/tools/modify/place-image.js.map +1 -1
- package/dist/tools/modify/place-style-guide.d.ts +3 -0
- package/dist/tools/modify/place-style-guide.d.ts.map +1 -0
- package/dist/tools/modify/place-style-guide.js +822 -0
- package/dist/tools/modify/place-style-guide.js.map +1 -0
- package/dist/tools/modify/place-symbol.d.ts +3 -0
- package/dist/tools/modify/place-symbol.d.ts.map +1 -0
- package/dist/tools/modify/place-symbol.js +96 -0
- package/dist/tools/modify/place-symbol.js.map +1 -0
- package/dist/tools/modify/replace-color.d.ts +3 -0
- package/dist/tools/modify/replace-color.d.ts.map +1 -0
- package/dist/tools/modify/replace-color.js +137 -0
- package/dist/tools/modify/replace-color.js.map +1 -0
- package/dist/tools/modify/resize-for-variation.d.ts +3 -0
- package/dist/tools/modify/resize-for-variation.d.ts.map +1 -0
- package/dist/tools/modify/resize-for-variation.js +177 -0
- package/dist/tools/modify/resize-for-variation.js.map +1 -0
- package/dist/tools/modify/save-document.d.ts +3 -0
- package/dist/tools/modify/save-document.d.ts.map +1 -0
- package/dist/tools/modify/save-document.js +63 -0
- package/dist/tools/modify/save-document.js.map +1 -0
- package/dist/tools/modify/select-objects.d.ts +3 -0
- package/dist/tools/modify/select-objects.d.ts.map +1 -0
- package/dist/tools/modify/select-objects.js +78 -0
- package/dist/tools/modify/select-objects.js.map +1 -0
- package/dist/tools/modify/set-z-order.d.ts +3 -0
- package/dist/tools/modify/set-z-order.d.ts.map +1 -0
- package/dist/tools/modify/set-z-order.js +61 -0
- package/dist/tools/modify/set-z-order.js.map +1 -0
- package/dist/tools/modify/shared.d.ts +49 -1
- package/dist/tools/modify/shared.d.ts.map +1 -1
- package/dist/tools/modify/shared.js +48 -4
- package/dist/tools/modify/shared.js.map +1 -1
- package/dist/tools/modify/undo.d.ts +3 -0
- package/dist/tools/modify/undo.d.ts.map +1 -0
- package/dist/tools/modify/undo.js +64 -0
- package/dist/tools/modify/undo.js.map +1 -0
- package/dist/tools/modify/ungroup-objects.d.ts +3 -0
- package/dist/tools/modify/ungroup-objects.d.ts.map +1 -0
- package/dist/tools/modify/ungroup-objects.js +72 -0
- package/dist/tools/modify/ungroup-objects.js.map +1 -0
- package/dist/tools/read/check-contrast.d.ts +3 -0
- package/dist/tools/read/check-contrast.d.ts.map +1 -0
- package/dist/tools/read/check-contrast.js +239 -0
- package/dist/tools/read/check-contrast.js.map +1 -0
- package/dist/tools/read/convert-coordinate.d.ts +3 -0
- package/dist/tools/read/convert-coordinate.d.ts.map +1 -0
- package/dist/tools/read/convert-coordinate.js +74 -0
- package/dist/tools/read/convert-coordinate.js.map +1 -0
- package/dist/tools/read/extract-design-tokens.d.ts +3 -0
- package/dist/tools/read/extract-design-tokens.d.ts.map +1 -0
- package/dist/tools/read/extract-design-tokens.js +280 -0
- package/dist/tools/read/extract-design-tokens.js.map +1 -0
- package/dist/tools/read/find-objects.d.ts.map +1 -1
- package/dist/tools/read/find-objects.js +16 -37
- package/dist/tools/read/find-objects.js.map +1 -1
- package/dist/tools/read/get-artboards.d.ts.map +1 -1
- package/dist/tools/read/get-artboards.js +15 -13
- package/dist/tools/read/get-artboards.js.map +1 -1
- package/dist/tools/read/get-colors.d.ts.map +1 -1
- package/dist/tools/read/get-colors.js +93 -15
- package/dist/tools/read/get-colors.js.map +1 -1
- package/dist/tools/read/get-document-info.d.ts.map +1 -1
- package/dist/tools/read/get-document-info.js +47 -19
- package/dist/tools/read/get-document-info.js.map +1 -1
- package/dist/tools/read/get-document-structure.d.ts.map +1 -1
- package/dist/tools/read/get-document-structure.js +16 -24
- package/dist/tools/read/get-document-structure.js.map +1 -1
- package/dist/tools/read/get-effects.d.ts.map +1 -1
- package/dist/tools/read/get-effects.js +32 -43
- package/dist/tools/read/get-effects.js.map +1 -1
- package/dist/tools/read/get-groups.d.ts.map +1 -1
- package/dist/tools/read/get-groups.js +22 -26
- package/dist/tools/read/get-groups.js.map +1 -1
- package/dist/tools/read/get-guidelines.d.ts.map +1 -1
- package/dist/tools/read/get-guidelines.js +13 -16
- package/dist/tools/read/get-guidelines.js.map +1 -1
- package/dist/tools/read/get-images.d.ts.map +1 -1
- package/dist/tools/read/get-images.js +43 -25
- package/dist/tools/read/get-images.js.map +1 -1
- package/dist/tools/read/get-layers.d.ts.map +1 -1
- package/dist/tools/read/get-layers.js +14 -15
- package/dist/tools/read/get-layers.js.map +1 -1
- package/dist/tools/read/get-overprint-info.d.ts.map +1 -1
- package/dist/tools/read/get-overprint-info.js +72 -63
- package/dist/tools/read/get-overprint-info.js.map +1 -1
- package/dist/tools/read/get-path-items.d.ts.map +1 -1
- package/dist/tools/read/get-path-items.js +26 -20
- package/dist/tools/read/get-path-items.js.map +1 -1
- package/dist/tools/read/get-selection.d.ts.map +1 -1
- package/dist/tools/read/get-selection.js +19 -33
- package/dist/tools/read/get-selection.js.map +1 -1
- package/dist/tools/read/get-separation-info.d.ts +3 -0
- package/dist/tools/read/get-separation-info.d.ts.map +1 -0
- package/dist/tools/read/get-separation-info.js +94 -0
- package/dist/tools/read/get-separation-info.js.map +1 -0
- package/dist/tools/read/get-symbols.d.ts.map +1 -1
- package/dist/tools/read/get-symbols.js +19 -23
- package/dist/tools/read/get-symbols.js.map +1 -1
- package/dist/tools/read/get-text-frame-detail.d.ts.map +1 -1
- package/dist/tools/read/get-text-frame-detail.js +270 -67
- package/dist/tools/read/get-text-frame-detail.js.map +1 -1
- package/dist/tools/read/list-fonts.d.ts +3 -0
- package/dist/tools/read/list-fonts.d.ts.map +1 -0
- package/dist/tools/read/list-fonts.js +78 -0
- package/dist/tools/read/list-fonts.js.map +1 -0
- package/dist/tools/read/list-text-frames.d.ts.map +1 -1
- package/dist/tools/read/list-text-frames.js +99 -36
- package/dist/tools/read/list-text-frames.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +64 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/session.d.ts +36 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +246 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/utility/check-text-consistency.d.ts +3 -0
- package/dist/tools/utility/check-text-consistency.d.ts.map +1 -0
- package/dist/tools/utility/check-text-consistency.js +303 -0
- package/dist/tools/utility/check-text-consistency.js.map +1 -0
- package/dist/tools/utility/preflight-check.d.ts.map +1 -1
- package/dist/tools/utility/preflight-check.js +141 -43
- package/dist/tools/utility/preflight-check.js.map +1 -1
- package/dist/tools/utility/set-workflow.d.ts +3 -0
- package/dist/tools/utility/set-workflow.d.ts.map +1 -0
- package/dist/tools/utility/set-workflow.js +95 -0
- package/dist/tools/utility/set-workflow.js.map +1 -0
- package/dist/utils/image-header.d.ts.map +1 -1
- package/dist/utils/image-header.js +5 -1
- package/dist/utils/image-header.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
[]()
|
|
8
8
|
[](https://www.adobe.com/products/illustrator.html)
|
|
9
9
|
[](https://modelcontextprotocol.io/)
|
|
10
|
+
[](https://ko-fi.com/cyocun)
|
|
10
11
|
|
|
11
12
|
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server for reading, manipulating, and exporting Adobe Illustrator design data.
|
|
12
13
|
|
|
@@ -16,9 +17,97 @@ Control Illustrator directly from AI assistants like Claude — extract design i
|
|
|
16
17
|
|
|
17
18
|
---
|
|
18
19
|
|
|
19
|
-
##
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
**Requirements:** macOS or Windows / Adobe Illustrator CC 2024+ / [Node.js 20+](https://nodejs.org/)
|
|
23
|
+
|
|
24
|
+
<details>
|
|
25
|
+
<summary><strong>How to install Node.js (first-time setup)</strong></summary>
|
|
26
|
+
|
|
27
|
+
Node.js is a runtime required to run this tool.
|
|
28
|
+
Skip this section if you already have it installed.
|
|
29
|
+
|
|
30
|
+
1. Go to [nodejs.org](https://nodejs.org/)
|
|
31
|
+
2. Click the **green "LTS" button** to download
|
|
32
|
+
3. Open the downloaded file and follow the installer instructions
|
|
33
|
+
|
|
34
|
+
To verify the installation, open Terminal (macOS) or Command Prompt (Windows) and type:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
node -v
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
If you see a version number like `v20.x.x`, you're all set.
|
|
41
|
+
|
|
42
|
+
</details>
|
|
43
|
+
|
|
44
|
+
### Claude Code
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
claude mcp add illustrator-mcp -- npx illustrator-mcp-server
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Claude Desktop
|
|
51
|
+
|
|
52
|
+
Open the config file and add the connection settings.
|
|
53
|
+
|
|
54
|
+
<details>
|
|
55
|
+
<summary><strong>Show step-by-step instructions</strong></summary>
|
|
56
|
+
|
|
57
|
+
#### 1. Open the config file
|
|
58
|
+
|
|
59
|
+
From the Claude Desktop menu bar:
|
|
60
|
+
|
|
61
|
+
**Claude** → **Settings...** → **Developer** (in the left sidebar) → Click the **Edit Config** button
|
|
62
|
+
|
|
63
|
+
The `claude_desktop_config.json` file will appear in Finder (macOS) or Explorer (Windows).
|
|
64
|
+
Open it with a text editor.
|
|
65
|
+
|
|
66
|
+
#### 2. Add the settings
|
|
67
|
+
|
|
68
|
+
If the file is empty or contains only `{}`, **replace everything** with the following (copy & paste):
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"mcpServers": {
|
|
73
|
+
"illustrator": {
|
|
74
|
+
"command": "npx",
|
|
75
|
+
"args": ["illustrator-mcp-server"]
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
> If you already have other MCP servers configured, add the `"illustrator": { ... }` block inside the existing `"mcpServers": {` section. Don't forget the comma between entries.
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
"mcpServers": {
|
|
85
|
+
"other-server": {
|
|
86
|
+
...other server settings...
|
|
87
|
+
},
|
|
88
|
+
"illustrator": {
|
|
89
|
+
"command": "npx",
|
|
90
|
+
"args": ["illustrator-mcp-server"]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### 3. Save and restart
|
|
96
|
+
|
|
97
|
+
1. Save the file (⌘S / Ctrl+S) and close the text editor
|
|
98
|
+
2. **Fully quit** Claude Desktop (⌘Q / Ctrl+Q) and reopen it
|
|
99
|
+
3. Open **Claude** → **Settings...** → **Developer** — if the illustrator server appears, the connection is working
|
|
100
|
+
|
|
101
|
+
</details>
|
|
102
|
+
|
|
103
|
+
> **macOS:** On first run, allow automation access in System Settings > Privacy & Security > Automation.
|
|
104
|
+
|
|
105
|
+
> **Note:** Modify and export tools will bring Illustrator to the foreground during execution.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## What You Can Do
|
|
20
110
|
|
|
21
|
-
**Extracting design data:**
|
|
22
111
|
```
|
|
23
112
|
You: Show me all the text information in this document
|
|
24
113
|
Claude: → list_text_frames → get_text_frame_detail
|
|
@@ -26,14 +115,6 @@ Claude: → list_text_frames → get_text_frame_detail
|
|
|
26
115
|
The heading "My Design" uses Noto Sans JP Bold 48px, color #333333 ...
|
|
27
116
|
```
|
|
28
117
|
|
|
29
|
-
**SVG export:**
|
|
30
|
-
```
|
|
31
|
-
You: Export the "pc" artboard as SVG with outlined text
|
|
32
|
-
Claude: → get_artboards → export
|
|
33
|
-
Exported to /path/to/output.svg (text converted to outlines)
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
**Pre-press preflight:**
|
|
37
118
|
```
|
|
38
119
|
You: Run a pre-press preflight check
|
|
39
120
|
Claude: → preflight_check
|
|
@@ -42,82 +123,391 @@ Claude: → preflight_check
|
|
|
42
123
|
- Non-outlined fonts: 3 text frames
|
|
43
124
|
```
|
|
44
125
|
|
|
45
|
-
**Object manipulation:**
|
|
46
126
|
```
|
|
47
|
-
You:
|
|
48
|
-
Claude: →
|
|
49
|
-
|
|
127
|
+
You: Check text for inconsistencies
|
|
128
|
+
Claude: → check_text_consistency
|
|
129
|
+
📝 Consistency Report:
|
|
130
|
+
⚠ "Contact Us" vs "Contact us" — capitalization mismatch
|
|
131
|
+
❌ "Lorem ipsum" (2 places) — placeholder text remaining
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
You: Create banner size variations from this A4 flyer
|
|
136
|
+
Claude: → get_document_info → resize_for_variation
|
|
137
|
+
Created 3 size variations:
|
|
138
|
+
- 728×90 / 300×250 / 160×600
|
|
50
139
|
```
|
|
51
140
|
|
|
52
141
|
---
|
|
53
142
|
|
|
54
|
-
##
|
|
143
|
+
## Recipes
|
|
55
144
|
|
|
56
|
-
|
|
57
|
-
- **Web coordinate system** — Y-axis down, artboard-relative (same as CSS/SVG)
|
|
58
|
-
- **UUID tracking** — Stable object identification across tool calls
|
|
145
|
+
### Web Implementation
|
|
59
146
|
|
|
60
|
-
|
|
147
|
+
<details>
|
|
148
|
+
<summary><b>Extract colors and fonts for CSS</b></summary>
|
|
61
149
|
|
|
62
|
-
|
|
150
|
+
```
|
|
151
|
+
You: Summarize the colors and typography in this design
|
|
63
152
|
|
|
64
|
-
|
|
65
|
-
- **Adobe Illustrator CC 2024+**
|
|
153
|
+
Claude: → get_colors → list_text_frames → get_text_frame_detail
|
|
66
154
|
|
|
67
|
-
|
|
155
|
+
■ Color Palette
|
|
156
|
+
- Primary: #1A73E8 (CMYK: 85,50,0,0)
|
|
157
|
+
- Secondary: #34A853
|
|
158
|
+
- Text: #202124
|
|
159
|
+
- Background: #FFFFFF
|
|
68
160
|
|
|
69
|
-
|
|
161
|
+
■ Typography
|
|
162
|
+
- Headings: Noto Sans JP Bold / 32px
|
|
163
|
+
- Body: Noto Sans JP Regular / 16px / line-height: 1.75
|
|
164
|
+
- Captions: Noto Sans JP Medium / 12px
|
|
165
|
+
```
|
|
70
166
|
|
|
71
|
-
|
|
167
|
+
</details>
|
|
72
168
|
|
|
73
|
-
|
|
169
|
+
<details>
|
|
170
|
+
<summary><b>Export artboards as SVG / PNG</b></summary>
|
|
74
171
|
|
|
75
|
-
|
|
172
|
+
```
|
|
173
|
+
You: Export all artboards as SVG with outlined text
|
|
76
174
|
|
|
77
|
-
|
|
78
|
-
|
|
175
|
+
Claude: → get_artboards → convert_to_outlines → export (repeated)
|
|
176
|
+
|
|
177
|
+
Exported 4 artboards:
|
|
178
|
+
- /output/header.svg
|
|
179
|
+
- /output/hero.svg
|
|
180
|
+
- /output/feature.svg
|
|
181
|
+
- /output/footer.svg
|
|
79
182
|
```
|
|
80
183
|
|
|
81
|
-
|
|
184
|
+
</details>
|
|
82
185
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
186
|
+
<details>
|
|
187
|
+
<summary><b>Inspect a specific object's styling</b></summary>
|
|
86
188
|
|
|
87
|
-
```json
|
|
88
|
-
{
|
|
89
|
-
"mcpServers": {
|
|
90
|
-
"illustrator": {
|
|
91
|
-
"command": "npx",
|
|
92
|
-
"args": ["illustrator-mcp-server"]
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
189
|
```
|
|
190
|
+
You: Tell me about the "CTA Button" object
|
|
97
191
|
|
|
98
|
-
|
|
192
|
+
Claude: → find_objects (name: "CTA Button") → get_path_items → get_effects
|
|
99
193
|
|
|
100
|
-
|
|
194
|
+
■ CTA Button (uuid: abc-123)
|
|
195
|
+
- Size: 200×48px
|
|
196
|
+
- Corner radius: 24px
|
|
197
|
+
- Fill: #1A73E8
|
|
198
|
+
- Stroke: none
|
|
199
|
+
- Opacity: 100%
|
|
200
|
+
- Drop shadow: present (parameters not readable due to API limitation)
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
</details>
|
|
204
|
+
|
|
205
|
+
### Print & Pre-press
|
|
206
|
+
|
|
207
|
+
<details>
|
|
208
|
+
<summary><b>Check PDF/X-1a compliance before submission</b></summary>
|
|
101
209
|
|
|
102
|
-
```bash
|
|
103
|
-
git clone https://github.com/ie3jp/illustrator-mcp-server.git
|
|
104
|
-
cd illustrator-mcp-server
|
|
105
|
-
npm install
|
|
106
|
-
npm run build
|
|
107
|
-
claude mcp add illustrator-mcp -- node /path/to/illustrator-mcp-server/dist/index.js
|
|
108
210
|
```
|
|
211
|
+
You: Check if this document is PDF/X-1a compliant
|
|
109
212
|
|
|
110
|
-
|
|
213
|
+
Claude: → preflight_check (target_pdf_profile: "x1a")
|
|
214
|
+
|
|
215
|
+
❌ PDF/X-1a compliance errors:
|
|
216
|
+
- Transparency on 3 objects (X-1a prohibits transparency)
|
|
217
|
+
- RGB colors found in 2 places (X-1a requires CMYK/spot only)
|
|
218
|
+
|
|
219
|
+
⚠ Warnings:
|
|
220
|
+
- 5 non-outlined fonts (embedding recommended)
|
|
221
|
+
- Image "photo_02.jpg" at 150dpi (300dpi recommended)
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
</details>
|
|
225
|
+
|
|
226
|
+
<details>
|
|
227
|
+
<summary><b>Audit overprint settings to prevent print accidents</b></summary>
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
You: Check overprint settings
|
|
231
|
+
|
|
232
|
+
Claude: → get_overprint_info
|
|
233
|
+
|
|
234
|
+
■ 4 objects with overprint
|
|
235
|
+
|
|
236
|
+
✅ Safe (K100 overprint — intentional):
|
|
237
|
+
- "Headline" text (K100, ink coverage 100%)
|
|
238
|
+
- "Rule line" path (K100, ink coverage 100%)
|
|
239
|
+
|
|
240
|
+
⚠ Review needed (possibly accidental):
|
|
241
|
+
- "Background decoration" (C30 M80 Y0 K0, coverage 110%)
|
|
242
|
+
- "Rich black frame" (C40 M40 Y40 K100, coverage 320%)
|
|
243
|
+
→ Rich black + overprint can cause unexpected color bleed
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
</details>
|
|
247
|
+
|
|
248
|
+
<details>
|
|
249
|
+
<summary><b>Check color separations</b></summary>
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
You: Show me the color separation info
|
|
253
|
+
|
|
254
|
+
Claude: → get_separation_info
|
|
255
|
+
|
|
256
|
+
■ Separations (CMYK document)
|
|
257
|
+
- Cyan: 342 uses
|
|
258
|
+
- Magenta: 287 uses
|
|
259
|
+
- Yellow: 301 uses
|
|
260
|
+
- Black: 456 uses
|
|
261
|
+
- DIC 2585 (spot): 12 uses
|
|
262
|
+
→ This will output as 5 plates.
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
</details>
|
|
266
|
+
|
|
267
|
+
<details>
|
|
268
|
+
<summary><b>Export PDF with crop marks and bleed</b></summary>
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
You: Export PDF with Japanese crop marks and 3mm bleed
|
|
272
|
+
|
|
273
|
+
Claude: → export_pdf (trim_marks: true, marks_style: "japanese", bleed: true)
|
|
274
|
+
|
|
275
|
+
Exported to /output/print_ready.pdf
|
|
276
|
+
- Japanese crop marks (0.125pt)
|
|
277
|
+
- 3mm bleed
|
|
278
|
+
- Registration marks auto-applied
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
</details>
|
|
282
|
+
|
|
283
|
+
<details>
|
|
284
|
+
<summary><b>Check image quality for print</b></summary>
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
You: Check placed image quality for print
|
|
288
|
+
|
|
289
|
+
Claude: → get_images (include_print_info: true)
|
|
290
|
+
|
|
291
|
+
■ Image Quality Report:
|
|
292
|
+
✅ hero.psd — CMYK, 350dpi, scale 98%
|
|
293
|
+
⚠ icon_set.png — RGB (mismatch with CMYK document), 300dpi, scale 100%
|
|
294
|
+
❌ photo_bg.jpg — CMYK, 72dpi, scale 400% (over-enlarged)
|
|
295
|
+
→ Replace with a 300dpi+ image at actual size
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
</details>
|
|
299
|
+
|
|
300
|
+
### Text Proofing
|
|
301
|
+
|
|
302
|
+
<details>
|
|
303
|
+
<summary><b>Find placeholder text and notation inconsistencies</b></summary>
|
|
304
|
+
|
|
305
|
+
```
|
|
306
|
+
You: Check text for inconsistencies
|
|
307
|
+
|
|
308
|
+
Claude: → check_text_consistency
|
|
309
|
+
|
|
310
|
+
📝 Consistency Report:
|
|
311
|
+
|
|
312
|
+
■ Notation variations
|
|
313
|
+
⚠ "Contact Us" (2 places) vs "Contact us" (1 place)
|
|
314
|
+
⚠ "e-mail" (1 place) vs "email" (3 places) vs "E-mail" (1 place)
|
|
315
|
+
|
|
316
|
+
■ Possible outdated content
|
|
317
|
+
❌ Header still says "2024" (all other instances are "2025")
|
|
318
|
+
❌ Footer phone number differs from other pages
|
|
319
|
+
|
|
320
|
+
■ Placeholder text
|
|
321
|
+
❌ "Lorem ipsum" (2 places) — forgotten placeholder?
|
|
322
|
+
❌ "Sample text" (1 place)
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
</details>
|
|
326
|
+
|
|
327
|
+
### Design Variations
|
|
328
|
+
|
|
329
|
+
<details>
|
|
330
|
+
<summary><b>Create multiple banner sizes from a single design</b></summary>
|
|
331
|
+
|
|
332
|
+
```
|
|
333
|
+
You: Create 3 web banner sizes from this A4 flyer
|
|
334
|
+
|
|
335
|
+
Claude: → get_document_info → resize_for_variation (3 targets)
|
|
336
|
+
|
|
337
|
+
Created 3 variations:
|
|
338
|
+
- "Leaderboard" artboard (728×90pt, scaled to 11%)
|
|
339
|
+
- "Medium Rectangle" artboard (300×250pt, scaled to 30%)
|
|
340
|
+
- "Wide Skyscraper" artboard (160×600pt, scaled to 71%)
|
|
341
|
+
|
|
342
|
+
⚠ Text reflow is not applied.
|
|
343
|
+
You may need to adjust text sizing and overflow manually.
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
</details>
|
|
347
|
+
|
|
348
|
+
<details>
|
|
349
|
+
<summary><b>Build a layout with shapes and text</b></summary>
|
|
350
|
+
|
|
351
|
+
```
|
|
352
|
+
You: Create a business card layout with company name, name, email, and phone
|
|
353
|
+
|
|
354
|
+
Claude: → create_document (91×55mm, CMYK)
|
|
355
|
+
→ create_text_frame × 4
|
|
356
|
+
→ create_rectangle (background)
|
|
357
|
+
→ create_line (divider)
|
|
358
|
+
|
|
359
|
+
Business card layout created:
|
|
360
|
+
- Company: top center / Noto Sans JP Bold 9pt
|
|
361
|
+
- Name: center / Noto Sans JP Bold 14pt
|
|
362
|
+
- Email: bottom / Noto Sans JP Regular 7pt
|
|
363
|
+
- Phone: bottom / Noto Sans JP Regular 7pt
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
</details>
|
|
367
|
+
|
|
368
|
+
### Color Management
|
|
369
|
+
|
|
370
|
+
<details>
|
|
371
|
+
<summary><b>Diagnose color issues in a CMYK document</b></summary>
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
You: Run a color diagnostic
|
|
375
|
+
|
|
376
|
+
Claude: → get_colors (include_diagnostics: true)
|
|
377
|
+
|
|
378
|
+
■ Color Diagnostics (CMYK document)
|
|
379
|
+
❌ RGB colors found: 3 fills / 1 stroke
|
|
380
|
+
⚠ Gradient warning:
|
|
381
|
+
- "Rainbow gradient": stop #2 is RGB
|
|
382
|
+
■ High ink coverage:
|
|
383
|
+
- C80 M70 Y70 K90 (total 310%) — may cause ink pooling
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
</details>
|
|
387
|
+
|
|
388
|
+
### Object Operations
|
|
389
|
+
|
|
390
|
+
<details>
|
|
391
|
+
<summary><b>Align and distribute multiple objects</b></summary>
|
|
392
|
+
|
|
393
|
+
```
|
|
394
|
+
You: Align these 3 buttons to the left and distribute vertically
|
|
395
|
+
|
|
396
|
+
Claude: → find_objects → align_objects (alignment: "left", distribute: "vertical")
|
|
397
|
+
|
|
398
|
+
Aligned 3 objects: left-aligned + vertically distributed.
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
</details>
|
|
402
|
+
|
|
403
|
+
<details>
|
|
404
|
+
<summary><b>Replace brand colors across the document</b></summary>
|
|
405
|
+
|
|
406
|
+
```
|
|
407
|
+
You: Replace all red (C0 M100 Y100 K0) with the new brand blue (C80 M10 Y0 K0)
|
|
408
|
+
|
|
409
|
+
Claude: → replace_color (from → to)
|
|
410
|
+
|
|
411
|
+
Replaced 24 fills and 3 strokes.
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
</details>
|
|
415
|
+
|
|
416
|
+
<details>
|
|
417
|
+
<summary><b>Place color chips outside the artboard</b></summary>
|
|
418
|
+
|
|
419
|
+
```
|
|
420
|
+
You: Show all used colors as chips to the right of the artboard
|
|
421
|
+
|
|
422
|
+
Claude: → place_color_chips (position: "right")
|
|
423
|
+
|
|
424
|
+
Placed 12 color chips on "Color Chips" layer with CMYK labels.
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
</details>
|
|
428
|
+
|
|
429
|
+
### Accessibility
|
|
430
|
+
|
|
431
|
+
<details>
|
|
432
|
+
<summary><b>Check WCAG color contrast ratios</b></summary>
|
|
433
|
+
|
|
434
|
+
```
|
|
435
|
+
You: Check text contrast ratios
|
|
436
|
+
|
|
437
|
+
Claude: → check_contrast (auto_detect: true)
|
|
438
|
+
|
|
439
|
+
■ WCAG Contrast Report:
|
|
440
|
+
❌ "Caption" on "light gray" — 2.8:1 (AA fail)
|
|
441
|
+
⚠ "Subheading" on "white" — 4.2:1 (AA Large OK, AA Normal fail)
|
|
442
|
+
✅ "Body text" on "white" — 12.1:1 (AAA pass)
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
</details>
|
|
446
|
+
|
|
447
|
+
### Design System
|
|
448
|
+
|
|
449
|
+
<details>
|
|
450
|
+
<summary><b>Extract design tokens from a comp</b></summary>
|
|
451
|
+
|
|
452
|
+
```
|
|
453
|
+
You: Extract design tokens as CSS custom properties
|
|
454
|
+
|
|
455
|
+
Claude: → extract_design_tokens (format: "css")
|
|
456
|
+
|
|
457
|
+
:root {
|
|
458
|
+
--color-primary: #1A73E8;
|
|
459
|
+
--color-secondary: #34A853;
|
|
460
|
+
--font-heading-family: "NotoSansJP-Bold";
|
|
461
|
+
--font-heading-size: 32pt;
|
|
462
|
+
--spacing-8: 8pt;
|
|
463
|
+
--spacing-16: 16pt;
|
|
464
|
+
}
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
</details>
|
|
468
|
+
|
|
469
|
+
## MCP Prompts
|
|
470
|
+
|
|
471
|
+
Workflow templates that guide Claude through multi-step tasks. Available in the Claude Desktop prompt picker.
|
|
472
|
+
|
|
473
|
+
| Prompt | Description |
|
|
474
|
+
|--------|-------------|
|
|
475
|
+
| `quick-layout` | Paste text content and Claude arranges it on the artboard as headings, body, and captions |
|
|
476
|
+
| `print-preflight-workflow` | Comprehensive 7-step pre-press check (document → preflight → overprint → separations → images → colors → text) |
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
## Claude Code Skills
|
|
481
|
+
|
|
482
|
+
Add pre-built workflows as slash commands in Claude Code, combining multiple MCP tools into guided processes.
|
|
483
|
+
|
|
484
|
+
### Pre-press Preflight Check (`/illustrator-preflight`)
|
|
485
|
+
|
|
486
|
+
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.
|
|
487
|
+
|
|
488
|
+
**Install:**
|
|
111
489
|
|
|
112
490
|
```bash
|
|
113
|
-
|
|
491
|
+
/plugin install illustrator-preflight
|
|
114
492
|
```
|
|
115
493
|
|
|
494
|
+
**Usage:**
|
|
495
|
+
|
|
496
|
+
Type `/illustrator-preflight:illustrator-preflight` in Claude Code, or just ask "run a preflight check".
|
|
497
|
+
|
|
498
|
+
---
|
|
499
|
+
|
|
500
|
+
## Features
|
|
501
|
+
|
|
502
|
+
- **63 tools + 2 prompts** — 21 read / 37 modify / 2 export / 3 utility
|
|
503
|
+
- **Web coordinate system** — Y-axis down, artboard-relative (same as CSS/SVG)
|
|
504
|
+
- **UUID tracking** — Stable object identification across tool calls
|
|
505
|
+
|
|
116
506
|
---
|
|
117
507
|
|
|
118
508
|
## Tool Reference
|
|
119
509
|
|
|
120
|
-
### Read Tools (
|
|
510
|
+
### Read Tools (21)
|
|
121
511
|
|
|
122
512
|
<details>
|
|
123
513
|
<summary>Click to expand</summary>
|
|
@@ -130,19 +520,25 @@ npx @modelcontextprotocol/inspector npx illustrator-mcp-server
|
|
|
130
520
|
| `get_document_structure` | Full tree: layers → groups → objects in one call |
|
|
131
521
|
| `list_text_frames` | List of text frames (font, size, style name) |
|
|
132
522
|
| `get_text_frame_detail` | All attributes of a specific text frame (kerning, paragraph settings, etc.) |
|
|
133
|
-
| `get_colors` | Color information in use (swatches, gradients, spot colors
|
|
523
|
+
| `get_colors` | Color information in use (swatches, gradients, spot colors). `include_diagnostics` for print analysis |
|
|
134
524
|
| `get_path_items` | Path/shape data (fill, stroke, anchor points) |
|
|
135
525
|
| `get_groups` | Groups, clipping masks, and compound path structure |
|
|
136
526
|
| `get_effects` | Effects and appearance info (opacity, blend mode) |
|
|
137
|
-
| `get_images` | Embedded/linked image info (resolution, broken link detection) |
|
|
527
|
+
| `get_images` | Embedded/linked image info (resolution, broken link detection). `include_print_info` for color space mismatch & scale factor |
|
|
138
528
|
| `get_symbols` | Symbol definitions and instances |
|
|
139
529
|
| `get_guidelines` | Guide information |
|
|
530
|
+
| `get_overprint_info` | Overprint settings + K100/rich black detection & intent classification |
|
|
531
|
+
| `get_separation_info` | Color separation info (CMYK process plates + spot color plates with usage counts) |
|
|
140
532
|
| `get_selection` | Details of currently selected objects |
|
|
141
533
|
| `find_objects` | Search by criteria (name, type, color, font, etc.) |
|
|
534
|
+
| `check_contrast` | WCAG color contrast ratio check (manual or auto-detect overlapping pairs) |
|
|
535
|
+
| `extract_design_tokens` | Extract design tokens as CSS custom properties, JSON, or Tailwind config |
|
|
536
|
+
| `list_fonts` | List fonts available in Illustrator (no document required) |
|
|
537
|
+
| `convert_coordinate` | Convert points between artboard and document coordinate systems |
|
|
142
538
|
|
|
143
539
|
</details>
|
|
144
540
|
|
|
145
|
-
### Modify Tools (
|
|
541
|
+
### Modify Tools (37)
|
|
146
542
|
|
|
147
543
|
<details>
|
|
148
544
|
<summary>Click to expand</summary>
|
|
@@ -154,9 +550,38 @@ npx @modelcontextprotocol/inspector npx illustrator-mcp-server
|
|
|
154
550
|
| `create_line` | Create a line |
|
|
155
551
|
| `create_text_frame` | Create a text frame (point or area type) |
|
|
156
552
|
| `create_path` | Create a custom path (with Bezier handles) |
|
|
553
|
+
| `place_image` | Place an image file as linked or embedded |
|
|
157
554
|
| `modify_object` | Modify properties of an existing object |
|
|
158
555
|
| `convert_to_outlines` | Convert text to outlines |
|
|
159
|
-
| `
|
|
556
|
+
| `assign_color_profile` | Assign (tag) a color profile (does not convert color values) |
|
|
557
|
+
| `create_document` | Create a new document (size, color mode) |
|
|
558
|
+
| `close_document` | Close the active document |
|
|
559
|
+
| `resize_for_variation` | Create size variations from a source artboard (proportional scaling) |
|
|
560
|
+
| `align_objects` | Align and distribute multiple objects |
|
|
561
|
+
| `replace_color` | Find and replace colors across document (with tolerance) |
|
|
562
|
+
| `manage_layers` | Add, rename, show/hide, lock/unlock, reorder, or delete layers |
|
|
563
|
+
| `place_color_chips` | Extract unique colors and place color chip swatches outside artboard |
|
|
564
|
+
| `save_document` | Save or save-as the active document |
|
|
565
|
+
| `open_document` | Open a document from file path |
|
|
566
|
+
| `group_objects` | Group objects (supports clipping masks) |
|
|
567
|
+
| `ungroup_objects` | Ungroup a group, releasing children |
|
|
568
|
+
| `duplicate_objects` | Duplicate objects with optional offset |
|
|
569
|
+
| `set_z_order` | Change stacking order (front/back) |
|
|
570
|
+
| `move_to_layer` | Move objects to a different layer |
|
|
571
|
+
| `manage_artboards` | Add, remove, resize, rename, rearrange artboards |
|
|
572
|
+
| `manage_swatches` | Add, update, or delete swatches |
|
|
573
|
+
| `manage_linked_images` | Relink or embed placed images |
|
|
574
|
+
| `manage_datasets` | List/apply/create datasets, import/export variables |
|
|
575
|
+
| `apply_graphic_style` | Apply a graphic style to objects |
|
|
576
|
+
| `list_graphic_styles` | List all graphic styles in the document |
|
|
577
|
+
| `apply_text_style` | Apply character or paragraph style to text |
|
|
578
|
+
| `list_text_styles` | List all character and paragraph styles |
|
|
579
|
+
| `create_gradient` | Create gradients and apply to objects |
|
|
580
|
+
| `create_path_text` | Create text along a path |
|
|
581
|
+
| `place_symbol` | Place or replace symbol instances |
|
|
582
|
+
| `select_objects` | Select objects by UUID (multi-select supported) |
|
|
583
|
+
| `place_style_guide` | Place a visual style guide outside the artboard (colors, fonts, spacing, margins, guide gaps) |
|
|
584
|
+
| `undo` | Undo/redo operations (multi-step) |
|
|
160
585
|
|
|
161
586
|
</details>
|
|
162
587
|
|
|
@@ -165,13 +590,15 @@ npx @modelcontextprotocol/inspector npx illustrator-mcp-server
|
|
|
165
590
|
| Tool | Description |
|
|
166
591
|
|---|---|
|
|
167
592
|
| `export` | SVG / PNG / JPG export (by artboard, selection, or UUID) |
|
|
168
|
-
| `export_pdf` | Print-ready PDF export (crop marks, bleed, downsampling) |
|
|
593
|
+
| `export_pdf` | Print-ready PDF export (crop marks, bleed, selective downsampling, output intent) |
|
|
169
594
|
|
|
170
|
-
### Utility (
|
|
595
|
+
### Utility (3)
|
|
171
596
|
|
|
172
597
|
| Tool | Description |
|
|
173
598
|
|---|---|
|
|
174
|
-
| `preflight_check` | Pre-press check (RGB mixing, broken links, low resolution, white overprint, etc.) |
|
|
599
|
+
| `preflight_check` | Pre-press check (RGB mixing, broken links, low resolution, white overprint, transparency+overprint interaction, PDF/X compliance, etc.) |
|
|
600
|
+
| `check_text_consistency` | Text consistency check (placeholder detection, notation variation patterns, full text listing for LLM analysis) |
|
|
601
|
+
| `set_workflow` | Set workflow mode (web/print) to configure default coordinate system |
|
|
175
602
|
|
|
176
603
|
---
|
|
177
604
|
|
|
@@ -195,7 +622,7 @@ flowchart LR
|
|
|
195
622
|
|
|
196
623
|
### Coordinate System
|
|
197
624
|
|
|
198
|
-
Geometry-aware read and modify tools accept a `coordinate_system` parameter. Export and document-wide utility tools do not
|
|
625
|
+
Geometry-aware read and modify tools accept a `coordinate_system` parameter. Export and document-wide utility tools do not.
|
|
199
626
|
|
|
200
627
|
| Value | Origin | Y-axis | Use case |
|
|
201
628
|
|---|---|---|---|
|
|
@@ -204,17 +631,33 @@ Geometry-aware read and modify tools accept a `coordinate_system` parameter. Exp
|
|
|
204
631
|
|
|
205
632
|
---
|
|
206
633
|
|
|
207
|
-
##
|
|
634
|
+
## Building from Source
|
|
635
|
+
|
|
636
|
+
```bash
|
|
637
|
+
git clone https://github.com/ie3jp/illustrator-mcp-server.git
|
|
638
|
+
cd illustrator-mcp-server
|
|
639
|
+
npm install
|
|
640
|
+
npm run build
|
|
641
|
+
claude mcp add illustrator-mcp -- node /path/to/illustrator-mcp-server/dist/index.js
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
### Verify
|
|
645
|
+
|
|
646
|
+
```bash
|
|
647
|
+
npx @modelcontextprotocol/inspector npx illustrator-mcp-server
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
### Testing
|
|
208
651
|
|
|
209
652
|
```bash
|
|
210
653
|
# Unit tests
|
|
211
654
|
npm test
|
|
212
655
|
|
|
213
|
-
# E2E smoke test (requires Illustrator running
|
|
656
|
+
# E2E smoke test (requires Illustrator running)
|
|
214
657
|
npx tsx test/e2e/smoke-test.ts
|
|
215
658
|
```
|
|
216
659
|
|
|
217
|
-
The E2E test
|
|
660
|
+
The E2E test creates a fresh document, places test objects, runs 106 test cases across 6 phases covering all registered tools, and cleans up automatically.
|
|
218
661
|
|
|
219
662
|
---
|
|
220
663
|
|
|
@@ -228,34 +671,14 @@ The E2E test suite runs all 30 cases automatically (16 read + 4 export + 2 utili
|
|
|
228
671
|
| Bleed settings | Not accessible via the ExtendScript API (undocumented) |
|
|
229
672
|
| WebP export | Not supported — ExportType does not include WebP in ExtendScript |
|
|
230
673
|
| Japanese crop marks | `PageMarksTypes.Japanese` may not be applied correctly in PDF export |
|
|
674
|
+
| Font embedding control | PDF font embedding mode (full/subset) is not exposed in the API. Use PDF presets instead |
|
|
675
|
+
| Size variations | No text reflow. Proportional placement only (not smart layout) |
|
|
231
676
|
|
|
232
677
|
---
|
|
233
678
|
|
|
234
|
-
##
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
illustrator-mcp-server/
|
|
238
|
-
├── src/
|
|
239
|
-
│ ├── index.ts # Entry point
|
|
240
|
-
│ ├── server.ts # MCP server
|
|
241
|
-
│ ├── executor/
|
|
242
|
-
│ │ ├── jsx-runner.ts # Transport selection + concurrency control
|
|
243
|
-
│ │ └── file-transport.ts # Temp file management (macOS/Windows)
|
|
244
|
-
│ ├── tools/
|
|
245
|
-
│ │ ├── registry.ts # Tool registration
|
|
246
|
-
│ │ ├── read/ # 15 read tools
|
|
247
|
-
│ │ ├── modify/ # 8 modify tools
|
|
248
|
-
│ │ ├── export/ # 2 export tools
|
|
249
|
-
│ │ └── utility/ # 1 utility tool
|
|
250
|
-
│ └── jsx/
|
|
251
|
-
│ └── helpers/
|
|
252
|
-
│ └── common.jsx # ExtendScript common helpers
|
|
253
|
-
├── test/
|
|
254
|
-
│ ├── unit/ # Unit tests
|
|
255
|
-
│ └── e2e/
|
|
256
|
-
│ └── smoke-test.ts # E2E smoke test
|
|
257
|
-
└── docs/ # Design documents
|
|
258
|
-
```
|
|
679
|
+
## Support
|
|
680
|
+
|
|
681
|
+
Developing and maintaining this tool takes time and resources. If it helps your workflow, your support means a lot — [buy me a coffee ☕](https://ko-fi.com/cyocun)
|
|
259
682
|
|
|
260
683
|
---
|
|
261
684
|
|