@drawio/mcp

中文文档
1.12.0发布于 2026/11/10Apache-2.0ES Module构建来源已验证近 30 天下载 16.6万

LLMS 的官方 Draw.io MCP 服务器 - 在 Draw.io 编辑器中打开图表

中文使用文档
文档目录24 节
  1. 特征
  2. 安装
  3. 使用 npx( 建议)
  4. 全球安装
  5. 从源
  6. 配置
  7. 克劳德桌面
  8. 克劳德代码
  9. VS 代码 (GitHub 副驾驶)
  10. 光标
  11. 打开代码
  12. 其他MCP客户端
  13. 自行托管的平地画.io
  14. 在不打开浏览器的情况下返回链接
  15. 工具
  16. open_drawio_xml
  17. open_drawio_csv
  18. open_drawio_mermaid
  19. get_drawio_reference
  20. search_shapes
  21. list_pages 编号 : get_page 编号 : set_page
  22. 示例提示
  23. 如何运作
  24. 相关资源

Draw.io MCP 工具服务器

官员 画.io 直接在 Draw.io 编辑器中打开图表的 MCP 服务器 。 支持有灯盒和暗模式选项的XML,CSV和Mermaid.js等格式.

此软件包是 绘图- mcp 数据库,其中还包括:

  • MCP App 服务器 —— AI聊天界面中的Renders图入行. 主办地点 https://mcp.draw.io/mcp 不需要安装.
  • 克劳德代码插件 — Claude 代码插件生成本地 .drawio 带有可选 PNG/SVG/PDF 导出的文件.
  • 项目指令 ——采用克洛德项目指示的零安装方式.

特征

  • 打开 XML 图表: 装入本地绘图.io/mxGraph XML格式
  • 导入 CSV 数据: 将表格数据转换为图表(org charts等)
  • 蓝德美人鱼.js: 将美人鱼语法转换为可编辑图.io图
  • 自定义显示: 灯盒模式, 暗模式, 以及更多

安装

npx @drawio/mcp

全球安装

npm install -g @drawio/mcp
drawio-mcp

从源

git clone https://github.com/jgraph/drawio-mcp.git
cd drawio-mcp/mcp-tool-server
npm install
npm start

配置

克劳德桌面

添加到您的 Claude 桌面配置文件 :

马科斯数字 : ~/Library/Application Support/Claude/claude_desktop_config.json 窗口数字 : %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "drawio": {
      "command": "npx",
      "args": ["@drawio/mcp"]
    }
  }
}

克劳德代码

claude mcp add drawio -- npx -y @drawio/mcp

或手动进入 .claude/settings.json数字 :

{
  "mcpServers": {
    "drawio": {
      "command": "npx",
      "args": ["-y", "@drawio/mcp"]
    }
  }
}

VS 代码 (GitHub 副驾驶)

添加为 .vscode/mcp.json 在工作空间(或运行) MCP: 打开用户配置 全球配置 :

{
  "servers": {
    "drawio": {
      "command": "npx",
      "args": ["-y", "@drawio/mcp"]
    }
  }
}

然后单击 开始 在服务器条目上方, 信托 当服务器被提示时, 切换为 代理模式,并确保在 配置工具 (qq)在聊天输入中.

其他使用stdio(Windsurf等)的客户端使用与上作相同的配置形状.

提示 : VS代码1.109,后来也支持 MCP 应用程序 扩展,所以主机 MCP App 服务器 时间 https://mcp.draw.io/mcp 也在“副驾驶聊天”中工作,渲染图表 内入 而不是打开浏览器标签。 要使用它,就替换 command 财务报告和审定财务报表 args 上方为 "type": "http" 财务报告和审定财务报表 "url": "https://mcp.draw.io/mcp"。如果您喜欢在完整的 Draw.io 编辑器中打开图表,则使用此 stdio 服务器.

光标

Install MCP Server

单击上面的按钮进行一击安装,或手动添加服务器到 ~/.cursor/mcp.json (全球)或 .cursor/mcp.json 在您的项目中 :

{
  "mcpServers": {
    "drawio": {
      "command": "npx",
      "args": ["-y", "@drawio/mcp"]
    }
  }
}

提示时启用服务器( 或下方) 光标设置 MCP),然后请 Agent 创建一个图表——它在您浏览器中的平面.io编辑器中打开.

提示 : 光标还支持 MCP 应用程序 扩展,所以主机 MCP App 服务器 时间 https://mcp.draw.io/mcp 也在光标中工作, 渲染图 内入 而不是打开浏览器标签。 如果您喜欢在全画图.io编辑器中打开图表, 请使用此 stdio 服务器 .

打开代码

将服务器添加到 mcp 键 opencode.json 在项目根中(或 ~/.config/opencode/opencode.json 每个项目:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "drawio": {
      "type": "local",
      "command": ["npx", "-y", "@drawio/mcp"],
      "enabled": true
    }
  }
}

工具在下次启动时可用; 请代理创建一个图表并在浏览器中的 Draw.io 编辑器中打开 .

