jgraph avatar

draw.io

jgraph/drawio-mcp

Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.

GitHub stars
5.8K
tools
3
transport
HTTP
last updated
Nov 10, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.draw.io/mcp --name draw

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http draw https://mcp.draw.io/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 3 tools

Verified live against the running server on Nov 13, 2026.

create_diagramCreates and displays an interactive draw.io diagram from Mermaid.js syntax or draw.io XML — provide exactly one. **Choose the format first.** Use `xml` for diagrams of boxes and lines up to about 30 shapes: flowcharts, pipelines, decision trees, org charts, ER schemas, UML cla...5 params

Creates and displays an interactive draw.io diagram from Mermaid.js syntax or draw.io XML — provide exactly one. **Choose the format first.** Use `xml` for diagrams of boxes and lines up to about 30 shapes: flowcharts, pipelines, decision trees, org charts, ER schemas, UML cla...

Parameters* required
directionstring
**XML only** — the flow direction for `postLayout: "elk"` on XML diagrams: `vertical` (top-down) or `horizontal` (left-to-right). Defaults to `vertical`. **Ignored for Mermaid**, where direction is...one of vertical · horizontal
mermaidstring
Mermaid.js diagram definition (e.g. 'graph TD\n A-->B'). Supports 28 diagram types — see the tool description for the full list. The diagram is parsed and laid out natively (no upstream mermaid ru...
postLayoutstring
Optional client-side ELK (Eclipse Layout Kernel) layered-flow pass applied after the diagram renders. The only value is `"elk"`. Vertices animate (morph) from the positions you supplied to the laye...one of elk
routingstring
**XML only** — optional obstacle-avoiding orthogonal **edge-routing** pass (libavoid). The only value is `"libavoid"`. Unlike `postLayout`, this does **not** move any vertices — it keeps your hand-...one of libavoid
xmlstring
draw.io XML content in mxGraphModel format. Must be well-formed XML: no XML comments (<!-- -->), no unescaped special characters in attribute values. Mutually exclusive with 'mermaid'.
search_shapesSearch the draw.io shape library by keywords. Returns matching shapes with their exact style strings, dimensions, and titles. Covers ~10,000 built-in stencils (cloud architecture, network topology, P&ID, electrical, Cisco, Kubernetes, BPMN) and, when those are sparse, suppleme...2 params

Search the draw.io shape library by keywords. Returns matching shapes with their exact style strings, dimensions, and titles. Covers ~10,000 built-in stencils (cloud architecture, network topology, P&ID, electrical, Cisco, Kubernetes, BPMN) and, when those are sparse, suppleme...

Parameters* required
limitnumber
Maximum number of results to return (default: 10, max: 50)
query*string
Space-separated search keywords (e.g. 'pid globe valve', 'aws lambda', 'cisco router', 'kubernetes pod')
get_drawio_referenceReturns the draw.io diagram generation reference as Markdown. Format "xml": styles, the layout grid, edges, containers, swimlanes, layers, tags, metadata, dark mode, the layout and routing passes, and the well-formedness rules for create_diagram's xml. Format "mermaid": the he...1 params

Returns the draw.io diagram generation reference as Markdown. Format "xml": styles, the layout grid, edges, containers, swimlanes, layers, tags, metadata, dark mode, the layout and routing passes, and the well-formedness rules for create_diagram's xml. Format "mermaid": the he...

Parameters* required
format*string
Which reference to return: "xml" or "mermaid", matching the create_diagram parameter you will use.one of xml · mermaid

Sponsors

Readme

Draw.io MCP Server

The official draw.io MCP (Model Context Protocol) server that enables LLMs to create and open diagrams in the draw.io editor.

An AI assistant turns a prompt for a customer refund flowchart into an editable draw.io diagram in the chat, with Open in draw.io, Copy and Download diagram buttons

▶ Watch the video and set up draw.io in your AI assistant on drawio.com/mcp.

Four Ways to Create Diagrams

This repository offers four approaches for integrating draw.io with AI assistants. Pick the one that fits your setup:


View the full README on GitHub

Details

Repository
github.com/jgraph/drawio-mcp
Website
www.drawio.com
Categories
Communication & Messaging, Data & Analytics
Transport
HTTP
Registry
MCP registry, active
Resources
1
Tools verified
Nov 13, 2026

Related Communication & Messaging MCP servers

View all
1atilaahmettaner avatarTradingMCPatilaahmettaner/tradingview-mcpMarket analysis for AI assistants: screeners, multi-timeframe analysis, backtests, in-chat charts.5.2Kstars
2openosint avatarOpenOSINTopenosint/openosintAI-powered OSINT agent & MCP server. 21 tools: email, breach, IP, WHOIS, DNS, Shodan, GitHub & more.1.9Kstars
3anypost avataremailmdanypost/emailmdRender markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.1.4Kstars
4chatmcp avatarChatsumchatmcp/mcp-server-chatsumQuery and Summarize your chat messages.1Kstars
5mcpso avatarChatsummcpso/mcp-server-chatsumQueries and summarizes chat messages from a chat database via MCP to provide concise summaries and insights.1Kstars
6alexander-zuev avatarSupabasealexander-zuev/supabase-mcp-serverQuery MCP enables end-to-end management of Supabase via chat interface: read & write query executions, management API support, automatic migration versioning, a821stars