使用说明
Draw.io MCP服务器
一个模型上下文协议(MCP)服务器,使Claude能够通过对话直接创建和操作Draw.io图。
特性
- 创建新的Draw.io图表文件
- 添加各种形状(矩形、椭圆形、菱形、圆柱体、六边形、云等)
- 在形状之间添加连接器/箭头
- 多行文本支持 -使用
\n用于形状标签中的换行(非常适合类图) - 自定义颜色、位置和尺寸
- 列出并阅读现有图表
- 智能路径解析(支持相对、绝对和~路径)
- 实现跨平台兼容性的自动路径转换
安装
- 克隆此存储库:
git clone <repository-url>
cd draw-io-mcp
- 安装依赖项:
npm install
- 构建项目:
npm run build
Claude桌面配置
要将此MCP服务器与Claude Desktop一起使用,请将以下配置添加到您的Claude Desktop配置文件中:
macOS
编辑: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗
编辑: %APPDATA%\Claude\claude_desktop_config.json
添加以下配置:
{
"mcpServers": {
"draw-io": {
"command": "node",
"args": ["/absolute/path/to/draw-io-mcp/dist/index.js"]
}
}
}
替换 /absolute/path/to/draw-io-mcp 带有此项目目录的实际路径。
添加配置后,重新启动Claude Desktop。
Claude代码的配置
使用此MCP服务器 克劳德代码 (CLI),通过添加 claude mcp add 命令或直接编辑配置文件。
选项1:CLI(推荐)
claude mcp add draw-io node /absolute/path/to/draw-io-mcp/dist/index.js
替换 /absolute/path/to/draw-io-mcp 带有此项目目录的实际路径。
选项2:直接编辑配置文件
Claude Code将MCP配置存储在 ~/.claude/mcp.json (全球)或 .claude/mcp.json 项目内部(项目范围)。添加以下条目:
{
"mcpServers": {
"draw-io": {
"command": "node",
"args": ["/absolute/path/to/draw-io-mcp/dist/index.js"]
}
}
}
验证服务器是否正在运行
添加配置后,启动或重新启动Claude Code并运行:
claude mcp list
你应该看看 draw-io 列为已连接的服务器。您还可以运行:
claude mcp get draw-io
检查其状态及其暴露的工具。
作用域选项
Claude Code支持三种配置范围:
| 作用域 | 标志 | 配置位置 | 何时使用 |
|---|---|---|---|
| 本地(仅项目) | --scope local |
.claude/mcp.json 在项目中 |
特定仓库的图表 |
| 用户(全局) | --scope user |
~/.claude/mcp.json |
适用于您的所有项目 |
| 项目(共享) | --scope project |
.mcp.json 在项目根目录中 |
通过git与队友共享 |
添加特定范围的示例:
claude mcp add --scope user draw-io node /absolute/path/to/draw-io-mcp/dist/index.js
使用示例
配置后,您可以要求Claude创建图表:
示例1:简单流程图
Create a flowchart at ./flowchart.drawio with:
1. A "Start" rectangle at (100, 50)
2. A "Process Data" rectangle at (100, 150)
3. A "Decision" rhombus at (100, 250)
4. Connect them with arrows
示例2:架构图
Create a system architecture diagram at ./architecture.drawio showing:
- A cloud shape for "Cloud Services"
- A cylinder for "Database"
- Rectangles for different services
- Connect them appropriately
示例3:多行文本类图
Create a class diagram for a Vehicle hierarchy with:
- A Vehicle class with attributes (brand, model) and methods (start, stop)
- A Car subclass with numDoors attribute
- A Motorcycle subclass with engineCC attribute
Use \n for line breaks to separate class name, attributes, and methods
这 \n 形状中的文本会创建适当的换行符,因此文本如下:
Vehicle\n---\n- brand: String\n+ start(): void
渲染为:
Vehicle
---
- brand: String
+ start(): void
可用工具
MCP服务器提供以下工具:
- create_diagram -创建新的Draw.io图表文件
- add_shape -添加形状(矩形、椭圆、菱形、圆柱体、六边形、云、阶梯、平行四边形、梯形、三角形)。支持多行文本
\n - add_connector -在不同样式(直线、曲线、正交)的形状之间添加连接器
- read_diagram -读取图表的原始XML内容
- list_shapes -在图表中列出所有形状及其属性
路径处理
默认情况下,所有图表都保存到桌面 以便于找到它们。服务器智能地处理跨不同平台的文件路径:
默认行为
- 简单文件名:
diagram.drawio→ 已保存到您的桌面 - 相对路径:
./flowchart.drawio→ 已保存到桌面(忽略子目录) - 克劳德建议的路径:
/home/claude/test.drawio→ 已保存到您的桌面
这使您的文件位置一目了然——它们始终处于打开状态 您计算机的桌面,不在任何远程机器上。
支持的路径格式
-
桌面(默认):
diagram.drawio- 已保存到
~/Desktop/diagram.drawio
- 已保存到
-
绝对路径:
/Users/username/Documents/diagram.drawio- 按原样使用(经过安全验证)
- 如果需要,可以保存到特定位置
-
主目录子目录:
~/Documents/diagram.drawio- 扩展
~并保存到指定位置 - 可用于在特定文件夹中组织图表
- 扩展
自动路径转换
当Claude Desktop建议以下路径时 /home/claude/diagram.drawio,服务器会自动将它们翻译到您的桌面:
/home/claude/diagram.drawio→~/Desktop/diagram.drawio/home/claude/subfolder/test.drawio→~/Desktop/test.drawio
这确保您始终知道文件的保存位置。
安全特性
服务器阻止在系统目录中创建文件(/usr, /bin, /etc等)来保护您的系统。
发展
构建
npm run build
观看模式
npm run watch
文件格式
Draw.io文件(.drawio)是基于XML的文件,可以用以下方式打开:
- Draw.io网络应用程序(https://app.diagrams.net)
- Draw.io桌面应用程序
- 带有Draw.io扩展名的VS代码
许可证
麻省理工学院
