Lets an assistant draw and edit a live draw.io diagram, shape by shape.
- Needs your setup first
- ★ 1.5K GitHub stars
- 443 downloads a week
- Last commit 13 Oct 2026
What is Draw.io MCP Server (lgazo)?
Draw.io MCP Server by Ladislav Gazo is an open source server that lets an assistant read and edit a live draw.io diagram shape by shape, in a built-in editor or on app.diagrams.net.
Ladislav Gazo's server drives a draw.io editor that is open in your browser. With the --editor flag it hosts the editor itself on your computer, so you open a local page and watch the model add shapes, connect them, group them, sort them into layers and pages, and import Mermaid diagrams. A browser extension can connect it to the draw.io website instead.
It is a different project from draw.io's own MCP server, which is also on this shelf. That one generates a diagram from a prompt; this one edits a diagram step by step while you watch, and can read back what is already on the canvas. Cloud provider and Cisco stencils are found automatically, so the model can place real AWS, Azure or GCP icons.
- Made by
- Ladislav Gazo (lgazo/drawio-mcp-server)
- Licence
- MIT
- Latest version
- 2.3.0 (15 Sept 2026)
- npm package
- drawio-mcp-server
- GitHub stars
- 1.5K
- Downloads
- 443 a week
- Last commit
- 13 Oct 2026
- Tools
- 30
- Runs on
- Your computer
- Setup checked
- 27 Oct 2026
- Page updated
- 27 Oct 2026
Our check: It needs something our Linux test machine does not have (an account, a desktop app, a Mac or a running service), so on 27 Oct 2026 we read its tools from the source code instead of running this config.
MCP Shelf take
Draw.io MCP Server (lgazo) needs something our Linux test machine does not have (an account, an app or a service), so on 27 Oct 2026 we read its source and counted 30 tools. 10 of the 30 only read; the other 20 can change things. It sits 14th of 14 in its category on our shelf by GitHub stars (1.5K, with 443 downloads a week).
What can Draw.io MCP Server (lgazo) read and change?
It can read
- The diagrams open in the connected editor or browser tab
It can change
- Shapes, connectors, layers and pages in those diagrams
- The saved file, when the model calls save-document
Safer setup: Work on a copy of an important diagram, and save it yourself after checking the changes.
What's in the pod
What tools does Draw.io MCP Server (lgazo) have?
We found 30 tools in its source code on 27 Oct 2026. 10 only read. The rest can change things, so keep your app's "ask before each tool call" setting on for them.
How we tested it: Tool list read from the source of drawio-mcp-server 2.3.0 (commit d2f7c32). The server would not stay up in our sandbox without a browser holding the editor.
Changes things20 tools · Can create, edit, send or delete.
| Tool | What it is for |
|---|---|
add-cell-of-shape | Adds any library shape, such as a database or an AWS icon. |
add-edge | Connects two shapes, with optional waypoints and style. |
add-rectangle | Adds a rectangle with text, position, size and style. |
copy-page | Duplicates a page. |
create-layer | Adds a layer. |
create-page | Adds a blank page. |
delete-cell-by-id | Deletes a shape or connector. |
edit-cell | Changes a shape's text, position, size or style. |
edit-edge | Changes a connector's text, ends, waypoints or style. |
export-diagram | Exports a page as SVG, PNG or draw.io XML. |
import-diagram | Imports draw.io XML, or an SVG or PNG with the diagram embedded. |
import-mermaid | Converts Mermaid code into draw.io shapes on a page. |
move-cell-to-layer | Moves a shape to another layer. |
rename-page | Renames a page. |
save-document | Runs draw.io's own File > Save. |
set-active-layer | Chooses the layer for new shapes. |
set-cell-data | Sets a custom attribute on a shape. |
set-cell-parent | Nests a shape inside another, for groups and containers. |
set-cell-shape | Restyles a shape to look like a library shape. |
set-document-title | Renames the open document. |
Only reads10 tools · Looks things up and changes nothing.
| Tool | What it is for |
|---|---|
get-active-layer | Shows which layer new shapes go into. |
get-current-page | Shows which page is visible. |
get-selected-cell | Returns the shape or connector you have selected. |
get-shape-by-name | Finds a shape by its name. |
get-shape-categories | Lists the shape libraries available, including cloud and Cisco stencils. |
get-shapes-in-category | Lists the shapes in one library. |
list-documents | Lists the draw.io documents connected to the server, so later calls can target one. |
list-layers | Lists the layers on a page. |
list-paged-model | Lists the shapes and connectors on a page, a batch at a time. |
list-pages | Lists the pages in the document. |
Grouped and described by us. The README on GitHub lists the inputs each tool takes.
How do I install Draw.io MCP Server (lgazo)?
Install steps from the Draw.io MCP Server (lgazo) README
The project's own instructions, copied from its README on GitHub on 27 Oct 2026 under its MIT licence. They are the source of truth; the ready-made configs further down are built from them. The rest of the README is in the README tab.
Quick Start
1. Configure your MCP host
Fastest path:
- Claude Code:
/plugin marketplace add lgazo/drawio-mcp-serverthen/plugin install drawio. - Any other host:
npx drawio-mcp-server install <host>where<host>isclaude-code,claude-desktop,codex,zed,opencode, orall.
See docs/PLUGINS.md for the full reference, flags, and uninstall, and docs/release.md for how releases are cut.
Manual install (JSON snippet, Claude Desktop example)
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": ["-y", "drawio-mcp-server", "--editor"]
}
}
}
For other MCP clients and detailed configuration (including pnpm options), see Configuration.
2. Open the editor
After restarting your MCP host, open: http://localhost:3000/
3. Start diagramming
Example prompts you can try:
"Create an event-driven architecture diagram showing a message queue with producers, consumers, and three backend services"
"Create a three-page event-driven architecture diagram. Use three agents in parallel for service topology, message flow, and retry/failure handling, with each agent assigned to a separate target page."
"Draw a CRUD API diagram with a database, API gateway, and four microservices with their endpoints"
"Add a new layer called 'Background' and move all decorative elements to it, then create a new layer for annotations"
Your AI assistant can now control the diagram using MCP tools.
What you need first
- Node.js 22 or newer
- A browser to open the local editor
Add Draw.io MCP Server (lgazo) to your app
Pick your app for a ready-to-paste snippet and where it goes, built from the steps above.
Where it goes: Your terminal, in the project folder
claude mcp add drawio-lgazo -- npx -y drawio-mcp-server --editorOr use the plugin: run /plugin marketplace add lgazo/drawio-mcp-server, then /plugin install drawio. Once the server is running, open http://localhost:3000/ to watch the diagram change.
Where it goes: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
"mcpServers": {
"drawio-lgazo": {
"command": "npx",
"args": [
"-y",
"drawio-mcp-server",
"--editor"
]
}
}
}Where it goes: claude_desktop_config.json (Settings → Developer → Edit Config)
{
"mcpServers": {
"drawio-lgazo": {
"command": "npx",
"args": [
"-y",
"drawio-mcp-server",
"--editor"
]
}
}
}Quicker: run npx drawio-mcp-server install claude-desktop and it writes this entry for you. Restart Claude, then open http://localhost:3000/ in your browser to see the editor.
Where it goes: .vscode/mcp.json in your project
{
"servers": {
"drawio-lgazo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"drawio-mcp-server",
"--editor"
]
}
}
}Where it goes: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"drawio-lgazo": {
"command": "npx",
"args": [
"-y",
"drawio-mcp-server",
"--editor"
]
}
}
}Where it goes: Not supported
ChatGPT only connects to remote servers by URL. This one runs on your computer, so use Claude, Cursor or VS Code.
After your client starts the server, open http://localhost:3000/ to see the editor. Leave out "--editor" if you use the browser extension with app.diagrams.net instead. Running npx drawio-mcp-server install claude-desktop (or claude-code, codex, zed, opencode) writes this config for you.
Checked against the project's own install docs on 27 Oct 2026: lgazo/drawio-mcp-server README, github.com/lgazo/drawio-mcp-server/blob/main/CONFIG.md.
New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.
Draw.io MCP Server (lgazo) not working? Common fixes
- The tools say no document is connected
- Open http://localhost:3000/ after the client starts the server, or make sure the browser extension shows a green signal.
- Port 3000 is already in use
- Another app has it. Add --http-port 4000 to the arguments and open that port instead.
- The server will not start
- It needs Node.js 22 or newer. Check with node --version.
- Firefox will not connect to the server
- Firefox needs the TLS mode. Turn it on as described in CONFIG.md; the server can make a local certificate for you.
How do I configure Draw.io MCP Server (lgazo)?
Names are exactly as the project spells them. Required ones are marked.
| Setting | What it does |
|---|---|
--editorCommand line flag | Hosts a draw.io editor on your computer at http://localhost:3000/. Without it, the server waits for the browser extension. |
--http-portCommand line flag | Moves the built-in editor to another port, if 3000 is taken.--http-port 4000 |
--extension-portCommand line flag | WebSocket port the browser extension connects to. Default 3333.--extension-port 3334 |
--transportCommand line flag | stdio (the default), http, or both, for clients that connect over the network.--transport stdio,http |
Draw.io MCP Server (lgazo) FAQ
How do I add Draw.io MCP Server to Claude Code?
Install the plugin with /plugin marketplace add lgazo/drawio-mcp-server and then /plugin install drawio, or run npx drawio-mcp-server install claude-code. Open http://localhost:3000/ to see the editor.
How do I use it with Claude Desktop?
Run npx drawio-mcp-server install claude-desktop, or add an entry that runs npx -y drawio-mcp-server --editor. Restart Claude and open the local editor in your browser.
How is this different from the official draw.io MCP server?
draw.io's own server builds a diagram from a prompt in one go. This one controls a live editor shape by shape, so it can read and change a diagram you already have.
Do I need the browser extension?
No. With --editor the server hosts the editor itself on port 3000. The extension is only for working on the draw.io website instead.
Does the draw.io desktop app work?
Not yet. The author says a security policy in the desktop app blocks the connection, so use the built-in editor or the website with the extension.
Why do the tools say no document is connected?
The server needs an open editor to work on. Open http://localhost:3000/ in a browser, or open app.diagrams.net with the extension installed, before asking for changes.
Does it work with ChatGPT?
No. It runs on your computer next to the editor, and ChatGPT only connects to remote servers by URL. Use Claude, Codex, Zed or OpenCode.
Is Draw.io MCP Server free?
Yes. It is MIT licensed, needs Node.js 22 or newer, and draw.io itself is free.
Draw.io MCP Server (lgazo) README
This is the project's own README from lgazo/drawio-mcp-server, written by Ladislav Gazo (lgazo/drawio-mcp-server), and shared under its MIT licence. We copied it on 27 Oct 2026, so the version on GitHub may be newer.
Draw.io MCP server
Let's do some Vibe Diagramming with the most wide-spread diagramming tool called Draw.io (Diagrams.net).
Key Highlights
Claude Code plugin:
/plugin marketplace add lgazo/drawio-mcp-serverthen/plugin install drawio, with/drawio-openand/drawio-statusslash commandsnpx drawio-mcp-server install <host>writes the MCP config forclaude-code,claude-desktop,codex,zed,opencode, orallDocument persistence tools:
set-document-titleandsave-documentDraw.io library API version compatibility mechanism
Enable Draw.io MCP in IFrames
AWS, GCP, Azure, Cisco19, and CiscoSafe stencils auto-discovered at runtime from drawio's sidebar
Multi-document targeting with
list-documentsandtarget_documentselectors for multi-tab workflowsMulti-page targeting with required
target_pageselectors for page-scoped toolsPer-document FIFO serialization for live operations, so multiple agents can work on different files safely
Page management tools:
list-pages,get-current-page,create-page,copy-page,rename-pageImport, embed, or expand Mermaid diagrams
Firefox support is back, TLS mode is necessary
Server supports TLS mode and optionally generates self-signed certificates
Import and export diagrams from/to XML, SVG (with embedded XML), or PNG (with embedded XML)
Edge geometry control with waypoints and automatic self-connector routing
Parent-child relationships for nested shapes and grouping
Unified Server and Extension in the same mono-repo
Built-in Draw.io editor - no browser extension required
MCP server that lets AI agents control Draw.io diagrams
Programmatic diagram creation, inspection, and modification via MCP tools
Layer management for complex diagrams
Works with any MCP client (Claude Desktop, Claude Code, Zed, Codex, etc.)
Introduction
The Draw.io MCP server brings Draw.io diagramming capabilities to AI agents. It provides MCP tools that can create, read, update, and delete diagram elements - letting AI assistants build architectural diagrams, flowcharts, and visual documentation automatically.
Two ways to use:
- Built-in editor - Server hosts Draw.io directly, accessible in your browser
- Browser extension - Connect to Draw.io running in your browser via extension
Experimental: integration with the draw.io desktop (Electron) app is in progress but currently blocked by an upstream CSP issue — see DESKTOP.md.
Requirements
- Node.js (v22 or higher; tested against v22 LTS and v24 LTS) - Runtime environment for the MCP server
- MCP client - Claude Desktop, Claude Code, Zed, Codex, OpenCode, or any MCP-compatible host
For Built-in Editor
No additional requirements - runs out of the box with --editor flag.
For Browser Extension
- Browser extension - drawio-mcp-extension
- Draw.io open in your browser
Optional
- pnpm - Preferred package manager (npm works fine too)
Quick Start
1. Configure your MCP host
Fastest path:
- Claude Code:
/plugin marketplace add lgazo/drawio-mcp-serverthen/plugin install drawio. - Any other host:
npx drawio-mcp-server install <host>where<host>isclaude-code,claude-desktop,codex,zed,opencode, orall.
See docs/PLUGINS.md for the full reference, flags, and uninstall, and docs/release.md for how releases are cut.
Manual install (JSON snippet, Claude Desktop example)
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": ["-y", "drawio-mcp-server", "--editor"]
}
}
}
For other MCP clients and detailed configuration (including pnpm options), see Configuration.
2. Open the editor
After restarting your MCP host, open: http://localhost:3000/
3. Start diagramming
Example prompts you can try:
"Create an event-driven architecture diagram showing a message queue with producers, consumers, and three backend services"
"Create a three-page event-driven architecture diagram. Use three agents in parallel for service topology, message flow, and retry/failure handling, with each agent assigned to a separate target page."
"Draw a CRUD API diagram with a database, API gateway, and four microservices with their endpoints"
"Add a new layer called 'Background' and move all decorative elements to it, then create a new layer for annotations"
Your AI assistant can now control the diagram using MCP tools.
Features
The server provides MCP tools for:
- Document discovery - list connected Draw.io document instances and route later calls to a specific tab/file instance
- Diagram inspection - read shapes, pages, layers, and cell properties
- Diagram modification - add/edit/delete shapes, edges, and labels on a target page
- Page management - list pages, inspect the current page, create pages, copy pages, and rename pages without forcing a visible page switch on supported runtimes
- Layer management - create, switch, and organize layers
- Vendor shape coverage - AWS, GCP, Azure, Cisco19, and CiscoSafe stencils auto-discovered at runtime from drawio's sidebar, so agents can place icons like
mxgraph.gcp2.cloud_runormxgraph.cisco19.routerwithout hand-curated catalogs - Built-in TLS — opt-in HTTPS + WSS with manual cert/key or auto-generated self-signed material via a per-user local CA. See CONFIG.md → TLS.
See Tools Reference for the complete list of available tools.
Installation
The server runs as part of your MCP host. Detailed configuration for all supported clients (Claude Desktop, Claude Code, Zed, Codex, oterm) including npm and pnpm options is available in Configuration.
Alternative: Browser Extension
Instead of the built-in editor, you can use the browser extension to connect to Draw.io running in your browser. This works with or without the --editor flag.
- Open Draw.io in your browser
- Install the Draw.io MCP Browser Extension:
- Ensure the extension is connected (green signal overlay on icon)
Configuration without --editor:
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": ["-y", "drawio-mcp-server"]
}
}
}
See the extension documentation for more details.
Experimental: Draw.io Desktop
Integration with the draw.io desktop (Electron) app is experimental and currently blocked end-to-end by an upstream CSP issue. The plugin loads inside draw.io desktop, but its WebSocket connection back to the MCP server is rejected by draw.io's hard-coded connect-src 'self' policy.
See DESKTOP.md for the full setup steps and the current limitation.
Related Resources
Configuration - CLI flags and advanced options
Tools Reference - Complete MCP tools documentation
Draw.io Desktop (experimental) - install path and known CSP limitation
Star History
Assessments
Two peas, one chat
Chat with AI about Draw.io MCP Server (lgazo)
Opens a chat primed with Draw.io MCP Server (lgazo)’s README and setup docs from this page, or add it in Cursor to use its tools.
The Cursor button opens Cursor and asks before it adds the server. Fill in any keys it needs in Cursor’s MCP settings.
Peas in a pod
What are the alternatives to Draw.io MCP Server (lgazo)?
How Draw.io MCP Server (lgazo) lines up against its neighbours on the shelf. See every design, 3d and games server.

Draw.io MCP Server (lgazo)This pea
Lets an assistant draw and edit a live draw.io diagram, shape by shape.
- Tools
- 30
- Runs on
- Your computer
- Licence
- MIT
- Stars
- 1.5K

Prompt-driven modelling in a running copy of Blender.
- Tools
- 9
- Runs on
- Your computer
- Licence
- MIT
- Stars
- 32.4K

Feeds Figma layout and styling to coding agents so the UI matches the design.
- Tools
- 2
- Runs on
- Your computer
- Licence
- MIT
- Stars
- 16.1K

Read and edit Figma documents from an agent, through a Figma plugin.
- Tools
- 40
- Runs on
- Your computer
- Licence
- MIT
- Stars
- 7.1K

Launch, run and debug Godot projects, and read the output.
- Tools
- 14
- Runs on
- Your computer
- Licence
- MIT
- Stars
- 6.4K

Create boards, place footprints and route traces in KiCad from an assistant.
- Tools
- 247
- Runs on
- Your computer
- Licence
- MIT
- Stars
- 3K
Something wrong on this page? Tell us.