illustrator-mcp-server 1.2.4 → 1.2.5

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.
Files changed (243) hide show
  1. package/README.ja.md +525 -107
  2. package/README.md +510 -89
  3. package/dist/executor/jsx-runner.d.ts +1 -0
  4. package/dist/executor/jsx-runner.d.ts.map +1 -1
  5. package/dist/executor/jsx-runner.js +33 -19
  6. package/dist/executor/jsx-runner.js.map +1 -1
  7. package/dist/jsx/helpers/common.jsx +113 -7
  8. package/dist/prompts/print-preflight-workflow.d.ts +3 -0
  9. package/dist/prompts/print-preflight-workflow.d.ts.map +1 -0
  10. package/dist/prompts/print-preflight-workflow.js +45 -0
  11. package/dist/prompts/print-preflight-workflow.js.map +1 -0
  12. package/dist/prompts/quick-layout.d.ts +3 -0
  13. package/dist/prompts/quick-layout.d.ts.map +1 -0
  14. package/dist/prompts/quick-layout.js +42 -0
  15. package/dist/prompts/quick-layout.js.map +1 -0
  16. package/dist/prompts/registry.d.ts +3 -0
  17. package/dist/prompts/registry.d.ts.map +1 -0
  18. package/dist/prompts/registry.js +7 -0
  19. package/dist/prompts/registry.js.map +1 -0
  20. package/dist/server.d.ts.map +1 -1
  21. package/dist/server.js +3 -1
  22. package/dist/server.js.map +1 -1
  23. package/dist/tools/export/export-pdf.d.ts.map +1 -1
  24. package/dist/tools/export/export-pdf.js +48 -18
  25. package/dist/tools/export/export-pdf.js.map +1 -1
  26. package/dist/tools/export/export.d.ts.map +1 -1
  27. package/dist/tools/export/export.js +41 -49
  28. package/dist/tools/export/export.js.map +1 -1
  29. package/dist/tools/modify/align-objects.d.ts +3 -0
  30. package/dist/tools/modify/align-objects.d.ts.map +1 -0
  31. package/dist/tools/modify/align-objects.js +195 -0
  32. package/dist/tools/modify/align-objects.js.map +1 -0
  33. package/dist/tools/modify/apply-color-profile.d.ts.map +1 -1
  34. package/dist/tools/modify/apply-color-profile.js +12 -10
  35. package/dist/tools/modify/apply-color-profile.js.map +1 -1
  36. package/dist/tools/modify/apply-graphic-style.d.ts +3 -0
  37. package/dist/tools/modify/apply-graphic-style.d.ts.map +1 -0
  38. package/dist/tools/modify/apply-graphic-style.js +100 -0
  39. package/dist/tools/modify/apply-graphic-style.js.map +1 -0
  40. package/dist/tools/modify/apply-text-style.d.ts +3 -0
  41. package/dist/tools/modify/apply-text-style.d.ts.map +1 -0
  42. package/dist/tools/modify/apply-text-style.js +117 -0
  43. package/dist/tools/modify/apply-text-style.js.map +1 -0
  44. package/dist/tools/modify/close-document.d.ts.map +1 -1
  45. package/dist/tools/modify/close-document.js +9 -9
  46. package/dist/tools/modify/close-document.js.map +1 -1
  47. package/dist/tools/modify/convert-to-outlines.d.ts.map +1 -1
  48. package/dist/tools/modify/convert-to-outlines.js +7 -29
  49. package/dist/tools/modify/convert-to-outlines.js.map +1 -1
  50. package/dist/tools/modify/create-document.d.ts.map +1 -1
  51. package/dist/tools/modify/create-document.js +8 -6
  52. package/dist/tools/modify/create-document.js.map +1 -1
  53. package/dist/tools/modify/create-ellipse.d.ts.map +1 -1
  54. package/dist/tools/modify/create-ellipse.js +15 -32
  55. package/dist/tools/modify/create-ellipse.js.map +1 -1
  56. package/dist/tools/modify/create-gradient.d.ts +3 -0
  57. package/dist/tools/modify/create-gradient.d.ts.map +1 -0
  58. package/dist/tools/modify/create-gradient.js +111 -0
  59. package/dist/tools/modify/create-gradient.js.map +1 -0
  60. package/dist/tools/modify/create-line.d.ts.map +1 -1
  61. package/dist/tools/modify/create-line.js +16 -36
  62. package/dist/tools/modify/create-line.js.map +1 -1
  63. package/dist/tools/modify/create-path-text.d.ts +3 -0
  64. package/dist/tools/modify/create-path-text.d.ts.map +1 -0
  65. package/dist/tools/modify/create-path-text.js +85 -0
  66. package/dist/tools/modify/create-path-text.js.map +1 -0
  67. package/dist/tools/modify/create-path.d.ts.map +1 -1
  68. package/dist/tools/modify/create-path.js +18 -38
  69. package/dist/tools/modify/create-path.js.map +1 -1
  70. package/dist/tools/modify/create-rectangle.d.ts.map +1 -1
  71. package/dist/tools/modify/create-rectangle.js +16 -32
  72. package/dist/tools/modify/create-rectangle.js.map +1 -1
  73. package/dist/tools/modify/create-text-frame.d.ts.map +1 -1
  74. package/dist/tools/modify/create-text-frame.js +27 -40
  75. package/dist/tools/modify/create-text-frame.js.map +1 -1
  76. package/dist/tools/modify/duplicate-objects.d.ts +3 -0
  77. package/dist/tools/modify/duplicate-objects.d.ts.map +1 -0
  78. package/dist/tools/modify/duplicate-objects.js +97 -0
  79. package/dist/tools/modify/duplicate-objects.js.map +1 -0
  80. package/dist/tools/modify/group-objects.d.ts +3 -0
  81. package/dist/tools/modify/group-objects.d.ts.map +1 -0
  82. package/dist/tools/modify/group-objects.js +79 -0
  83. package/dist/tools/modify/group-objects.js.map +1 -0
  84. package/dist/tools/modify/manage-artboards.d.ts +3 -0
  85. package/dist/tools/modify/manage-artboards.d.ts.map +1 -0
  86. package/dist/tools/modify/manage-artboards.js +142 -0
  87. package/dist/tools/modify/manage-artboards.js.map +1 -0
  88. package/dist/tools/modify/manage-datasets.d.ts +3 -0
  89. package/dist/tools/modify/manage-datasets.d.ts.map +1 -0
  90. package/dist/tools/modify/manage-datasets.js +126 -0
  91. package/dist/tools/modify/manage-datasets.js.map +1 -0
  92. package/dist/tools/modify/manage-layers.d.ts +3 -0
  93. package/dist/tools/modify/manage-layers.d.ts.map +1 -0
  94. package/dist/tools/modify/manage-layers.js +141 -0
  95. package/dist/tools/modify/manage-layers.js.map +1 -0
  96. package/dist/tools/modify/manage-linked-images.d.ts +3 -0
  97. package/dist/tools/modify/manage-linked-images.d.ts.map +1 -0
  98. package/dist/tools/modify/manage-linked-images.js +96 -0
  99. package/dist/tools/modify/manage-linked-images.js.map +1 -0
  100. package/dist/tools/modify/manage-swatches.d.ts +3 -0
  101. package/dist/tools/modify/manage-swatches.d.ts.map +1 -0
  102. package/dist/tools/modify/manage-swatches.js +78 -0
  103. package/dist/tools/modify/manage-swatches.js.map +1 -0
  104. package/dist/tools/modify/modify-object.d.ts.map +1 -1
  105. package/dist/tools/modify/modify-object.js +31 -47
  106. package/dist/tools/modify/modify-object.js.map +1 -1
  107. package/dist/tools/modify/move-to-layer.d.ts +3 -0
  108. package/dist/tools/modify/move-to-layer.d.ts.map +1 -0
  109. package/dist/tools/modify/move-to-layer.js +73 -0
  110. package/dist/tools/modify/move-to-layer.js.map +1 -0
  111. package/dist/tools/modify/open-document.d.ts +3 -0
  112. package/dist/tools/modify/open-document.d.ts.map +1 -0
  113. package/dist/tools/modify/open-document.js +72 -0
  114. package/dist/tools/modify/open-document.js.map +1 -0
  115. package/dist/tools/modify/place-color-chips.d.ts +3 -0
  116. package/dist/tools/modify/place-color-chips.d.ts.map +1 -0
  117. package/dist/tools/modify/place-color-chips.js +218 -0
  118. package/dist/tools/modify/place-color-chips.js.map +1 -0
  119. package/dist/tools/modify/place-image.d.ts.map +1 -1
  120. package/dist/tools/modify/place-image.js +26 -35
  121. package/dist/tools/modify/place-image.js.map +1 -1
  122. package/dist/tools/modify/place-symbol.d.ts +3 -0
  123. package/dist/tools/modify/place-symbol.d.ts.map +1 -0
  124. package/dist/tools/modify/place-symbol.js +96 -0
  125. package/dist/tools/modify/place-symbol.js.map +1 -0
  126. package/dist/tools/modify/replace-color.d.ts +3 -0
  127. package/dist/tools/modify/replace-color.d.ts.map +1 -0
  128. package/dist/tools/modify/replace-color.js +136 -0
  129. package/dist/tools/modify/replace-color.js.map +1 -0
  130. package/dist/tools/modify/resize-for-variation.d.ts +3 -0
  131. package/dist/tools/modify/resize-for-variation.d.ts.map +1 -0
  132. package/dist/tools/modify/resize-for-variation.js +169 -0
  133. package/dist/tools/modify/resize-for-variation.js.map +1 -0
  134. package/dist/tools/modify/save-document.d.ts +3 -0
  135. package/dist/tools/modify/save-document.d.ts.map +1 -0
  136. package/dist/tools/modify/save-document.js +63 -0
  137. package/dist/tools/modify/save-document.js.map +1 -0
  138. package/dist/tools/modify/set-z-order.d.ts +3 -0
  139. package/dist/tools/modify/set-z-order.d.ts.map +1 -0
  140. package/dist/tools/modify/set-z-order.js +60 -0
  141. package/dist/tools/modify/set-z-order.js.map +1 -0
  142. package/dist/tools/modify/shared.d.ts +49 -1
  143. package/dist/tools/modify/shared.d.ts.map +1 -1
  144. package/dist/tools/modify/shared.js +48 -4
  145. package/dist/tools/modify/shared.js.map +1 -1
  146. package/dist/tools/modify/undo.d.ts +3 -0
  147. package/dist/tools/modify/undo.d.ts.map +1 -0
  148. package/dist/tools/modify/undo.js +64 -0
  149. package/dist/tools/modify/undo.js.map +1 -0
  150. package/dist/tools/modify/ungroup-objects.d.ts +3 -0
  151. package/dist/tools/modify/ungroup-objects.d.ts.map +1 -0
  152. package/dist/tools/modify/ungroup-objects.js +67 -0
  153. package/dist/tools/modify/ungroup-objects.js.map +1 -0
  154. package/dist/tools/read/check-contrast.d.ts +3 -0
  155. package/dist/tools/read/check-contrast.d.ts.map +1 -0
  156. package/dist/tools/read/check-contrast.js +239 -0
  157. package/dist/tools/read/check-contrast.js.map +1 -0
  158. package/dist/tools/read/convert-coordinate.d.ts +3 -0
  159. package/dist/tools/read/convert-coordinate.d.ts.map +1 -0
  160. package/dist/tools/read/convert-coordinate.js +74 -0
  161. package/dist/tools/read/convert-coordinate.js.map +1 -0
  162. package/dist/tools/read/extract-design-tokens.d.ts +3 -0
  163. package/dist/tools/read/extract-design-tokens.d.ts.map +1 -0
  164. package/dist/tools/read/extract-design-tokens.js +258 -0
  165. package/dist/tools/read/extract-design-tokens.js.map +1 -0
  166. package/dist/tools/read/find-objects.d.ts.map +1 -1
  167. package/dist/tools/read/find-objects.js +16 -37
  168. package/dist/tools/read/find-objects.js.map +1 -1
  169. package/dist/tools/read/get-artboards.d.ts.map +1 -1
  170. package/dist/tools/read/get-artboards.js +15 -13
  171. package/dist/tools/read/get-artboards.js.map +1 -1
  172. package/dist/tools/read/get-colors.d.ts.map +1 -1
  173. package/dist/tools/read/get-colors.js +93 -15
  174. package/dist/tools/read/get-colors.js.map +1 -1
  175. package/dist/tools/read/get-document-info.d.ts.map +1 -1
  176. package/dist/tools/read/get-document-info.js +47 -19
  177. package/dist/tools/read/get-document-info.js.map +1 -1
  178. package/dist/tools/read/get-document-structure.d.ts.map +1 -1
  179. package/dist/tools/read/get-document-structure.js +16 -24
  180. package/dist/tools/read/get-document-structure.js.map +1 -1
  181. package/dist/tools/read/get-effects.d.ts.map +1 -1
  182. package/dist/tools/read/get-effects.js +32 -43
  183. package/dist/tools/read/get-effects.js.map +1 -1
  184. package/dist/tools/read/get-groups.d.ts.map +1 -1
  185. package/dist/tools/read/get-groups.js +22 -26
  186. package/dist/tools/read/get-groups.js.map +1 -1
  187. package/dist/tools/read/get-guidelines.d.ts.map +1 -1
  188. package/dist/tools/read/get-guidelines.js +13 -16
  189. package/dist/tools/read/get-guidelines.js.map +1 -1
  190. package/dist/tools/read/get-images.d.ts.map +1 -1
  191. package/dist/tools/read/get-images.js +43 -25
  192. package/dist/tools/read/get-images.js.map +1 -1
  193. package/dist/tools/read/get-layers.d.ts.map +1 -1
  194. package/dist/tools/read/get-layers.js +14 -15
  195. package/dist/tools/read/get-layers.js.map +1 -1
  196. package/dist/tools/read/get-overprint-info.d.ts.map +1 -1
  197. package/dist/tools/read/get-overprint-info.js +72 -63
  198. package/dist/tools/read/get-overprint-info.js.map +1 -1
  199. package/dist/tools/read/get-path-items.d.ts.map +1 -1
  200. package/dist/tools/read/get-path-items.js +26 -20
  201. package/dist/tools/read/get-path-items.js.map +1 -1
  202. package/dist/tools/read/get-selection.d.ts.map +1 -1
  203. package/dist/tools/read/get-selection.js +19 -33
  204. package/dist/tools/read/get-selection.js.map +1 -1
  205. package/dist/tools/read/get-separation-info.d.ts +3 -0
  206. package/dist/tools/read/get-separation-info.d.ts.map +1 -0
  207. package/dist/tools/read/get-separation-info.js +94 -0
  208. package/dist/tools/read/get-separation-info.js.map +1 -0
  209. package/dist/tools/read/get-symbols.d.ts.map +1 -1
  210. package/dist/tools/read/get-symbols.js +19 -23
  211. package/dist/tools/read/get-symbols.js.map +1 -1
  212. package/dist/tools/read/get-text-frame-detail.d.ts.map +1 -1
  213. package/dist/tools/read/get-text-frame-detail.js +270 -67
  214. package/dist/tools/read/get-text-frame-detail.js.map +1 -1
  215. package/dist/tools/read/list-fonts.d.ts +3 -0
  216. package/dist/tools/read/list-fonts.d.ts.map +1 -0
  217. package/dist/tools/read/list-fonts.js +78 -0
  218. package/dist/tools/read/list-fonts.js.map +1 -0
  219. package/dist/tools/read/list-text-frames.d.ts.map +1 -1
  220. package/dist/tools/read/list-text-frames.js +99 -36
  221. package/dist/tools/read/list-text-frames.js.map +1 -1
  222. package/dist/tools/registry.d.ts.map +1 -1
  223. package/dist/tools/registry.js +60 -0
  224. package/dist/tools/registry.js.map +1 -1
  225. package/dist/tools/session.d.ts +36 -0
  226. package/dist/tools/session.d.ts.map +1 -0
  227. package/dist/tools/session.js +246 -0
  228. package/dist/tools/session.js.map +1 -0
  229. package/dist/tools/utility/check-text-consistency.d.ts +3 -0
  230. package/dist/tools/utility/check-text-consistency.d.ts.map +1 -0
  231. package/dist/tools/utility/check-text-consistency.js +303 -0
  232. package/dist/tools/utility/check-text-consistency.js.map +1 -0
  233. package/dist/tools/utility/preflight-check.d.ts.map +1 -1
  234. package/dist/tools/utility/preflight-check.js +141 -43
  235. package/dist/tools/utility/preflight-check.js.map +1 -1
  236. package/dist/tools/utility/set-workflow.d.ts +3 -0
  237. package/dist/tools/utility/set-workflow.d.ts.map +1 -0
  238. package/dist/tools/utility/set-workflow.js +95 -0
  239. package/dist/tools/utility/set-workflow.js.map +1 -0
  240. package/dist/utils/image-header.d.ts.map +1 -1
  241. package/dist/utils/image-header.js +5 -1
  242. package/dist/utils/image-header.js.map +1 -1
  243. package/package.json +1 -1
