@drawio/mcp
v1.2.2
Published
Official draw.io MCP server for LLMs - Open diagrams in draw.io editor
Maintainers
Readme
Draw.io MCP Tool Server
The official draw.io MCP server that opens diagrams directly in the draw.io editor. Supports XML, CSV, and Mermaid.js formats with lightbox and dark mode options.
This package is part of the drawio-mcp repository, which also includes:
- MCP App Server — Renders diagrams inline in AI chat interfaces. Hosted at
https://mcp.draw.io/mcp— no install required. - Skill + CLI — Claude Code skill that generates native
.drawiofiles with optional PNG/SVG/PDF export. - Project Instructions — Zero-install approach using Claude Project instructions.
Features
- Open XML diagrams: Load native draw.io/mxGraph XML format
- Import CSV data: Convert tabular data to diagrams (org charts, flowcharts, etc.)
- Render Mermaid.js: Transform Mermaid syntax into editable draw.io diagrams
- Customizable display: Lightbox mode, dark mode, and more
Installation
Using npx (recommended)
npx @drawio/mcpGlobal installation
npm install -g @drawio/mcp
drawio-mcpFrom source
git clone https://github.com/jgraph/drawio-mcp.git
cd drawio-mcp/mcp-tool-server
npm install
npm startConfiguration
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": ["@drawio/mcp"]
}
}
}Claude Code
claude mcp add drawio -- npx -y @drawio/mcpOr manually in .claude/settings.json:
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": ["-y", "@drawio/mcp"]
}
}
}Other MCP Clients
Configure your MCP client to run the server via stdio:
npx @drawio/mcpTools
open_drawio_xml
Opens the draw.io editor with XML content.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| content | string | Yes | Draw.io XML content |
| lightbox | boolean | No | Read-only view mode (default: false) |
| dark | string | No | "auto", "true", or "false" (default: "auto") |
open_drawio_csv
Opens the draw.io editor with CSV data converted to a diagram.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| content | string | Yes | CSV content |
| lightbox | boolean | No | Read-only view mode (default: false) |
| dark | string | No | "auto", "true", or "false" (default: "auto") |
open_drawio_mermaid
Opens the draw.io editor with a Mermaid.js diagram.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| content | string | Yes | Mermaid.js syntax |
| lightbox | boolean | No | Read-only view mode (default: false) |
| dark | string | No | "auto", "true", or "false" (default: "auto") |
Example Prompts
- "Use
open_drawio_mermaidto create a sequence diagram showing OAuth2 authentication flow" - "Use
open_drawio_csvto create an org chart: CEO → CTO, CFO; CTO → 3 Engineers" - "Use
open_drawio_xmlto create a detailed AWS architecture diagram with VPC, subnets, and security groups"
Tip: Claude Desktop may have multiple ways to create diagrams. To ensure it uses the draw.io MCP, mention the tool name explicitly or add a system instruction: "Always use the draw.io MCP tools to create diagrams."
How It Works
- The MCP server receives diagram content (XML, CSV, or Mermaid)
- Content is compressed using pako deflateRaw and encoded as base64
- A draw.io URL is generated with the
#createhash parameter - The URL is returned to the LLM, which can present it to the user
- Opening the URL loads draw.io with the diagram ready to view/edit
The open_drawio_xml tool description includes the full XML generation reference (edge routing, containers, layers, tags, metadata, dark mode, etc.) loaded from shared/xml-reference.md — the single source of truth for all draw.io MCP prompts. A prepack script bundles this file into the npm package so it works after npm install.
Related Resources
- draw.io - Free online diagram editor
- draw.io Desktop - Desktop application
- drawio-mcp on GitHub - Full repository with all four approaches
- MCP Specification
