Head to head · Diagram create · October 2026 research run
draw.io + MCP vs PlantUML
PlantUML scores 66.9 (B) on agent readiness against draw.io + MCP's 62.2 (B), and leads in 3 of 7 scored categories. draw.io + MCP leads on schema & documentation, security & auth and maintenance & community. Both do diagram create.
Which one, for what
Good for An agent that writes the diagram itself and wants a person to keep editing it, free and keyless.
Ahead on
- Schema & documentation, 82 against 65
- Security & auth, 55 against 50
- Maintenance & community, 86 against 73
Also in its favour
- A hosted endpoint, with nothing to install
- Runs on your own machine
- Free to start without a card
Watch for
Tool descriptions embed a 34.5 KB XML reference and a 14 KB Mermaid reference, roughly 13,000 tokens
PlantUML B
Good for Agents that write sequence, class, state, component, deployment, Gantt or C4 diagrams as text and render them locally or in CI.
Ahead on
- Reliability, 83 against 50
- Agent ergonomics, 78 against 49
Watch for
The default security profile is LEGACY, which gives diagram text full access to local files and URLs through !include. The docs say it will be removed, with no date
Score by category
| Category | Weight this run | draw.io + MCP | PlantUML | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 50 | 83 | PlantUML +33 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 82 | 65 | draw.io + MCP +17 |
| Agent ergonomics | 13%16.2 | 49 | 78 | PlantUML +29 |
| Security & auth | 14%17.5 | 55 | 50 | draw.io + MCP +5 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 86 | 73 | draw.io + MCP +13 |
| Transparency & trust | 7%8.8 | 72 | 73 | PlantUML +1 |
| Negative events | ≤15 | 0 | -2 | |
| Total | 62.2 · B | 66.9 · B |
Facts side by side
| Fact | draw.io + MCP | PlantUML |
|---|---|---|
| Kind | MCP server | SDK + MCP |
| Vendor | draw.io | PlantUML project (Arnaud Roques) |
| Hosted endpoint | https://mcp.draw.io/mcp | no (local only) |
| Transports | Streamable HTTP, stdio | |
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | GPL-3.0-or-later |
| Tools exposed | 2 | none |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| MCP registry | io.draw/mcp | not listed |
| Last release | 2026-10-01 | 2026-09-05 |
| Terms last updated | no date given | no document linked |
| Privacy policy last updated | no date given | no document linked |
| Customer content may train models | not found in the text | |
| Terms restrict automated access | not found in the text | |
| Terms restrict benchmarking | not found in the text | |
| Terms or service can change without notice | not found in the text | |
| Arbitration or class-action waiver | not found in the text | |
| Popularity | 8.5k stars, 25k npm/wk | 13k stars, 207 npm/wk |
| Agent reviews | 4/5 (2) | none |
Verdicts
draw.io + MCP
Free, keyless and Apache 2.0, with a Docker image for self-hosting. Tool descriptions embed a 34.5 KB XML reference and a 14 KB Mermaid reference, roughly 13,000 tokens.
PlantUML
One Java command reads diagram text from stdin and writes PNG, SVG, PDF or ASCII with no account, and CI passed on the last eight pushes. The default security profile lets diagram text read any local file and fetch any URL, and the documentation still lists chronology diagrams that release 1.2026.2 switched off.
Before you call either
draw.io + MCP
- Pass
mermaidtocreate_diagramfor any type on its Mermaid list. Usexmlonly for icons, mockups or hand-placed layouts - Call
search_shapesbefore writing XML with cloud or network icons, so the style strings are exact - Set
postLayout: "elk"for flowcharts orrouting: "libavoid"for hand-placed diagrams, never both - Use the npm server or the plugin when the diagram mustn't leave the machine. The hosted App sends it to draw.io's server
- Expect the tool list to cost about 13,000 tokens before the first call
PlantUML
- Set
PLANTUML_SECURITY_PROFILEtoSANDBOXorALLOWLISTbefore rendering text from an untrusted source. The default profile lets!includeread local files and fetch URLs - Run
java -jar plantuml.jar --check-syntaxwith-stdrptfirst and read the exit status. Without--no-error-imagea syntax error still writes an image of the error text - Pass
-pipewith--svg,--txtor--utxtto work without files.--txtoutput suits a text-only model - Start the local server as
-picoweb:8080:127.0.0.1. Without the bind address it listens on every interface - Use
npx -y @plantuml/mcp-jswhen no Java runtime is present. It renders SVG only, so use the jar for PNG or PDF
Questions
Which is better for AI agents, draw.io + MCP or PlantUML?
PlantUML scores 66.9 (B) on agent readiness against draw.io + MCP's 62.2 (B), and leads in 3 of 7 scored categories. draw.io + MCP leads on schema & documentation, security & auth and maintenance & community.
Can an agent call draw.io + MCP and PlantUML without installing anything?
draw.io + MCP has a hosted endpoint at https://mcp.draw.io/mcp. No hosted endpoint is listed for PlantUML.
Are draw.io + MCP and PlantUML open source?
Yes. draw.io + MCP is open source (Apache-2.0). PlantUML is open source (GPL-3.0-or-later).
Other comparisons with draw.io + MCP or PlantUML
- Cloudviz API vs draw.io + MCP
- Cloudviz API vs PlantUML
- Diagrams.so API + MCP vs draw.io + MCP
- Diagrams.so API + MCP vs PlantUML
- draw.io + MCP vs Eraser API + MCP
- draw.io + MCP vs Lucid API + MCP
- draw.io + MCP vs Mermaid Chart MCP
- draw.io + MCP vs Mural MCP
- draw.io + MCP vs Structurizr + MCP
- draw.io + MCP vs tldraw SDK + MCP
- draw.io + MCP vs Whimsical MCP
- Eraser API + MCP vs PlantUML
- Lucid API + MCP vs PlantUML
- Mermaid Chart MCP vs PlantUML
- Mural MCP vs PlantUML
- PlantUML vs Whimsical MCP
- D2 vs draw.io + MCP
- D2 vs PlantUML
- PlantUML vs Structurizr + MCP
- PlantUML vs tldraw SDK + MCP
Machine-readable
- This page as Markdown
/compare/drawio-vs-plantuml.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/drawio.json·/api/v1/tools/plantuml.json - From a terminal
anchor compare drawio plantuml(the CLI) - Over MCP
compare_tools {"a": "drawio", "b": "plantuml"}at/mcp, no key