package/README.ja.md CHANGED
@@ -7,6 +7,7 @@
7
7
  [![Platform](https://img.shields.io/badge/Platform-macOS%20%7C%20Windows-lightgrey.svg)]()
8
8
  [![Illustrator](https://img.shields.io/badge/Illustrator-CC%202024%2B-orange.svg)](https://www.adobe.com/products/illustrator.html)
9
9
  [![MCP](https://img.shields.io/badge/MCP-Compatible-purple.svg)](https://modelcontextprotocol.io/)
10
+ [![Ko-fi](https://img.shields.io/badge/Ko--fi-FF5E5B?style=flat&logo=ko-fi&logoColor=white)](https://ko-fi.com/cyocun)
10
11
 
11
12
  Adobe Illustrator のデザインデータを読み取り・操作・書き出しする [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) サーバー。
12
13
 
@@ -14,115 +15,511 @@ Claude などの AI アシスタントから Illustrator を直接操作し、We
14
15
 
15
16
  ---
16
17
 
17
- ## 使用例
18
+ ## クイックスタート
18
19
 
19
- **デザインデータの取得:**
20
+ **必要なもの:** macOS または Windows / Adobe Illustrator CC 2024+ / [Node.js 20+](https://nodejs.org/)
21
+
22
+ <details>
23
+ <summary><strong>Node.js のインストール方法(初めての方はこちら)</strong></summary>
24
+
25
+ Node.js は、このツールを動かすために必要なソフトウェアです。
26
+ すでにインストール済みの方はスキップしてください。
27
+
28
+ 1. [nodejs.org](https://nodejs.org/) を開く
29
+ 2. **「LTS」と書かれた緑色のボタン**をクリックしてダウンロード
30
+ 3. ダウンロードしたファイルを開き、画面の指示に従ってインストール
31
+
32
+ インストールできたか確認するには、ターミナル(macOS)またはコマンドプロンプト(Windows)を開いて以下を入力します:
33
+
34
+ ```bash
35
+ node -v
20
36
  ```
21
- あなた: このドキュメントのテキスト情報を全部教えて
22
- Claude: → list_text_frames get_text_frame_detail を実行
23
- ドキュメント内に 12 個のテキストフレームがあります。
24
- 見出し「My Design」はフォント Noto Sans JP Bold 48px、色 #333333 ...
37
+
38
+ `v20.x.x` のようにバージョン番号が表示されれば OK です。
39
+
40
+ </details>
41
+
42
+ ### Claude Code
43
+
44
+ ```bash
45
+ claude mcp add illustrator-mcp -- npx illustrator-mcp-server
46
+ ```
47
+
48
+ ### Claude Desktop
49
+
50
+ 設定ファイルを開いて、接続情報を書き込みます。
51
+
52
+ <details>
53
+ <summary><strong>手順を表示</strong></summary>
54
+
55
+ #### 1. 設定ファイルを開く
56
+
57
+ Claude Desktop のメニューバーから:
58
+
59
+ **Claude** → **設定** → 左サイドバーの **開発者** → **設定を編集** ボタンをクリック
60
+
61
+ Finderに `claude_desktop_config.json` ファイルが表示されるので、
62
+ テキストエディタで `claude_desktop_config.json` を開きます。
63
+
64
+ #### 2. 設定を書き込む
65
+
66
+ ファイルが空、または `{}` だけの場合は、**中身をすべて消して**以下をそのままコピー&ペーストしてください:
67
+
68
+ ```json
69
+ {
70
+ "mcpServers": {
71
+ "illustrator": {
72
+ "command": "npx",
73
+ "args": ["illustrator-mcp-server"]
74
+ }
75
+ }
76
+ }
25
77
  ```
26
78
 
27
- **SVG 書き出し:**
79
+ > すでに他の MCP サーバーが設定されている場合は、`"mcpServers": {` の中に `"illustrator": { ... }` ブロックを追加してください。カンマの付け忘れに注意。
80
+
81
+ ```json
82
+ "mcpServers": {
83
+ "他のサーバ": {
84
+ 他のサーバーの設定...
85
+ },
86
+ "illustrator": {
87
+ "command": "npx",
88
+ "args": ["illustrator-mcp-server"]
89
+ }
90
+ }
28
91
  ```
29
- あなた: アートボード「pc」をSVGで書き出して。テキストはアウトライン化して
30
- Claude: → get_artboards → export を実行
31
- /path/to/output.svg に書き出しました(テキストアウトライン化済み)
92
+
93
+ #### 3. 保存して再起動
94
+
95
+ 1. ファイルを保存(⌘S)してテキストエディタを閉じる
96
+ 2. Claude Desktop を **完全に終了**(⌘Q)して再度開く
97
+ 3. **Claude** → **設定** → **開発者** を開き、illustrator サーバーが表示されていれば接続成功です
98
+
99
+ </details>
100
+
101
+
102
+ > **macOS:** 初回実行時にオートメーション権限ダイアログが表示されます。システム設定 > プライバシーとセキュリティ > オートメーション で許可してください。
103
+
104
+ > **Note:** 操作系・書き出し系ツールの実行時、Illustrator がフォアグラウンドに切り替わります。
105
+
106
+ ---
107
+
108
+ ## こんなことができます
109
+
110
+ ```
111
+ あなた: このドキュメントのテキスト情報を全部教えて
112
+ Claude: → list_text_frames → get_text_frame_detail
113
+ ドキュメント内に 12 個のテキストフレームがあります。
114
+ 見出し「My Design」はフォント Noto Sans JP Bold 48px、色 #333333 ...
32
115
  ```
33
116
 
34
- **入稿前チェック:**
35
117
  ```
36
118
  あなた: 印刷入稿前のチェックをして
37
- Claude: → preflight_check を実行
119
+ Claude: → preflight_check
38
120
  ⚠ 2件の警告:
39
121
  - 低解像度画像: image_01.jpg (150dpi) — 300dpi 以上を推奨
40
122
  - 非アウトラインフォント: 3 個のテキストフレーム
41
123
  ```
42
124
 
43
- **オブジェクト操作:**
44
125
  ```
45
- あなた: 赤い矩形を作って、左上に配置して
46
- Claude: → create_rectangle を実行
47
- 200×100 の赤い矩形を (0, 0) に作成しました (uuid: abc-123...)
126
+ あなた: テキストの表記揺れをチェックして
127
+ Claude: → check_text_consistency
128
+ 📝 表記揺れレポート:
129
+ ⚠ "お問い合わせ" (2箇所) vs "お問合せ" (1箇所)
130
+ ⚠ "〜" vs "~" — 波ダッシュ vs 全角チルダ
131
+ ❌ "テキストが入ります" (2箇所) — ダミーテキスト残存
132
+ ```
133
+
134
+ ```
135
+ あなた: この A4 チラシからバナーサイズ展開を作って
136
+ Claude: → get_document_info → resize_for_variation
137
+ 3 サイズのバリエーションを作成しました:
138
+ - 728×90 / 300×250 / 160×600
48
139
  ```
49
140
 
50
141
  ---
51
142
 
52
- ## 特徴
143
+ ## 使い方レシピ集
53
144
 
54
- - **26 ツール** — 読み取り 15 / 操作 8 / 書き出し 2 / ユーティリティ 1
55
- - **Web 座標系** — デフォルトでアートボード相対・Y 軸下向き正(CSS/SVG と同じ座標系)
56
- - **UUID トラッキング** — 全オブジェクトを `pageItem.note` の UUID で一意に識別
57
- - **排他制御** — `p-limit(1)` による JSX 実行の直列化(Illustrator はシングルスレッド)
58
- - **安全なファイル経由通信** — 入出力とも JSON ファイル経由で統一(JSX インジェクション防止)
59
- - **日本語対応** — BOM 付き UTF-8 で JSX を保存(文字化け防止)
145
+ ### Web 実装
60
146
 
61
- ---
147
+ <details>
148
+ <summary><b>デザインカンプから CSS 用の色・フォント情報を抜き出したい</b></summary>
62
149
 
63
- ## 前提条件
150
+ ```
151
+ あなた: このデザインの色とフォント情報をまとめて
64
152
 
65
- | 要件 | バージョン |
66
- |---|---|
67
- | macOS または Windows | macOS: osascript / Windows: PowerShell COM(実機未検証) |
68
- | Adobe Illustrator | CC 2024 以降 |
69
- | Node.js | 20 以降 |
153
+ Claude: → get_colors list_text_frames → get_text_frame_detail
70
154
 
71
- > **macOS:** 初回実行時にオートメーション権限ダイアログが表示されます。
72
- > システム設定 > プライバシーとセキュリティ > オートメーション で許可してください。
155
+ カラーパレット
156
+ - Primary: #1A73E8 (CMYK: 85,50,0,0)
157
+ - Secondary: #34A853
158
+ - Text: #202124
159
+ - Background: #FFFFFF
73
160
 
74
- > **Note:** 操作系・書き出し系ツールの実行時、Illustrator がフォアグラウンドに切り替わります。Illustrator はアクティブな状態でないとこれらの処理を実行できないためです。
161
+ フォント
162
+ - 見出し: Noto Sans JP Bold / 32px
163
+ - 本文: Noto Sans JP Regular / 16px / line-height: 1.75
164
+ - キャプション: Noto Sans JP Medium / 12px
165
+ ```
75
166
 
76
- ---
167
+ </details>
77
168
 
78
- ## セットアップ
169
+ <details>
170
+ <summary><b>アートボードごとに SVG / PNG を書き出したい</b></summary>
79
171
 
80
- ### Claude Code
172
+ ```
173
+ あなた: 全アートボードを SVG で書き出して。テキストはアウトライン化して
81
174
 
82
- ```bash
83
- claude mcp add illustrator-mcp -- npx illustrator-mcp-server
175
+ Claude: → get_artboards → convert_to_outlines → export (繰り返し)
176
+
177
+ 4 アートボードを書き出しました:
178
+ - /output/header.svg (アートボード "header")
179
+ - /output/hero.svg (アートボード "hero")
180
+ - /output/feature.svg (アートボード "feature")
181
+ - /output/footer.svg (アートボード "footer")
84
182
  ```
85
183
 
86
- ### Claude Desktop
184
+ </details>
87
185
 
88
- `claude_desktop_config.json` に追加:
89
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
90
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
186
+ <details>
187
+ <summary><b>特定のオブジェクトのスタイル情報を知りたい</b></summary>
91
188
 
92
- ```json
93
- {
94
- "mcpServers": {
95
- "illustrator": {
96
- "command": "npx",
97
- "args": ["illustrator-mcp-server"]
98
- }
99
- }
100
- }
101
189
  ```
190
+ あなた: 「CTA ボタン」という名前のオブジェクトの情報を教えて
102
191
 
103
- 保存後、Claude Desktop を再起動してください。入力欄にMCPサーバーのインジケーター(ハンマーアイコン)が表示されます。
192
+ Claude: → find_objects (name: "CTA ボタン") → get_path_items → get_effects
104
193
 
105
- ### ソースから
194
+ CTA ボタン (uuid: abc-123)
195
+ - サイズ: 200×48px
196
+ - 角丸: 24px
197
+ - 塗り: #1A73E8
198
+ - 線: なし
199
+ - 不透明度: 100%
200
+ - ドロップシャドウ: あり(パラメータは API 制限のため取得不可)
201
+ ```
202
+
203
+ </details>
204
+
205
+ ### 印刷・入稿
206
+
207
+ <details>
208
+ <summary><b>入稿データを PDF/X-1a 準拠でチェックしたい</b></summary>
106
209
 
107
- ```bash
108
- git clone https://github.com/ie3jp/illustrator-mcp-server.git
109
- cd illustrator-mcp-server
110
- npm install
111
- npm run build
112
- claude mcp add illustrator-mcp -- node /path/to/illustrator-mcp-server/dist/index.js
113
210
  ```
211
+ あなた: PDF/X-1a で入稿したい。問題ないかチェックして
114
212
 
115
- ### 動作確認
213
+ Claude: → preflight_check (target_pdf_profile: "x1a")
214
+
215
+ ❌ PDF/X-1a 準拠エラー:
216
+ - 透明効果が 3 オブジェクトに存在(X-1a は透明禁止)
217
+ - RGB カラーが 2 箇所に残存(X-1a は CMYK/特色のみ)
218
+
219
+ ⚠ 警告:
220
+ - 非アウトラインフォント 5 個(埋め込み推奨)
221
+ - 画像 "photo_02.jpg" が 150dpi(300dpi 以上推奨)
222
+
223
+ → 透明を分割統合し、RGB をCMYK に変換してから再チェックしてください。
224
+ ```
225
+
226
+ </details>
227
+
228
+ <details>
229
+ <summary><b>オーバープリントの設定を確認して事故を防ぎたい</b></summary>
230
+
231
+ ```
232
+ あなた: オーバープリントの状態を確認して
233
+
234
+ Claude: → get_overprint_info
235
+
236
+ ■ オーバープリント検出: 4 オブジェクト
237
+
238
+ ✅ 安全 (K100 オーバープリント — 意図的):
239
+ - テキスト枠 "見出し" (K100, インク総量 100%)
240
+ - パス "罫線" (K100, インク総量 100%)
241
+
242
+ ⚠ 要確認 (事故の可能性):
243
+ - パス "背景装飾" (C30 M80 Y0 K0, インク総量 110%)
244
+ → カラーオブジェクトのオーバープリントは意図的ですか?
245
+ - パス "リッチブラック枠" (C40 M40 Y40 K100, インク総量 320%)
246
+ → リッチブラック + オーバープリントは予期しない色被りの原因になります
247
+ ```
248
+
249
+ </details>
250
+
251
+ <details>
252
+ <summary><b>色分解(版情報)を確認したい</b></summary>
253
+
254
+ ```
255
+ あなた: このドキュメントの色分解情報を教えて
256
+
257
+ Claude: → get_separation_info
258
+
259
+ ■ 色分解情報 (CMYK ドキュメント)
260
+ - Cyan: 使用箇所 342
261
+ - Magenta: 使用箇所 287
262
+ - Yellow: 使用箇所 301
263
+ - Black: 使用箇所 456
264
+ - DIC 2585 (スポットカラー): 使用箇所 12
265
+ → 5 版での出力になります。スポットカラーが意図的か確認してください。
266
+ ```
267
+
268
+ </details>
269
+
270
+ <details>
271
+ <summary><b>印刷用 PDF をトンボ付きで書き出したい</b></summary>
272
+
273
+ ```
274
+ あなた: 日本式トンボ付き、裁ち落とし3mm で PDF 書き出して
275
+
276
+ Claude: → export_pdf (trim_marks: true, marks_style: "japanese", bleed: true)
277
+
278
+ /output/print_ready.pdf に書き出しました。
279
+ - 日本式トンボ (0.125pt)
280
+ - 裁ち落とし 3mm
281
+ - レジストレーションマーク自動付与
282
+ ```
283
+
284
+ </details>
285
+
286
+ <details>
287
+ <summary><b>画像の色空間やスケール率を確認して品質を担保したい</b></summary>
288
+
289
+ ```
290
+ あなた: 配置画像の印刷品質をチェックして
291
+
292
+ Claude: → get_images (include_print_info: true)
293
+
294
+ ■ 画像品質レポート:
295
+ ✅ hero.psd — CMYK, 350dpi, スケール 98%
296
+ ⚠ icon_set.png — RGB (CMYK ドキュメントと不一致), 300dpi, スケール 100%
297
+ ❌ photo_bg.jpg — CMYK, 72dpi, スケール 400% (大幅拡大)
298
+ → 原寸 300dpi 以上の画像に差し替えてください
299
+ ```
300
+
301
+ </details>
302
+
303
+ ### テキスト校正
304
+
305
+ <details>
306
+ <summary><b>テキストの表記揺れやダミーテキストの消し忘れを見つけたい</b></summary>
307
+
308
+ ```
309
+ あなた: テキストの表記揺れをチェックして
310
+
311
+ Claude: → check_text_consistency
312
+
313
+ 📝 表記揺れレポート:
314
+
315
+ ■ 表記揺れ(同じ意味で異なる表記)
316
+ ⚠ "お問い合わせ" (2箇所) vs "お問合せ" (1箇所)
317
+ ⚠ "ウェブサイト" (1箇所) vs "Webサイト" (3箇所) vs "WEBサイト" (1箇所)
318
+ ⚠ "〜" (2箇所) vs "~" (1箇所) ← 波ダッシュ vs 全角チルダ
319
+ ⚠ "サーバー" (3箇所) vs "サーバ" (1箇所)
320
+
321
+ ■ 差し替え漏れの可能性
322
+ ❌ ヘッダーに "2024年度" が残っています(他は全て "2025年度")
323
+ ❌ フッターの電話番号が "03-XXXX-1234"(他のページは "03-XXXX-5678")
324
+
325
+ ■ ダミーテキストの残存
326
+ ❌ "テキストが入ります" (2箇所) — 仮テキストの消し忘れ?
327
+ ❌ "Lorem ipsum" (1箇所)
328
+ ```
329
+
330
+ </details>
331
+
332
+ ### デザイン展開
333
+
334
+ <details>
335
+ <summary><b>チラシやバナーのサイズ違い展開を一括で作りたい</b></summary>
336
+
337
+ ```
338
+ あなた: この A4 チラシから Web バナー 3 サイズ作って
339
+
340
+ Claude: → get_document_info → resize_for_variation (3 targets)
341
+
342
+ 3 つのバリエーションを作成しました:
343
+ - アートボード "Leaderboard" (728×90pt, 縮小率 11%)
344
+ - アートボード "Medium Rectangle" (300×250pt, 縮小率 30%)
345
+ - アートボード "Wide Skyscraper" (160×600pt, 縮小率 71%)
346
+
347
+ ⚠ テキストのリフローは行っていません。
348
+ はみ出しや文字サイズの調整が必要な場合があります。
349
+ ```
350
+
351
+ </details>
352
+
353
+ <details>
354
+ <summary><b>レイアウト用の図形やテキストをまとめて配置したい</b></summary>
355
+
356
+ ```
357
+ あなた: 名刺のレイアウトを作って。社名、名前、メールアドレス、電話番号
358
+
359
+ Claude: → create_document (91×55mm, CMYK)
360
+ → create_text_frame × 4
361
+ → create_rectangle (背景)
362
+ → create_line (区切り線)
363
+
364
+ 名刺レイアウトを作成しました:
365
+ - 社名: 上部中央 / Noto Sans JP Bold 9pt
366
+ - 氏名: 中央 / Noto Sans JP Bold 14pt
367
+ - メール: 下部 / Noto Sans JP Regular 7pt
368
+ - 電話: 下部 / Noto Sans JP Regular 7pt
369
+ ```
370
+
371
+ </details>
372
+
373
+ ### オブジェクト操作
374
+
375
+ <details>
376
+ <summary><b>複数オブジェクトを整列・等間隔分布したい</b></summary>
377
+
378
+ ```
379
+ あなた: ボタン3つを左揃えにして、縦に等間隔で並べて
380
+
381
+ Claude: → find_objects → align_objects (alignment: "left", distribute: "vertical")
382
+
383
+ 3 オブジェクトを左揃え + 縦等間隔分布しました。
384
+ ```
385
+
386
+ </details>
387
+
388
+ <details>
389
+ <summary><b>ブランドカラーを一括で差し替えたい</b></summary>
390
+
391
+ ```
392
+ あなた: 赤 (C0 M100 Y100 K0) を全部、新しいブランドカラー (C80 M10 Y0 K0) に変えて
393
+
394
+ Claude: → replace_color (from: cmyk 0,100,100,0 → to: cmyk 80,10,0,0)
395
+
396
+ 塗り 24 箇所 / 線 3 箇所を置換しました。
397
+ ```
398
+
399
+ </details>
400
+
401
+ <details>
402
+ <summary><b>使用カラーの一覧をカラーチップとして配置したい</b></summary>
403
+
404
+ ```
405
+ あなた: 使ってる色をアートボードの右にカラーチップとして並べて
406
+
407
+ Claude: → place_color_chips (position: "right")
408
+
409
+ 12 色のカラーチップを "Color Chips" レイヤーに配置しました。
410
+ 各チップに CMYK 値のラベル付き。
411
+ ```
412
+
413
+ </details>
414
+
415
+ ### カラー管理
416
+
417
+ <details>
418
+ <summary><b>CMYK ドキュメントに RGB が混在していないか調べたい</b></summary>
419
+
420
+ ```
421
+ あなた: カラーの問題を診断して
422
+
423
+ Claude: → get_colors (include_diagnostics: true)
424
+
425
+ ■ カラー診断 (CMYK ドキュメント)
426
+ ❌ RGB カラー混在: 塗り 3 箇所 / 線 1 箇所
427
+ ⚠ グラデーション警告:
428
+ - "Rainbow gradient": ストップ #2 が RGB
429
+ ■ インク総量が高い色:
430
+ - C80 M70 Y70 K90 (総量 310%) — 紙面によってはインク過多
431
+ ```
432
+
433
+ </details>
434
+
435
+ ### アクセシビリティ
436
+
437
+ <details>
438
+ <summary><b>テキストと背景のコントラスト比を WCAG 基準でチェックしたい</b></summary>
439
+
440
+ ```
441
+ あなた: テキストのコントラスト比をチェックして
442
+
443
+ Claude: → check_contrast (auto_detect: true)
444
+
445
+ ■ WCAG コントラスト比レポート:
446
+ ❌ "注釈テキスト" on "薄いグレー背景" — 2.8:1 (AA 不適合)
447
+ ⚠ "サブ見出し" on "白背景" — 4.2:1 (AA Large OK, AA Normal NG)
448
+ ✅ "本文テキスト" on "白背景" — 12.1:1 (AAA 適合)
449
+ ```
450
+
451
+ </details>
452
+
453
+ ### デザインシステム連携
454
+
455
+ <details>
456
+ <summary><b>デザインカンプからデザイントークンを抽出したい</b></summary>
457
+
458
+ ```
459
+ あなた: CSS カスタムプロパティとしてデザイントークンを抽出して
460
+
461
+ Claude: → extract_design_tokens (format: "css")
462
+
463
+ :root {
464
+ --color-primary: #1A73E8;
465
+ --color-secondary: #34A853;
466
+ --color-tertiary: #FBBC04;
467
+
468
+ --font-heading-family: "NotoSansJP-Bold";
469
+ --font-heading-size: 32pt;
470
+ --font-body-family: "NotoSansJP-Regular";
471
+ --font-body-size: 16pt;
472
+
473
+ --spacing-8: 8pt;
474
+ --spacing-16: 16pt;
475
+ --spacing-24: 24pt;
476
+ }
477
+ ```
478
+
479
+ </details>
480
+
481
+ ## MCP Prompts
482
+
483
+ ワークフロー全体を Claude に指示するプロンプトテンプレート。Claude Desktop のプロンプト一覧から選択できます。
484
+
485
+ | Prompt | 概要 |
486
+ |--------|------|
487
+ | `quick-layout` | テキスト原稿を渡すと、見出し・本文・キャプションを推測してアートボード上にざっくり配置 |
488
+ | `print-preflight-workflow` | 印刷入稿前の7ステップ包括チェック(ドキュメント情報→プリフライト→オーバープリント→色分解→画像→カラー→テキスト) |
489
+
490
+ ---
491
+
492
+ ## Claude Code Skills
493
+
494
+ MCP ツールを組み合わせたワークフローを、スラッシュコマンドとして Claude Code に追加できます。
495
+
496
+ ### 入稿前プリフライトチェック (`/illustrator-preflight`)
497
+
498
+ `preflight_check` + `get_overprint_info` + `check_text_consistency` を並列実行し、結果を重要度別(Critical / Warning / Info)に統合レポートします。印刷事故につながる問題を見落としなくチェックできます。
499
+
500
+ **インストール:**
116
501
 
117
502
  ```bash
118
- npx @modelcontextprotocol/inspector npx illustrator-mcp-server
503
+ /plugin install illustrator-preflight
119
504
  ```
120
505
 
506
+ **使い方:**
507
+
508
+ Claude Code で `/illustrator-preflight:illustrator-preflight` と入力するか、「入稿前チェックして」と依頼してください。
509
+
510
+ ---
511
+
512
+ ## 特徴
513
+
514
+ - **61 ツール + 2 Prompts** — 読み取り 21 / 操作 35 / 書き出し 2 / ユーティリティ 3
515
+ - **Web 座標系** — デフォルトでアートボード相対・Y 軸下向き正(CSS/SVG と同じ座標系)
516
+ - **UUID トラッキング** — 全オブジェクトを `pageItem.note` の UUID で一意に識別
517
+
121
518
  ---
122
519
 
123
520
  ## ツール一覧
124
521
 
125
- ### 読み取り系 (15)
522
+ ### 読み取り系 (21)
126
523
 
127
524
  <details>
128
525
  <summary>クリックして展開</summary>
@@ -135,19 +532,25 @@ npx @modelcontextprotocol/inspector npx illustrator-mcp-server
135
532
  | `get_document_structure` | レイヤー→グループ→オブジェクトのツリー一括取得 |
136
533
  | `list_text_frames` | テキストフレーム一覧(フォント、サイズ、スタイル名) |
137
534
  | `get_text_frame_detail` | 特定テキストの全属性(カーニング、段落設定等) |
138
- | `get_colors` | 使用カラー情報(スウォッチ、グラデーション、スポットカラー等) |
535
+ | `get_colors` | 使用カラー情報(スウォッチ、グラデーション、スポットカラー等)。`include_diagnostics` で印刷診断 |
139
536
  | `get_path_items` | パス・シェイプデータ(塗り、線、アンカーポイント) |
140
537
  | `get_groups` | グループ・クリッピングマスク・複合パスの構造 |
141
538
  | `get_effects` | エフェクト・アピアランス情報(不透明度、描画モード) |
142
- | `get_images` | 埋め込み/リンク画像の情報(解像度、リンク切れ検出) |
539
+ | `get_images` | 埋め込み/リンク画像の情報(解像度、リンク切れ検出)。`include_print_info` で色空間ミスマッチ・スケール率 |
143
540
  | `get_symbols` | シンボル定義とインスタンス |
144
541
  | `get_guidelines` | ガイドライン情報 |
542
+ | `get_overprint_info` | オーバープリント設定 + K100/リッチブラック検出・意図判定 |
543
+ | `get_separation_info` | 色分解情報(CMYK プロセス版 + スポットカラー版の使用数) |
145
544
  | `get_selection` | 選択中オブジェクトの詳細 |
146
545
  | `find_objects` | 条件検索(名前、タイプ、色、フォント等) |
546
+ | `check_contrast` | WCAG カラーコントラスト比チェック(手動 or 自動検出) |
547
+ | `extract_design_tokens` | デザイントークン抽出(CSS / JSON / Tailwind 形式) |
548
+ | `list_fonts` | Illustrator で利用可能なフォント一覧(ドキュメント不要) |
549
+ | `convert_coordinate` | アートボード座標系⇔ドキュメント座標系の変換 |
147
550
 
148
551
  </details>
149
552
 
150
- ### 操作系 (8)
553
+ ### 操作系 (35)
151
554
 
152
555
  <details>
153
556
  <summary>クリックして展開</summary>
@@ -159,9 +562,36 @@ npx @modelcontextprotocol/inspector npx illustrator-mcp-server
159
562
  | `create_line` | 直線の作成 |
160
563
  | `create_text_frame` | テキストフレームの作成(ポイント/エリア) |
161
564
  | `create_path` | 任意パスの作成(ベジェハンドル対応) |
565
+ | `place_image` | 画像ファイルの配置(リンク/埋め込み) |
162
566
  | `modify_object` | 既存オブジェクトのプロパティ変更 |
163
567
  | `convert_to_outlines` | テキストのアウトライン化 |
164
- | `apply_color_profile` | カラープロファイルの適用 |
568
+ | `assign_color_profile` | カラープロファイルの割り当て(色値の変換は行わない) |
569
+ | `create_document` | 新規ドキュメントの作成(サイズ、カラーモード指定) |
570
+ | `close_document` | アクティブドキュメントを閉じる |
571
+ | `resize_for_variation` | サイズ展開(ソースアートボードから複数サイズを一括生成) |
572
+ | `align_objects` | 複数オブジェクトの整列・等間隔分布 |
573
+ | `replace_color` | 色の一括検索・置換(許容誤差指定可) |
574
+ | `manage_layers` | レイヤーの追加/リネーム/表示/ロック/順序変更/削除 |
575
+ | `place_color_chips` | 使用カラーをアートボード外にカラーチップとして配置 |
576
+ | `save_document` | ドキュメントの上書き保存・別名保存 |
577
+ | `open_document` | ファイルパスからドキュメントを開く |
578
+ | `group_objects` | オブジェクトのグループ化(クリッピングマスク対応) |
579
+ | `ungroup_objects` | グループの解除 |
580
+ | `duplicate_objects` | オブジェクトの複製(オフセット指定可) |
581
+ | `set_z_order` | 重なり順の変更(最前面/前面/背面/最背面) |
582
+ | `move_to_layer` | オブジェクトを別レイヤーに移動 |
583
+ | `manage_artboards` | アートボードの追加・削除・リサイズ・リネーム・整列 |
584
+ | `manage_swatches` | スウォッチの追加・更新・削除 |
585
+ | `manage_linked_images` | リンク画像の差し替え・埋め込み |
586
+ | `manage_datasets` | 変数/データセットの一覧・適用・作成・インポート/エクスポート |
587
+ | `apply_graphic_style` | グラフィックスタイルの適用 |
588
+ | `list_graphic_styles` | グラフィックスタイル一覧の取得 |
589
+ | `apply_text_style` | 文字/段落スタイルの適用 |
590
+ | `list_text_styles` | 文字/段落スタイル一覧の取得 |
591
+ | `create_gradient` | グラデーションの作成・オブジェクトへの適用 |
592
+ | `create_path_text` | パスに沿ったテキストの作成 |
593
+ | `place_symbol` | シンボルインスタンスの配置・差し替え |
594
+ | `undo` | 操作の取り消し/やり直し(複数ステップ対応) |
165
595
 
166
596
  </details>
167
597
 
@@ -170,13 +600,15 @@ npx @modelcontextprotocol/inspector npx illustrator-mcp-server
170
600
  | ツール | 概要 |
171
601
  |---|---|
172
602
  | `export` | SVG / PNG / JPG 書き出し(アートボード、選択範囲、UUID 指定) |
173
- | `export_pdf` | 印刷用 PDF 書き出し(トンボ、裁ち落とし、ダウンサンプリング) |
603
+ | `export_pdf` | 印刷用 PDF 書き出し(トンボ、裁ち落とし、選択的ダウンサンプリング、出力インテント) |
174
604
 
175
- ### ユーティリティ (1)
605
+ ### ユーティリティ (3)
176
606
 
177
607
  | ツール | 概要 |
178
608
  |---|---|
179
- | `preflight_check` | 入稿前チェック(RGB 混在、リンク切れ、低解像度、白オーバープリント等) |
609
+ | `preflight_check` | 入稿前チェック(RGB 混在、リンク切れ、低解像度、白オーバープリント、透明+オーバープリント相互作用、PDF/X 適合等) |
610
+ | `check_text_consistency` | テキスト整合性チェック(ダミーテキスト検出、表記揺れパターン検出、全テキスト一覧) |
611
+ | `set_workflow` | ワークフロー設定(Web/Print モード切り替え、座標系デフォルト設定) |
180
612
 
181
613
  ---
182
614
 
@@ -198,16 +630,6 @@ flowchart LR
198
630
  Server -.->|generate| Runner["run-{uuid}.scpt / .ps1"]
199
631
  ```
200
632
 
201
- ### 通信フロー
202
-
203
- 1. Claude が MCP Server のツールを呼び出す
204
- 2. MCP Server がパラメータを JSON ファイルに書き出す
205
- 3. 共通ヘルパー + ツール固有コードを結合して BOM 付き UTF-8 の JSX ファイルを生成
206
- 4. macOS: AppleScript (.scpt) を生成し `osascript` で実行 / Windows: PowerShell (.ps1) を生成し COM 経由で実行
207
- 5. JSX が結果を JSON ファイルに書き出す
208
- 6. MCP Server が結果を読み取り、Claude に返す
209
- 7. 一時ファイルを `try/finally` でクリーンアップ
210
-
211
633
  ### 座標系
212
634
 
213
635
  座標を扱う read / modify ツールでは `coordinate_system` パラメータを受け付けます。export やドキュメント全体に対する utility ツールは、座標変換に依存しないため受け付けません。
@@ -219,17 +641,33 @@ flowchart LR
219
641
 
220
642
  ---
221
643
 
222
- ## テスト
644
+ ## ソースからビルド
645
+
646
+ ```bash
647
+ git clone https://github.com/ie3jp/illustrator-mcp-server.git
648
+ cd illustrator-mcp-server
649
+ npm install
650
+ npm run build
651
+ claude mcp add illustrator-mcp -- node /path/to/illustrator-mcp-server/dist/index.js
652
+ ```
653
+
654
+ ### 動作確認
655
+
656
+ ```bash
657
+ npx @modelcontextprotocol/inspector npx illustrator-mcp-server
658
+ ```
659
+
660
+ ### テスト
223
661
 
224
662
  ```bash
225
663
  # ユニットテスト
226
664
  npm test
227
665
 
228
- # E2E スモークテスト(Illustrator 起動 + ファイルオープン状態で実行)
666
+ # E2E スモークテスト(Illustrator 起動状態で実行)
229
667
  npx tsx test/e2e/smoke-test.ts
230
668
  ```
231
669
 
232
- E2E テストは全 30 ケース(読み取り 16 + 書き出し 4 + ユーティリティ 2 + 操作 8)を自動実行します。
670
+ E2E テストは新規ドキュメントを作成し、テストオブジェクトを配置して全 106 ケース(登録済み全ツールカバー)を 6 フェーズで自動実行します。
233
671
 
234
672
  ---
235
673
 
@@ -243,34 +681,14 @@ E2E テストは全 30 ケース(読み取り 16 + 書き出し 4 + ユーテ
243
681
  | 裁ち落とし設定 | ExtendScript API で非公開のため取得不可 |
244
682
  | WebP 書き出し | ExtendScript の ExportType に存在しないため非対応 |
245
683
  | 日本式トンボ | `PageMarksTypes.Japanese` が PDF 書き出しで反映されない場合あり |
684
+ | フォント埋め込み制御 | PDF 書き出し時のフォント埋め込み方式 (full/subset) は API 非公開。PDF プリセットで設定 |
685
+ | サイズ展開 | テキストリフロー非対応。比例配置のみ(スマートレイアウトではない) |
246
686
 
247
687
  ---
248
688
 
249
- ## プロジェクト構成
250
-
251
- ```
252
- illustrator-mcp-server/
253
- ├── src/
254
- │ ├── index.ts # エントリポイント
255
- │ ├── server.ts # MCP サーバー
256
- │ ├── executor/
257
- │ │ ├── jsx-runner.ts # トランスポート選択 + 排他制御
258
- │ │ └── file-transport.ts # 一時ファイル管理 (macOS/Windows)
259
- │ ├── tools/
260
- │ │ ├── registry.ts # ツール登録
261
- │ │ ├── read/ # 読み取り系 15 ツール
262
- │ │ ├── modify/ # 操作系 8 ツール
263
- │ │ ├── export/ # 書き出し系 2 ツール
264
- │ │ └── utility/ # ユーティリティ 1 ツール
265
- │ └── jsx/
266
- │ └── helpers/
267
- │ └── common.jsx # ExtendScript 共通ヘルパー
268
- ├── test/
269
- │ ├── unit/ # ユニットテスト
270
- │ └── e2e/
271
- │ └── smoke-test.ts # E2E スモークテスト
272
- └── docs/ # 設計ドキュメント
273
- ```
689
+ ## サポート
690
+
691
+ このツールの開発・維持には費用がかかっています。役に立ったらぜひ応援お願いします — [コーヒー奢ってください ☕](https://ko-fi.com/cyocun)
274
692
 
275
693
  ---
276
694