运维工程师最头疼的事之一,不是故障排查,而是画图。网络拓扑图、部署架构图、变更流程图......每次改一个节点就要手动拖拽半小时。现在,这个问题有了根本性的解法。
痛点:运维画图的隐形成本
你是否经历过这样的场景:
- 交接文档时,架构图已经过时了三个月,没人知道谁改了什么
- 故障复盘时,需要临时画一张拓扑图,结果图没画完,会议已经结束
- 变更评审时,架构图上的每个节点都要手动拖拽对齐,耗时一小时,内容十分钟
- 写运维规范时,流程图需要反复修改,每改一次就要重新调整布局
这些场景里,画图本身往往不是目的,而是障碍。工具越复杂,思路越被打断。
draw.io MCP(Model Context Protocol)Server 的出现,让 AI 助手可以直接生成、编辑和渲染架构图,彻底改变了这一工作流。
什么是 draw.io MCP?
draw.io MCP 是由 draw.io 官方团队(JGraph)发布的 MCP 服务器,它将 draw.io 强大的图表能力接入任何支持 MCP 协议的 AI 客户端(如 Claude Desktop、Cursor 等)。
简单来说:你用自然语言描述图,AI 帮你画好,直接在 draw.io 里打开编辑。
整个项目包含四个组件:
| 组件 | 说明 |
|---|---|
| MCP Tool Server(本文重点) | 在 draw.io 编辑器中直接打开 AI 生成的图表 |
| MCP App Server | 在 AI 聊天界面内联渲染图表 |
| Skill + CLI | Claude Code 技能,生成原生 .drawio 文件 |
| Project Instructions | 零安装方案,使用 Claude Project 指令 |
核心能力:三种图表生成方式
draw.io MCP Server 提供三个工具,覆盖运维工作中最常见的图表场景:
1. open_drawio_xml --- 生成任意架构图
直接生成原生 draw.io XML,适合:
- 云架构图(AWS / 阿里云 / 腾讯云拓扑)
- 网络拓扑图(VPC、子网、安全组、路由)
- 服务依赖图(微服务调用关系)
- K8s 集群架构图
示例 Prompt:
使用 open_drawio_xml 创建一张包含以下内容的 AWS 架构图:
- 一个 VPC,包含 2 个可用区
- 每个可用区有一个公有子网和一个私有子网
- 公有子网部署 ALB 和 NAT Gateway
- 私有子网部署 ECS 集群(3 个实例)和 RDS 主从
- 安全组规则标注
AI 自动生成完整的 XML,draw.io 立即打开,所见即所得。
2. open_drawio_csv --- 从数据生成关系图
将结构化数据(CSV 格式)直接转换为图表,适合:
- 组织架构图(部门层级、人员汇报关系)
- 服务依赖矩阵(哪些服务依赖哪些中间件)
- 告警升级链(告警 → 一线 → 二线 → 值班经理)
- CMDB 拓扑(资产关系可视化)
示例 Prompt:
使用 open_drawio_csv 创建运维团队的告警升级架构图:
Prometheus告警 → 一线运维
一线运维 → 二线运维(15分钟未处理)
二线运维 → 值班经理(30分钟未处理)
值班经理 → CTO(P0级别)
3. open_drawio_mermaid --- 将 Mermaid 转为可编辑图表
Mermaid 是很多运维文档中常用的文字化图表格式,但可编辑性差。draw.io MCP 可以将 Mermaid 语法直接转为可在 draw.io 中编辑的图表,适合:
- 部署流程图(CI/CD Pipeline)
- 故障处理 SOP(序列图)
- 数据库 ER 图
- 变更审批流
示例 Prompt:
使用 open_drawio_mermaid 创建 OAuth2 认证流程的序列图,
包含:用户、前端应用、认证服务器、资源服务器四个参与方
快速上手:5 分钟接入 Claude Desktop
前置要求
- Node.js 18+
- Claude Desktop(或任意支持 MCP 的客户端)
第一步:安装 MCP Server
无需单独安装,直接通过 npx 使用:
# 验证 npx 可用
npx @drawio/mcp --version
如需全局安装:
npm install -g @drawio/mcp
第二步:配置 Claude Desktop
找到配置文件并添加 drawio MCP:
macOS:
vi ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
添加以下配置:
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": ["@drawio/mcp"]
}
}
}
第三步:重启 Claude Desktop
重启后,在 Claude 对话框中应能看到 draw.io 工具已加载(工具栏显示锤子图标)。
第四步:开始使用
帮我用 draw.io 画一张 Kubernetes 集群架构图,
包含:Master 节点 × 3,Worker 节点 × 5,
etcd 集群,Ingress Controller,以及外部 LoadBalancer
Claude 会自动调用 open_drawio_xml,生成完整图表并在 draw.io 中打开。
运维场景实战:5 个高频用例
场景一:快速绘制故障排查拓扑图
传统方式: 打开 draw.io → 拖拽节点 → 连线 → 调整布局 → 标注 → 30 分钟
使用 draw.io MCP:
画一张故障排查拓扑图,描述如下问题:
- 用户反馈 API 响应超时
- 链路:用户 → CDN → SLB → Nginx(4台)→ 应用服务(8台)→ Redis → MySQL
- 已排查:CDN 正常,SLB 正常
- 疑似:Nginx 到应用服务之间的连接池耗尽
请用红色标注疑似故障点,绿色标注已排查正常节点
效果: 2 分钟内生成带颜色标注的完整拓扑图,直接用于故障复盘汇报。
场景二:自动生成变更影响范围图
画一张变更影响范围图:
本次变更:升级 Redis 版本从 6.2 到 7.0
直接依赖 Redis 的服务:订单服务、购物车服务、Session 服务
间接依赖:支付服务(通过订单服务)、推荐服务(通过购物车)
请用橙色标注直接影响,黄色标注间接影响,灰色标注不受影响的服务
变更评审时,一张清晰的影响范围图比一页文字说明有效 10 倍。
场景三:生成 CI/CD 流水线图
使用 open_drawio_mermaid 画一张 GitLab CI/CD 流水线图:
阶段:代码提交 → 静态扫描 → 单元测试 → 构建镜像 → 推送镜像仓库 → 部署到测试环境 → 自动化测试 → 人工审核 → 部署到生产环境
其中"人工审核"标注为必要审批节点
场景四:可视化监控告警链路
用 open_drawio_csv 生成监控告警链路图:
指标采集:Node Exporter → Prometheus
日志采集:Filebeat → Elasticsearch
告警规则:Prometheus → AlertManager
通知渠道:AlertManager → 钉钉群、短信、PagerDuty
值班系统:PagerDuty → 值班工程师
场景五:数据库架构文档化
画一张 MongoDB 副本集架构图:
- Primary 节点:192.168.1.11:27017
- Secondary 节点1:192.168.1.12:27017
- Secondary 节点2:192.168.1.13:27017
- 副本集名称:rs0
- 标注:Primary 处理写操作,Secondary 可读,oplog 单向同步
- 应用连接方式:通过副本集连接串,自动感知 Primary 切换
结合上文中部署的 MongoDB 副本集,几分钟内就能产出配套的架构文档图。
实战场景:
codebuddy 接入drawio mcp并实现AI画图
1.添加mcp server
bash
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": ["@drawio/mcp"]
}
}
}

