← Back to directory
D

draw.io MCP Server

Official
Create and render live, interactive draw.io diagrams inline in chat.
GitHub source repository ↗
★ 5.3k Stars Category · Other Very popular Source revision 14b318b19cc3
68FMRS · C
Reliability
9/20
Security and permissions
14/20
Maintenance
15/20
Documentation
16/20
Setup experience
14/20

Official draw.io MCP App Server that renders interactive diagrams inline in chat via the hosted mcp.draw.io endpoint, offering create_diagram and search_shapes tools; requires no install but sends diagram data to the cloud by default, with self-hosting available for stricter data residency needs.

Read the FMRS scoring method →

The draw.io MCP App Server is the official draw.io MCP server that renders diagrams inline in AI chat interfaces using the MCP Apps protocol, appearing as interactive iframes instead of opening a browser tab. The official hosted endpoint at https://mcp.draw.io/mcp can be added as a remote MCP server to Claude.ai, Cursor, or any MCP Apps-compatible host with no installation required; it can also be run locally via Node.js or deployed to your own Cloudflare Workers instance. It exposes two tools: create_diagram, which renders draw.io XML as an interactive diagram inline in the conversation, and search_shapes, which searches over 10,000 shapes across draw.io's libraries (AWS, Azure, GCP, P&ID, electrical, Cisco, Kubernetes, UML, BPMN, etc.) by keyword, falling back to the draw.io icon service when no strong local match exists, and returns exact style strings usable directly in XML.

Tools

create_diagram
Renders draw.io XML as an interactive diagram inline in chat
search_shapes
Searches draw.io's shape libraries by keyword and returns exact style strings for use in XML

Setup

Add https://mcp.draw.io/mcp as a remote MCP server URL in Claude.ai, Cursor, or another MCP Apps-compatible host's settings — no installation required. To self-host instead, clone the repo and run cd mcp-app-server && npm install && npm start, or deploy to Cloudflare Workers; set the VIEWER_PATH environment variable at build time to inline the viewer and avoid loading it from viewer.diagrams.net.

claude_desktop_config.json
{"mcpServers": {"drawio": {"url": "https://mcp.draw.io/mcp"}}}

Fit and risk

Best for

  • Users who want inline diagram previews without leaving the chat
  • Teams brainstorming architecture or process diagrams in Claude.ai or Cursor
  • Users comfortable relying on the hosted mcp.draw.io endpoint

Not for

  • Users needing local .drawio files, PNG/SVG/PDF export, or Mermaid/CSV input (use the MCP Tool Server or Assistant Plugins instead)
  • Strict data-residency environments that cannot send diagram XML to the hosted mcp.draw.io endpoint (self-hosting required)
  • MCP hosts without MCP Apps extension support, where diagrams return as text only

Required permissions

  • Sends diagram XML data to the hosted mcp.draw.io endpoint unless self-hosted
  • Loads draw.io viewer application code from app.diagrams.net / viewer.diagrams.net by default
  • No local filesystem or system access required when used as the hosted remote server

Risks and side effects

  • Diagram content is sent to draw.io's hosted server when using the default mcp.draw.io endpoint
  • Outbound requests to app.diagrams.net/viewer.diagrams.net load viewer code by default unless built with VIEWER_PATH
  • Inline rendering depends on the host supporting the MCP Apps extension; otherwise only raw XML text is returned

Troubleshooting

  1. If diagrams don't render inline, confirm the host supports the MCP Apps extension
  2. On Cursor versions older than 2.6, use the stdio-based @drawio/mcp Tool Server instead
  3. For strict data residency, self-host via Node.js or Cloudflare Workers instead of the hosted endpoint
  4. Call search_shapes before create_diagram to get correct shape style strings

Use cases

Sketch architecture diagrams during a chat conversation
Visualize flowcharts, UML, network diagrams, and BPMN inline
Search for and insert correctly-styled shapes (AWS, Azure, GCP, Cisco, Kubernetes icons, etc.) into diagrams

Supported clients

Claude.aiFull support
CursorFull support
VS CodePartial support