drawio-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_diagramA | Create a new empty draw.io diagram file. The file will be immediately visible in the VS Code draw.io extension. |
| read_diagramA | Read and parse a draw.io diagram file, returning a structured overview of all pages, nodes (shapes), and edges (connections). |
| add_nodeA | Add a new node (shape/vertex) to a draw.io diagram. Use the "shape" parameter for predefined styles, or provide a custom "style" string. |
| add_edgeA | Add a connection (edge/arrow) between two nodes in a draw.io diagram. LAYOUT TIPS for readable diagrams:
|
| batch_add_elementsA | Add multiple nodes and edges to a draw.io diagram in a single operation. Much more efficient than calling add_node/add_edge individually — performs only one file read and one file write regardless of how many elements are added. Use this for building entire diagrams or adding multiple components at once. LAYOUT BEST PRACTICES:
|
| update_elementA | Update properties of an existing node or edge in a draw.io diagram. Only specified properties are changed. |
| remove_elementA | Remove a node or edge from a draw.io diagram by its ID. Also removes any edges connected to a removed node. |
| add_pageB | Add a new page (tab) to a draw.io diagram. |
| get_diagram_stylesA | List all available predefined shape and edge styles for use with add_node and add_edge. |
| undo_last_operationA | Undo the last MCP operation on a draw.io diagram, restoring the file to its previous state. Works independently of the draw.io editor undo. |
| redo_last_operationA | Redo the last undone MCP operation, re-applying the changes to the diagram file. |
| get_change_historyA | Get the history of recent MCP operations on draw.io diagrams. Shows operation type, description, timestamp, and affected elements. |
| highlight_elementA | Temporarily highlight one or more elements in the draw.io diagram with a flash effect. If the companion extension is connected, uses overlay highlighting. Otherwise, temporarily modifies the element style. |
| show_statusA | Display a status message in the draw.io editor status bar. Useful for showing what the AI is currently doing. Requires the companion extension. |
| show_spinnerA | Show or hide a loading spinner in the draw.io editor. Use show=true when starting a long operation and show=false when done. |
| show_ai_cursorB | Show an AI cursor indicator at a specific position in the draw.io diagram. Requires the companion VS Code extension to be connected. |
| show_ai_selectionA | Highlight specific cells in the draw.io diagram as being selected/edited by AI. Shows a colored overlay around the cells. Requires the companion VS Code extension. |
| screenshot_diagramA | Capture a screenshot (PNG image) of the current draw.io diagram as it appears in the editor. Returns the image so a vision-capable model can analyze the visual layout, styling, and readability. Requires the diagram to be open in VS Code with the companion extension connected. |
| check_connectionA | Check the WebSocket sidecar connection status. Reports whether the sidecar server is running and how many companion extension / draw.io plugin clients are connected. Useful for diagnosing live-edit features. |
| check_layoutA | Analyze a draw.io diagram for layout issues. Returns warnings about:
Each warning includes direction-aware suggestions that consider cascading conflicts — e.g. if moving node A right would collide with node B, the suggestion warns about it and recommends moving B first. For edge-passes-through-node issues, suggestions include moving the blocking node, changing edge style to "curved" or "orthogonal", or using connection points to reroute. Call this after building/modifying a diagram to detect readability problems. Use the suggestions to fix issues via update_element. |
| apply_layoutA | Trigger a draw.io built-in automatic layout algorithm on the diagram. Requires the diagram to be open in VS Code with the companion extension connected. Available layouts:
After layout, draw.io saves the updated positions back to the .drawio file automatically. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| flowchart | Generate a flowchart from a process description. Provide a description of the process steps and this prompt will guide the AI to create a complete flowchart diagram. |
| architecture | Generate an architecture diagram from a system description. Describe the components and their interactions. |
| sequence-diagram | Generate a sequence diagram showing interactions between actors/systems over time. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| setup-instructions | Setup instructions for the draw.io MCP server, including required VS Code extensions and companion bridge |
| diagram-files | List all .drawio and .dio files in the current working directory |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/abossard/drawio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server