
Drawio Mcp
io.github.yohasacuraPublished by GitHub account yohasacurav1.0.2Updated Oct 24, 2026
MCP server for creating and editing draw.io / diagrams.net XML files programmatically.
Overview
Local MCP server that lets an assistant create, edit, style and lay out draw.io / diagrams.net diagram files and save them as .drawio XML.
- What you can do
- Create, load, import, save and list diagram files, with multiple pages and layers
- Add, update and delete vertices, edges, groups, titles and legends
- Apply shape, edge and color-theme presets and list the available ones
- Auto-layout and tidy diagrams: Sugiyama, tree, grid, flowchart, alignment, edge routing, overlap fixes and polish
- Inspect a diagram read-only: cells, overlaps, ports and general info
- When to use it
- Useful when you want an assistant to turn a description into an editable diagram file — flowcharts, UML, ER, C4, BPMN, mindmaps, cloud or network architecture — or to load an existing .drawio file, modify it and save it back.
- Requirements
- Runs locally over stdio as the PyPI package drawio-mcp; needs Python 3.11+ and uv (recommended) or pip. No accounts, API keys or environment variables are declared. Desktop MCP clients only.
Installation
In SourceWeft
- Open Drawio Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
🎨 Draw.io MCP Server
[CI] [PyPI] [Python] [License: MIT]
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.
✨ What Can It Do?
🚀 Quick Start
Prerequisites
- Python 3.11+
- uv (recommended) or pip
Install from PyPI
Or with uv:
Install from source
🔌 Setup with Your AI Client
VS Code (GitHub Copilot)
Add to your VS Code settings or .vscode/mcp.json:
Then use Copilot in Agent mode and ask it to create diagrams.
Claude Desktop
Add to your claude_desktop_config.json:
Cursor
Add to your Cursor MCP settings:
💬 Example Prompts
Once connected, try these in your AI chat:
💡 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
310+ Vertex Presets (click to expand)
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
44 Edge Presets (click to expand)
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
21 Color Themes (click to expand)
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
Connection Ports (click to expand)
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
🧑💻 Development
Project Structure
📝 Contributing
See CONTRIBUTING.md for guidelines on bug reports, feature requests, and pull requests.
📄 License
Source: README.md at commit 036573d
Tools
0Version history
1- v1.0.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts