用途:为网络工程生成 draw.io 图表,提供两种模式。原生文件模式直接生成 mxGraphModel 格式的 .drawio XML,写入当前目录,并可用 draw.io 桌面版 CLI 导出;导出时使用 --embed-diagram(-e)将图表 XML 嵌入输出,因此 PNG、SVG、PDF 打开后仍可在 draw.io 中编辑。CLI 常见参数:-x 导出、-f 格式、-e 嵌入、-b 边框、-o 输出、-t 透明(仅 PNG)、-s 缩放、--width/--height 限定尺寸、-a 导出全部页面(仅 PDF)、-p 指定页面。导出文件名建议用双扩展名如 name.drawio.png。
主要能力:支持生成 .drawio 文件、导出 PNG/SVG/PDF 并嵌入 XML;通过 @drawio/mcp 在浏览器编辑器打开 Mermaid、XML、CSV 三种输入,均支持可选 lightbox 只读视图和 dark 深色模式,返回可分享的 Draw.io URL。浏览器模式适合快速拓扑预览、CSV 设备清单、Mermaid 语法图与分享链接;原生模式适合版本控制、离线环境、文档导出。
使用方式示例: 在磁盘生成文件后导出:drawio -x -f svg -e -b 10 -o out.svg input.drawio
浏览器模式示例: python3 $MCP_CALL "npx -y @drawio/mcp" open_drawio_mermaid '{"content":"graph TD\n A --> B"}' python3 $MCP_CALL "npx -y @drawio/mcp" open_drawio_xml '{"content":"<mxGraphModel>...</mxGraphModel>"}' python3 $MCP_CALL "npx -y @drawio/mcp" open_drawio_csv '{"content":"## label: %name%\nname,refs\nA,B\nB,C"}'
XML 结构要求:mxCell id="0" 为根层,id="1" 为默认父层,图表元素 parent="1"。生成 XML 时注意:注释中禁止出现双连字符 --,属性值需转义 &、<、>、",每个 mxCell 的 id 必须唯一。
适用场景:物理拓扑(设备、链路、接口与 IP)、逻辑拓扑(路由协议、区域、AS、VRF)、安全区域(防火墙、DMZ、信任边界)、设备清单 CSV 图,以及与其他技能联动(如用 pyats-topology 发现网络后成图、用 netbox-reconcile 按对账状态给链路着色)。
限制:导出格式中 jpg 不支持嵌入 XML;Mermaid 和 CSV 需要服务器端转换,不能直接保存为原生文件,必须直接生成 XML。使用前需按文档检查 readiness.json,首次使用前确认就绪状态;安装、收费、价格等信息暂未提供。