提示 : OpenCode 也装入该 drawio 技能 (内部) .drawio 文件, PNG/ SVG/ PDF 导出) 没有任何插件包件 —— 见 插件读取ME。 。 。 .

其他MCP客户端

配置您的 MCP 客户端以通过 stdio 运行服务器 :

npx @drawio/mcp

自行托管的平地画.io

要在自动托管的 Draw.io 实例中打开图表,请设置 DRAWIO_BASE_URL 实例 URL 的环境变量( 默认 ): https://app.diagrams.net/:

{
  "mcpServers": {
    "drawio": {
      "command": "npx",
      "args": ["-y", "@drawio/mcp"],
      "env": {
        "DRAWIO_BASE_URL": "https://drawio.example.com/"
      }
    }
  }
}

每个 open_drawio_* 调用打开默认浏览器中的图表并返回其 URL。 设定 DRAWIO_BROWSER 改为 off 只获取 URL。 用于无头代理、 CI 和 SSH 会话, 没有浏览器, 或会在错误的机器上打开 :

{
  "mcpServers": {
    "drawio": {
      "command": "npx",
      "args": ["-y", "@drawio/mcp"],
      "env": {
        "DRAWIO_BROWSER": "off"
      }
    }
  }
}

工具

open_drawio_xml

以 XML 内容打开 Draw.io 编辑器.

参数类型需求说明
content字符串对Draw.io XML 内容
lightbox布尔没有仅读视图模式( 默认: 假)
dark字符串没有"自动","真"或"假"(默认:"自动")
postLayout字符串没有"elk" 打开前重铺出图表( ELK 分层流): 顶点被放置, 边缘被路由
direction字符串没有流动方向 postLayout数字 : "vertical" (违约)或 "horizontal"
routing字符串没有"libavoid" 在打开前将连接器绕起形状(隐形-避免正交路由),使位置保持不变

每个图首先被修复: 周围的文本被丢掉(一个被泄露的工具调用标记,一个代码栅栏), < 和流浪汉 & 在属性值中被逃脱,并重出原主的一层被写入——在测试中打破了3%的 LLM 所写图表的滑子。 模式错误地写入了XML字符串的布局或路由选项仍然被应用. 然后,每个图在经过的过程中都会正常化,图.io编辑器如何维护自己的模型:边缘会在其终端最近的共同祖先上存档(这样你就可以继续写) parent="1" 在每一个边缘和容器上仍能正确放出),没有几何图形的边缘会得到一个(它不会造成其他情况),一个容器会将一个孩子剪接起来,以便适合它。 同样的修理平面。 io 桌面 CLI 应用 --normalize。 。 。 .

postLayout 财务报告和审定财务报表 routing 是替代品: ELK 设置顶点 财务报告和审定财务报表 路由边缘, libavoid 只修正您自己布局的连接符 。 两者在图被压缩到URL之前运行在服务器上;图本身仍然从未离开你的机器(它运行在URL碎片中). ELK 传出 drawio-elk 从 Draw.io CDN 从第一次使用中捆绑,并缓存到每个用户,因此更新后的第一版式支付一次性下载.

open_drawio_csv

打开将 CSV 数据转换成图表的 Draw.io 编辑器.

参数类型需求说明
content字符串对CSV 内容
lightbox布尔没有仅读视图模式( 默认: 假)
dark字符串没有"自动","真"或"假"(默认:"自动")

open_drawio_mermaid

用美人鱼.js图打开平面编辑器.

参数类型需求说明
content字符串对美人鱼.js 语法
lightbox布尔没有仅读视图模式( 默认: 假)
dark字符串没有"自动","真"或"假"(默认:"自动")
postLayout字符串没有"elk" 切换人鱼 流程图 到分层的ELK布局(方向仍然遵循流程图代码). 忽略其他图表类型

postLayout 这里没有成本: 它选择了美人鱼源的布局( a) config: { layout: elk } frontmatter block)和 draw.io 在转换图时应用它——与自己写frontmatter 的结果相同.

get_drawio_reference

返回完整的图表生成引用 : shared/mermaid-reference.md,该模型在它的第一个美人鱼图之前读取,或 shared/xml-reference.md,哪个 open_drawio_xml 仅需要分层、标记、元数据、表格、跨功能网格和暗模式颜色——其描述已带有被压缩的 shared/xml-essentials.md。 。 。 .

参数类型需求说明
format字符串对"xml" 或者说 "mermaid"

search_shapes

搜索 Draw.io 形状库(~10,000个形状: AWS, Azure, GCP, Cisco, Kubernetes, P&ID, electric, BPMN,...) 并返回与随时使用样式字符串相匹配的形状 open_drawio_xml. 当内建的库没有很好的匹配时,结果会从 Draw.io 图标服务(品牌标志和通用概念图标,例如. react, (中文(简体) ), slack, (中文(简体) ), shopping cart) (中文(简体) ). 只用于需要行业特有,品牌,或相图图标的图表——标准流程图,UML,ERD,和Org图表不需要.

