Draw.io MCP Server
Enables AI assistants to create and edit draw.io diagrams programmatically, supporting a wide range of diagram types and styles.
README
🎨 Draw.io MCP Server
Let your AI assistant create beautiful draw.io diagrams — just describe what you want.
An MCP server that generates draw.io / diagrams.net XML files programmatically. Works with GitHub Copilot (agent mode), Claude Desktop, Cursor, and any MCP-compatible client.
<!-- mcp-name: io.github.yohasacura/drawio-mcp -->
✨ What Can It Do?
| Capability | Details |
|---|---|
| 🏗️ Diagram types | Flowcharts, UML, ER, C4, BPMN, mindmaps, architecture, network, Kubernetes, and more |
| 🎨 Styling | 310+ shape presets, 44 edge styles, 21 color themes |
| 📐 Auto-layout | Sugiyama DAG, tree, horizontal, vertical, grid, flowchart engines |
| 🔀 Smart routing | Obstacle-aware orthogonal edge routing with automatic port distribution |
| ✏️ Full editing | Add, move, resize, delete, restyle any element after creation |
| 📄 Multi-page | Multiple pages and layers for complex diagrams |
| 📥 Import/Export | Load existing .drawio files, modify, and save back |
| 🧹 One-click cleanup | Polish command that auto-fixes layout, overlaps, edges, and labels |
🚀 Quick Start
Prerequisites
- Python 3.11+
- uv (recommended) or pip
Install from PyPI
pip install drawio-mcp
Or with uv:
uvx drawio-mcp
Install from source
git clone https://github.com/yohasacura/drawio-mcp.git
cd drawio-mcp
uv sync
uv run drawio-mcp
🔌 Setup with Your AI Client
VS Code (GitHub Copilot)
Add to your VS Code settings or .vscode/mcp.json:
{
"servers": {
"drawio-mcp": {
"command": "uvx",
"args": ["drawio-mcp"]
}
}
}
Then use Copilot in Agent mode and ask it to create diagrams.
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"drawio-mcp": {
"command": "uvx",
"args": ["drawio-mcp"]
}
}
}
Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"drawio-mcp": {
"command": "uvx",
"args": ["drawio-mcp"]
}
}
}
💬 Example Prompts
Once connected, try these in your AI chat:
| Prompt | What you get |
|---|---|
| "Create a flowchart for a user login process" | Login flow with decision nodes and error paths |
| "Create a C4 context diagram for an e-commerce system" | System context with actors and external systems |
| "Make a UML class diagram with User, Order, and Product" | Class diagram with relationships |
| "Create an ER diagram for a blog database" | Entity-relationship diagram with tables |
| "Build an org chart for a startup" | Tree layout with roles and hierarchy |
| "Draw an AWS architecture with API Gateway, Lambda, DynamoDB" | Cloud architecture diagram |
| "Create a Kubernetes deployment diagram" | K8s diagram with pods, services, ingress |
| "Make a network topology with servers and firewalls" | Network diagram with device icons |
💡 Tip: Always end with "...and save it as
filename.drawio" to get a file you can open in draw.io.
🛠️ Tool Reference
The server exposes 5 tools, each with an action parameter:
diagram — Lifecycle
create · save · load · import_xml · list · get_xml · add_page · add_layer
draw — Content
add_vertices · add_edges · add_group · update_cells · delete_cells · add_title · add_legend · build_dag · build_full
style — Appearance
build · apply_theme · list_vertex_presets · list_edge_presets · list_themes
layout — Positioning
sugiyama · tree · horizontal · vertical · grid · flowchart · smart_connect · align · distribute · polish · relayout · compact · reroute_edges · resolve_overlaps · fix_labels · optimize_connections · resize_container
inspect — Read-only
cells · overlaps · ports · info
🎨 Style Reference
<details> <summary><b>310+ Vertex Presets</b> (click to expand)</summary>
Basic shapes: RECTANGLE ROUNDED_RECTANGLE ELLIPSE CIRCLE DIAMOND TRIANGLE HEXAGON CYLINDER CLOUD PARALLELOGRAM ACTOR PROCESS DOCUMENT DATA_STORE NOTE CARD CALLOUT TEXT CUBE STAR FOLDER and more
Themed boxes: BLUE_BOX GREEN_BOX ORANGE_BOX RED_BOX YELLOW_BOX PURPLE_BOX GRAY_BOX DARK_BOX TEAL_BOX WHITE_BOX
Flowchart: FLOWCHART_PROCESS FLOWCHART_DECISION FLOWCHART_TERMINATOR FLOWCHART_DATA FLOWCHART_DOCUMENT FLOWCHART_DATABASE FLOWCHART_START FLOWCHART_END and 25+ more
UML: UML_CLASS UML_INTERFACE UML_ACTOR UML_COMPONENT UML_PACKAGE UML_NODE UML_LIFELINE UML_FRAME
C4: C4_SYSTEM C4_CONTAINER C4_COMPONENT C4_PERSON C4_EXTERNAL C4_DATABASE C4_WEB_BROWSER
ER: ER_ENTITY ER_WEAK_ENTITY ER_ATTRIBUTE ER_KEY_ATTRIBUTE ER_RELATIONSHIP and more
BPMN: BPMN_TASK BPMN_START_EVENT BPMN_END_EVENT BPMN_GATEWAY BPMN_POOL BPMN_LANE and more
Architecture: ARCH_SERVICE ARCH_DATABASE ARCH_QUEUE ARCH_CLOUD ARCH_API ARCH_GATEWAY ARCH_CONTAINER ARCH_FIREWALL ARCH_SERVER ARCH_LOAD_BALANCER and 20+ more
Network: NETWORK_SERVER NETWORK_ROUTER NETWORK_SWITCH NETWORK_FIREWALL NETWORK_CLOUD NETWORK_STORAGE and 40+ more
Cloud/K8s: AWS_CLOUD AWS_LAMBDA AWS_S3 AWS_EC2 AWS_RDS AWS_SQS K8S_POD K8S_SERVICE K8S_DEPLOYMENT K8S_INGRESS and more
Containers: SWIMLANE GROUP GROUP_TRANSPARENT GROUP_DASHED
Plus: State machine, Sequence diagram, Mindmap, DFD, SysML, ArchiMate, Cisco, Mockup/Wireframe, Infographic, and more
</details>
<details> <summary><b>44 Edge Presets</b> (click to expand)</summary>
General: DEFAULT ORTHOGONAL STRAIGHT CURVED ENTITY_RELATION DASHED DOTTED BIDIRECTIONAL NO_ARROW
Styled: ROUNDED ROUNDED_DASHED THICK THICK_ROUNDED
Colored: COLORED_BLUE COLORED_GREEN COLORED_RED COLORED_ORANGE COLORED_PURPLE COLORED_YELLOW COLORED_GRAY
UML: UML_ASSOCIATION UML_INHERITANCE UML_IMPLEMENTATION UML_DEPENDENCY UML_AGGREGATION UML_COMPOSITION
ER: ER_ONE_TO_ONE ER_ONE_TO_MANY ER_MANY_TO_MANY ER_ZERO_TO_ONE ER_ZERO_TO_MANY
Flow: DATA_FLOW CONTROL_FLOW ASYNC SYNC BPMN_FLOW BPMN_MESSAGE_FLOW
</details>
<details> <summary><b>21 Color Themes</b> (click to expand)</summary>
BLUE GREEN YELLOW ORANGE RED PURPLE GRAY PINK TURQUOISE TEAL DARK_BLUE DARK_GREEN DARK_RED DARK_ORANGE DARK_PURPLE DARK WHITE C4_BLUE C4_LIGHT_BLUE C4_SKY C4_GRAY
</details>
<details> <summary><b>Connection Ports</b> (click to expand)</summary>
TOP BOTTOM LEFT RIGHT TOP_LEFT TOP_RIGHT BOTTOM_LEFT BOTTOM_RIGHT TOP_LEFT_THIRD TOP_RIGHT_THIRD BOTTOM_LEFT_THIRD BOTTOM_RIGHT_THIRD LEFT_TOP_THIRD LEFT_BOTTOM_THIRD RIGHT_TOP_THIRD RIGHT_BOTTOM_THIRD
</details>
🧑💻 Development
git clone https://github.com/yohasacura/drawio-mcp.git
cd drawio-mcp
uv sync
# Run tests
uv run pytest tests/ -v
# Run the server locally
uv run drawio-mcp
Project Structure
src/drawio_mcp/
├── server.py # MCP server — 5 tools with 40+ actions
├── models.py # Core XML model (DrawioFile, Diagram, MxCell)
├── styles.py # Style builder, presets, and themes
├── layout.py # Layout helpers (tree, grid, port distribution)
├── layout_engine.py # Advanced layout (Sugiyama, edge routing, polish)
└── validation.py # Input validation
📝 Contributing
See CONTRIBUTING.md for guidelines on bug reports, feature requests, and pull requests.
📄 License
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。