用途:用一份骨架 JSON 同时驱动 Excalidraw MCP 的实时绘制,并生成可打开的 .excalidraw 文件或 Obsidian .excalidraw.md。
主要能力:create_view 的 element 格式只是骨架,不是磁盘 schema;矩形/椭圆/菱形的标签必须通过 boundElements→containerId 绑定,直接粘贴骨架 JSON 会得到空框,因此提供 scripts/excalidraw_build.py 做转换。另有离线 lint(检查溢出、碰撞、几何)、基于 Excalidraw exportToSvg 的渲染预览、MCP 服务器检测注册脚本,以及拆分 .excalidrawlib 图标库的脚本。
使用方式:新机器若缺少 mcp__excalidraw__* 工具,先运行 python3 scripts/ensure_mcp.py --install(Windows 用 py -3);它检测并注册服务器,必要时执行 claude mcp add --transport http --scope user excalidraw https://mcp.excalidraw.com,退出码 0 已配置、1 缺失、2 无法注册。之后编写骨架 JSON,用 python3 scripts/excalidraw_lint.py scene.json --camera 检查,用 create_view 实时渲染并保留 checkpointId,再用 python3 scripts/excalidraw_build.py scene.json -o out.excalidraw 保存;Obsidian 加 --obsidian,深色加 --dark。预览用 python3 scripts/excalidraw_render.py out.excalidraw -o /tmp/preview.png。
适用场景:需要实时展示、仓库内文件、Obsidian 笔记或可分享链接的架构图、流程图、泳道图等。
限制:安装技能不会安装 MCP 服务器;MCP 无本地文件工具,export_to_excalidraw 是公开上传,调用前需确认。宽度估算按字符校准而非字体实测,接近 10% 溢出时仅警告。渲染脚本需 playwright 与网络访问 esm.sh;lint 完全离线。Windows 上 python3 是商店占位,需用 py -3。linter 只判断正确性,不判断图表好坏。