参数类型需求说明
query字符串对以空格分隔的关键字(例如:. aws lambda, (中文(简体) ), cisco router(中文(简体) )
limit编号没有最大结果( 默认: 10, 最大: 50)

list_pages 编号 : get_page 编号 : set_page

访问本地多页的页面级别 .drawio 文件,因此可以检查或编辑一页,而不装入整个文件。 页面通过零基索引、确切名称或id进行处理(按 list_pages) (中文(简体) ). 被压缩的页面被解压缩/再压缩透明. 路径必须结束于 .drawio 或者说 .xml。 。 。 .

工具参数结果
list_pagespath[{index, id, name, approxSizeBytes}] 每页
get_pagepath, (中文(简体) ), page这页 mxGraphModel XML 数据
set_pagepath, (中文(简体) ), page, (中文(简体) ), content替换该页面的内容( 单 <mxGraphModel> 元素); 所有其他页面不受影响

Google 驱动器、 OneDrive、 Dropbox、 GitHub 或 GitLab 中的图表

这些工具只对本地文件有效 。 服务器无法读取您的云存储, 而一个 draw.io 链接总是打开一个新的, 无标题的图表, 从未打开您保存的文件 。 改变保存文件的链接会让发送链接的人重写您的图表 。 要让代理在云中更改一个图表,请通过打开的 Draw.io 标签:

  1. 在图.io中,选择 额外项目 > 编辑图表 (单位:千美元)插入 > 高级 > 编辑图表 在简单和最小主题中。 复制当前页面的 XML 并将其交给代理 .
  2. 请代理以已更改的 XML 回复 .
  3. 打开 编辑图表 ,再次将 XML 替换为代理服务器,并单击 应用. draw.io 将更改保存到同一文件,在同一链接下,与其他编辑一样.

这一个一页都行 正在下载文件, 用 set_page 并再次上传它同样有效,但打开文件的 draw.io 标签可以保存在您的上传上.

示例提示

  • "使用 open_drawio_mermaid 创建显示 OAuth2 认证流程的序列图
  • "使用 open_drawio_csv 创建 Org 图表: CEO → CTO, CFO; CTO → 3 工程师"
  • "使用 open_drawio_xml 创建一个详细的 AWS 架构图, 包含 VPC, 子网, 和安全组 ”

提示 : Claude Desktop可能有多种方法来创建图表. 确保它使用平分。 io MCP,明确提及工具名或添加系统指令: "永远使用平面.io MCP工具来创建图表"

如何运作

  1. MCP 服务器接收图表内容( XML, CSV, 或美人鱼)
  2. 内容使用 pako 解压拉式压缩并编码为 Base64
  3. 绘制.io URL , 并用其散列图生成: #R 用于 XML, #create= 用于美人鱼和 CSV,在浏览器中绘制.io 转换
  4. URL 返回到 LLM, LLM 可以向用户显示它
  5. 打开 URL 负载 Draw.io 并打开可查看/编辑的图表

这个 open_drawio_xml 说明中包含 XML 压缩规则 shared/xml-essentials.md (~1.5k个字符. 完整的 XML 生成参考文献( 对接路由、 容器、 地层、 标记、 元数据、 暗模式等) shared/xml-reference.md,用于所有图的单一真理来源。io MCP提示,和美人鱼参考 shared/mermaid-reference.md 以 get_drawio_reference。这让每个工具描述都简短:客户端喜欢VS代码副驾驶索引工具描述,而一个包含整个参考文献的描述对他们来说太长了. A 类 prepack 脚本将三个文件捆绑到 npm 软件包中, 使其在之后工作 npm install。 。 。 .

版本与发布记录

@drawio/mcp 共发布 43 个版本,首次发布于 2026/02/03;过去 12 个月发布了 43 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.12.0latest2026/11/103 天前
1.11.02026/11/066 天前
1.10.12026/10/3113 天前
1.10.02026/10/1925 天前
1.9.02026/10/1826 天前
1.8.02026/10/1726 天前

关于 @drawio/mcp 的常见问题

@drawio/mcp 是什么?

LLMS 的官方 Draw.io MCP 服务器 - 在 Draw.io 编辑器中打开图表

如何安装 @drawio/mcp?

在项目目录运行 npm install @drawio/mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 drawio-mcp,可以用 npx drawio-mcp 直接运行。

@drawio/mcp 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/drawio__mcp 是否存在。

@drawio/mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@drawio/mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@drawio/mcp 可以商用吗?

@drawio/mcp 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@drawio/mcp 的下载量有多少?

根据 npm 官方下载统计,@drawio/mcp 在 2026/10/13 – 2026/11/11 这 30 天内被下载 166,240 次,日均约 5,541 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@drawio/mcp 还在维护吗?

最新版本 1.12.0 发布于 2026/11/10(3 天前);至今共发布 43 个版本,其中过去 12 个月发布了 43 个;首次发布于 2026/02/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。