# Reported issues for draw.io

Pod holds 21 of 26 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [draw.io](/mcp/draw-io-2).

## Most discussed

### Bug: MCP-App-Server - Wrapping <mxCell> in <object> for metadata causes styles to not render

# Bug Report 
## Description
When introducing metadata through attributes on <object> tags, the MCP App Server fails to show the objects in the diagram, resulting in blank spaces. Exporting the XML / opening in the editor results in icons showing as normal, suggesting this is an issue unique to the embedded viewer.

## Steps to reproduce
Enter the following prompt into Claude with the draw.io MCP instance installed. 

Creating the following diagram using the draw.io MCP
```xml
<mxGraphModel dx="

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/46) · 2026-06-16 · closed · external user · 2 comments

### open_drawio_xml causes MCP transport to close on Windows/Codex, while Mermaid and CSV work

e

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/34) · 2026-05-10 · closed · external user · 2 comments

### Feature: Resolve img/lib/ SVG references in create_diagram for inline rendering

## Summary

When using `create_diagram` via the MCP App Server (`mcp.draw.io/mcp`), shapes that reference SVGs from draw.io's asset library (`image=img/lib/azure2/...`, `img/lib/aws4/...`, etc.) render as broken image placeholders in the inline viewer. Only built-in vector stencils (`shape=mxgraph.*`) render correctly.

This affects **all** of draw.io's modern icon libraries — Azure, AWS, GCP, Cisco, Kubernetes, SAP, and more — since `search_shapes` returns `image=img/lib/...` relative paths for

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/25) · 2026-04-08 · closed · external user · 3 comments

### Bug: `create_diagram` returns generic error with no diagnostic info (regression of #10)

## Description
The `create_diagram` tool consistently returns a generic error with no diagnostic information, making it impossible to understand the root cause of the failure.

This is a regression of #10, which was closed on 2026-03-03 with no confirmed fix — the only maintainer response was asking for the prompt, with no follow-up after the author replied.

## Steps to Reproduce
Attempted three calls with progressively simpler XML to isolate the issue:

**Attempt 1** – Full flowchart (~15 node

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/22) · 2026-04-01 · closed · external user · 3 comments

### Feature suggestion: Auto-trigger, diagram type picker, and default output paths for the Claude Code skill

Hey! First off, thanks for building this skill — it's been super useful in my workflow with Claude Code.                                                                                                  
                                                                                                                                                                                                            
  I've been using it daily and made a few small tweaks on my local copy that have improved t

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/20) · 2026-03-20 · closed · external user · 2 comments

### Bug: URL fragment (#create=...) stripped when MCP host launches browser, resulting in blank diagram

Environment

MCP Host: Claude.ai (web interface, remote MCP server)
MCP Server URL: https://mcp.draw.io/mcp (MCP App integration in claude.ai)
Browser: Chrome (latest stable)
OS: Windows 11

Description
When using the draw.io MCP tools (open_drawio_xml, open_drawio_csv, open_drawio_mermaid) via the remote MCP server integration in claude.ai, the generated app.diagrams.net URL opens in the browser but the diagram canvas is completely blank.
The tools return a correctly formed URL with diagram dat

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/16) · 2026-03-11 · closed · external user · 3 comments

### Allow to read and update the diagrams of our accounts

We can only draw diagrams; we cannot read them.

The next level is to be able to read and update our projects, rather than creating new ones each time there's a modification.

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/7) · 2026-02-17 · closed · external user · 3 comments

### Official Hosted Endpoint not working with ChatGPT

Hi there,

I'm trying to set up the MCP server (official hosted endpoint) from this guide here:
https://github.com/jgraph/drawio-mcp/blob/main/mcp-app-server/README.md

I can get it setup in Claude, but not ChatGPT. I don't get errors in ChatGPT, but I don't see the added connector. Could you confirm this works in ChatGPT?

<img width="662" height="922" alt="Image" src="https://github.com/user-attachments/assets/13658d74-5f03-4882-be48-988e2cf4268c" />

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/4) · 2026-02-14 · closed · external user · 8 comments

## Most recent

### Error during previewing and exporting because the GPU initialization of draw.io failed

```
• Ran & 'C:\Program Files\draw.io\draw.io.exe' -x -f png -b 20 -o '.\something-original-preview.png' '.\something.drawio'
  └
    [40660:0813/193406.410:ERROR:components\os_crypt\sync\os_crypt_win.cc:106] Failed to decrypt: Key not valid for use
    … +30 lines (ctrl + t to view transcript)
    [40660:0813/193406.578:FATAL:content\browser\gpu\gpu_data_manager_impl_private.cc:418] GPU process isn't usable.
    Goodbye.
