Skip to main content
Glama
ymo6

Illustrator Figure MCP

by ymo6

Illustrator Figure MCP

将科学图形重建为可编辑的 Adobe Illustrator 图稿,并证明结果在结构上是正确的。

仅限 macOS(Illustrator 支持 macOS/Windows;本工具使用 osascriptdo javascript)。需要 Adobe Illustrator 和 Claude Code。

为什么存在

许多 MCP 服务器都能在 Illustrator 中绘图。它们给了模型双手,却没有眼睛:没有任何机制检查它刚画的东西是否正确。于是模型画完、报告成功,而图形中有一个标签溢出其文本框、一个箭头终止在无关矩形的中间,还有三个"对齐"的面板偏差了 3pt。

有价值的部分不是绘图本身,而是验证与修复循环,它通过两个检查不同方面的通道进行:

通道

机制

证明

几何

audit_figure — 确定性、只读

内部正确性:包含关系、退化尺寸、重复名称、溢出文本、栅格声明、连接器路由与绑定、重复系列对齐、描摹签名

外观

export 导出为 PNG,与参考裁剪图比较

相似性

几何是被证明的。相似性是被评判的。两者单独都不够——一个描摹的图形能通过所有几何检查,却完全不可编辑;而一个好看的渲染图对结构毫无说明。

audit_figure 返回 passed: true 意味着没有硬性几何失败。这并不代表图形是正确的。

Related MCP server: Illustrator MCP Vectorizer

重建,绝不描摹

描摹保留了外观却摧毁了语义,而这正是重建图形的全部意义。三道防线让这条捷径难以走通:

  • 创建时的语义标记。 每个对象在创建时都会获得一个 UUID 和一个语义类型,因此审计器可以区分构造对象与外来几何体。

  • trace-signature Image Trace 的 expandTracing() 会生成一个未标记的组,其中包含一堆未标记的路径;这种情况、密集的未标记路径,以及超出声明绘制日志的批量几何体,都属于硬性失败。

  • 栅格门控。 place_image 拒绝任何无法证明不可再分的放置。

栅格门控

每个保留的图像必须声明全部五项,并且这些声明会被验证,而不仅仅是记录:

声明

要求

raster_reason

对不可再分像素内容的具体描述——"image"、"PNG"、"screenshot" 均被拒绝

source_is_tightly_cropped

true — 所有边框、标签、箭头、图例、坐标轴和相邻面板均已裁剪掉

atomic_raster_unit

true — 一个不可分割的数据单元,而非网格或拼贴

contains_reconstructable_content

false — 内部不应残留任何应作为可编辑对象的内容

decomposition_note

≥ 8 个字符:拆分并重建了什么

强制检查位于创建路径上,而非审计器中:仅由审计器执行的检查,只要不审计就会被绕过。

连接器

Illustrator 没有连接器原语。箭头是一个 PathItem,与它所指向的文本框没有任何关系——移动文本框,箭头会留在原地,悄然出错。

add_connector 在路径上记录绑定关系(源、目标、附着点)。reflow_connectors 根据对象当前的边界重新求解几何。当绘制的路径不再与其绑定一致时,audit_figure 会报告 connector-detached

路由方式为 straightorthogonalcurved——贝塞尔曲线以垂直于附着边的方向出发和到达,这是标准通路图的样式,使箭头看起来笔直指向目标。审计器采样的是实际曲线而非锚点之间的弦,因此它检查的是墨迹所在的位置。

任何移动或调整已连接对象大小的操作之后,都必须执行 reflow_connectors 箭头以填充三角形绘制,因为 Illustrator 没有向脚本暴露箭头属性。

→ 完整使用指南 — 安装、核心规则、工具参考、两个完整示例,以及如何阅读审计报告。

安装

npm install && npm run build

将其添加到 Claude Code:

claude mcp add illustrator-figure -- node /absolute/path/to/IllustratorFigureMCP/dist/index.js

首次运行工具时授予自动化权限:系统设置 → 隐私与安全性 → 自动化 → Claude → Adobe Illustrator

安装四个角色技能:

cp -R skills/* ~/.claude/skills/

四个角色

向 Claude 提出*"在 Illustrator 中重建此图形"*并附上参考图像,recreate-scientific-figure 将协调整个循环:

技能

角色

design-scientific-figure

设计师 — 在绘制任何内容之前生成重建规格

recreate-scientific-figure

绘制者 + 编排者 — 每次往返构建一个区域,运行门控检查

audit-scientific-figure

审查者 — 读取两个证据通道,发布发现

correct-scientific-figure

修正者 — 将发现转化为有序的、对象级操作

每个区域必须通过后才能开始下一个;然后整个图形运行相同的循环。

本分支新增的工具

工具

用途

audit_figure

确定性结构审计;每条发现都附带证据、修正方案和验收标准

draw_sequence

在一次往返中构建整个区域,可选地在同一调用中执行审计

add_connector

创建绑定到两个命名对象的连接器

reflow_connectors

在对象移动后重新求解连接器几何

fit_text

解决溢出的区域文本——使用 modify_object 调整框架大小不会使其重新排布

此外还有 place_image 上的栅格门控,以及每个 create_* 工具上的语义标记。其余 66 个工具来自上游(共 71 个)。

draw_sequence 是最值得使用的:九个对象——文本框、区域文本标签、两个绑定连接器——构建并审计大约需要 750ms,而每个对象一次调用则需要九次往返。

文档

docs/USAGE.md

使用方法:安装、规则、每个工具、完整示例、审计发现、故障排除

CLAUDE.md

内部机制和容易破坏的约束,供编辑此仓库的人参考

skills/

四个角色技能

开发

npm test        # 245 tests, runs on any platform

移植的几何代码是纯 ES3,因此 .jsx 模块被加载到虚拟机中,Liang–Barsky 和线段相交的数学运算可以在没有 Illustrator 的情况下进行测试。任何涉及 Illustrator 的内容都必须在 macOS 上运行 Illustrator 进行测试——容易破坏的约束请参阅 CLAUDE.md(ES3、UUID 先于元数据的顺序、pageItems 快照)。

致谢

  • 工具层派生自 ie3jp/illustrator-mcp-server(MIT)——传输层、JSX 运行器、UUID 身份、note 元数据,以及 63 个 Illustrator 工具。参见 LICENSE

  • 双通道验证循环、审计分类法和四角色协议移植自 icebird1998/scientific-illustrator,该项目为 draw.io、PowerPoint 和 WPS 实现了这些功能。数学运算是后端无关的;对象模型则不是。

与 Adobe 无关联。

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Art provenance intelligence — 282K-node knowledge graph with cited answers and honest gaps.

  • AI agent draws editable hand-drawn diagrams (flowchart, ER, architecture) via MCP, not static images

  • DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ymo6/illustrator-figure-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server