2.在codebuddy给AI提示
例如:
使用drawio 画一个架构图,要求如下: 1.在移动云购买了15台服务器,ip为172.31.0.101-172.31.0.115 2.其中2台安装mysql主从数据库,ip为172.31.0.101-172.31.0.102 3.其中3台安装redis中间件,minio,nacos,共用172.31.0.103-172.31.0.105 4.其中2台运行nginx作为前段入口,通过lb负载均衡进行访问 5.其中3台运行k8s master节点,ip为172.31.0.106-172.31.0.108 6.剩余5台运维k8s worker节点 帮忙画一个架构图
3.结果如下:

4.架构图如下:

工作原理:技术实现揭秘
draw.io MCP 的实现原理简洁而优雅:
自然语言描述
↓
AI 生成图表内容(XML / CSV / Mermaid)
↓
MCP Server 接收内容
↓
使用 pako deflateRaw 压缩 + Base64 编码
↓
生成带 #create 哈希参数的 draw.io URL
↓
URL 返回给 AI 客户端 → 用户点击打开
↓
draw.io 解码内容,渲染为可编辑图表
整个过程无需后端服务器,图表数据完全在 URL 中传递,数据不上传、不存储、完全本地化,对企业内网环境也完全友好。
与传统方式的效率对比
| 场景 | 传统方式耗时 | draw.io MCP 耗时 | 效率提升 |
|---|---|---|---|
| 绘制三层网络拓扑图 | 30-60 分钟 | 2-3 分钟 | 10-20x |
| 故障复盘架构图 | 20-40 分钟 | 2 分钟 | 10-20x |
| CI/CD 流程图 | 15-30 分钟 | 1-2 分钟 | 10-15x |
| 变更影响范围图 | 20-30 分钟 | 2-3 分钟 | 8-15x |
| 微服务依赖图(20+服务) | 1-2 小时 | 5-10 分钟 | 10x |
更重要的是:修改成本从"重新画"变成了"重新描述",图表版本管理也从截图变成了可 diff 的文本文件。
运维团队接入建议
建议一:写好描述 Prompt 模板
把常用图表的描述模板整理为运维 Wiki,团队成员直接复用,减少重复描述:
markdown
复制
## AWS 三层架构图模板
"使用 open_drawio_xml 画一张 AWS 三层架构图:
- VPC CIDR: [填写],可用区: [填写]
- 公有子网: ALB + NAT Gateway + Bastion
- 私有子网: [填写应用服务]
- 数据子网: [填写数据库]
- 安全组规则: [填写]"
建议二:与运维文档体系集成
draw.io 支持导出为 SVG/PNG/PDF,生成后直接嵌入 Confluence、语雀、飞书文档,做到图文档同源。
建议三:用于变更单自动化
在变更申请流程中,要求提交影响范围图,借助 draw.io MCP 可以将"画图"环节的阻力降到最低,提高变更单质量。
建议四:配合其他运维 MCP 联动
draw.io MCP 可以与其他运维类 MCP 工具配合使用:
- 先用 CMDB MCP 查询资产信息
- 再用 draw.io MCP 将资产关系可视化
- 最后用 文档 MCP 将图表嵌入运维手册
注意事项
确保 AI 使用 draw.io MCP 工具:由于 AI 有时会直接用文字或代码块描述图表,建议在系统提示词或对话开头明确说明:"请始终使用 draw.io MCP 工具创建图表,不要用代码块输出图表内容。"
总结
draw.io MCP 把"描述图"和"画图"之间的鸿沟彻底填平。对于运维工程师来说,它带来的价值不仅仅是省时间,更是:
- 降低文档门槛:谁都能快速产出专业级架构图
- 提高文档质量:图表不再因为"太麻烦"而缺失或过时
- 加速沟通效率:一张清晰的图胜过千行文字
- 赋能非专业用户:开发、产品、项目经理也能自助生成拓扑图
在 AI + MCP 的时代,运维工程师的核心价值在于架构判断和经验积累,而不是手动拖拽图形。把重复性工作交给 AI,把脑力留给真正重要的事。