```

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/66) · 2026-08-14 · open · external user · 0 comments

### postinstall.js crashes with libuv UV_HANDLE_CLOSING assertion on Windows (Node 22 and 24)

## Describe the bug

`npm install -g @drawio/mcp` fails on Windows every time. The install runs, then crashes during the postinstall step with a native libuv assertion failure, not a JavaScript error:

Assertion failed: !(handle->flags & UV_HANDLE_CLOSING), file src\win\async.c, line 76

This is a known category of Node/libuv bug on Windows (tracked upstream at nodejs/node#56645), where an async handle is closed while still marked as closing. It appears to trigger from something in postinstall.j

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/65) · 2026-08-13 · open · external user · 1 comment

### Error when installing using `npx @drawio/mcp` command

I get the following output when trying to install the MCP server on Windows using the command `npx @drawio/mcp` on Powershell:

```powershell
npm warn cleanup Failed to remove some directories [
npm warn cleanup   [
npm warn cleanup     '\\\\?\\C:\\Users\\user\\AppData\\Local\\npm-cache\\_npx\\56d755bf05e5ecee\\node_modules\\@modelcontextprotocol',
npm warn cleanup     [Error: EPERM: operation not permitted, rmdir 'C:\Users\user\AppData\Local\npm-cache\_npx\56d755bf05e5ecee\node_modules\@modelco

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/59) · 2026-08-08 · open · external user · 0 comments

### Bug: windows mcp tool server error

<img width="1920" height="1440" alt="Image" src="https://github.com/user-attachments/assets/81974df0-e0c8-4f9f-9268-f55cd66c4983" />

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/54) · 2026-07-15 · open · external user · 1 comment

### vscode does not see drawio mcp server running even it is running

then i add the mcp server 
https://mcp.draw.io/mcp
to the vscode mcp.json file, even if i start it, i can't have github copilot use it.

Most likely cause: the tools' internal name (drawio-mcp-ap) and terse schemas rank poorly in the semantic tool-search, and/or VS Code hasn't fully handshaked/activated the drawio server for this agent session even though its manifest is cached in the deferred list.

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/47) · 2026-06-18 · closed · external user · 1 comment

### Question / Feature Request: Clear documentation for 100% offline/local usage

### Context
I am setting up this MCP server in an environment with strict data restrictions. I need to ensure that no diagram data (XML structures or layouts) leaves my local machine.

### Questions
1. **Is 100% local operation fully supported?** 
   When using tools to create or export diagrams to PNG/SVG for the LLM, does the server fallback to any cloud endpoints (like `convert.diagrams.net`) if local dependencies are missing?

2. **Can Draw.io Desktop be used as a local renderer?**
   If the

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/41) · 2026-06-02 · closed · external user · 1 comment

### Feature: Add browser URL output mode to skill-cli

## Summary

Add a `url` output mode to the Claude Code skill that generates a draw.io browser URL (same mechanism as the MCP Tool Server), so users can open diagrams in the browser without running a separate MCP server or installing draw.io Desktop.

## Motivation

Currently, the four integration approaches serve different needs:

| Approach | Output | Fixed context cost | Dependencies |
|---|---|---|---|
| MCP App Server | Inline in chat | Low (remote) | MCP Apps host |
| MCP Tool Server | Brow

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/40) · 2026-05-24 · closed · external user · 0 comments

### mcp-tool-server: add support for providing url to sef-hosted draw.io

Thanks for sharing this great work. In order to use a self-hosted draw io instance, it would be useful to have the drawio base url be configureable 

Currently, it seems not possible yet

https://github.com/jgraph/drawio-mcp/blob/675f485cc9f6a2e63a571b60f7086990f0602a30/mcp-tool-server/src/index.js#L135
https://github.com/jgraph/drawio-mcp/blob/675f485cc9f6a2e63a571b60f7086990f0602a30/mcp-tool-server/src/index.js#L14
https://github.com/jgraph/drawio-mcp/blob/675f485cc9f6a2e63a571b60f7086990f0602

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/39) · 2026-05-22 · closed · external user · 1 comment

### Fix the command for finding draw.io on Windows systems

SKILL.md, line **91**:

Use `which drawio` (or `where drawio` on Windows) to check if it's on PATH before falling back to the platform-specific path.

`drawio` shoule be fixed to `draw.io`

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/37) · 2026-05-18 · closed · external user · 0 comments

### Improve create_diagram Error Messages and Documentation

## Summary

Context fresh install in Vscode environment , with objective to create classic blog solution architecture diagram on AWS and GCP.

The `create_diagram` tool produces a generic "must NOT have additional properties" error when users pass parameters that aren't in the schema. This error is confusing for new users and doesn't indicate which properties are invalid. Additionally, the tool's strict schema (XML/Mermaid as simple strings) is not obvious from the error message or README docume

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/36) · 2026-05-12 · closed · external user · 1 comment

### run npm start error on main branch

node:internal/modules/cjs/loader:1144
  const err = new Error(message);
              ^

Error: Cannot find module './postprocessor/postprocess.js'
Require stack:
- /Users/maochaobo/study_projects/drawio-mcp/mcp-tool-server/src/index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at f

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/31) · 2026-04-27 · closed · external user · 1 comment

### search_shapes returns unavailable shapes

In conjunction with jgraph/drawio:29.6.10. drawio-mcp server returns unavailable shapes when agent uses search_shapes.

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/27) · 2026-04-14 · closed · external user · 1 comment

### Validate content parameter type in mcp-tool-server

## Summary

The `open_drawio_*` tools accept any value for the `content` parameter without validating it is a string. When callers accidentally pass objects or nested JSON structures, the error messages from draw.io are cryptic and unhelpful.

## Problem

Current validation in `mcp-tool-server/src/index.js` (around line 272) only checks if `content` is truthy:

```javascript
if (!inputContent) {
  return { content: [{ type: "text", text: "Error: content parameter is required" }], isError: true }

[Read the thread](https://github.com/jgraph/drawio-mcp/issues/23) · 2026-04-02 · closed · external user · 1 comment

