# Diagrams.so API + MCP vs PlantUML > PlantUML scores 66.9 (B) on agent readiness against Diagrams.so API + MCP's 60 (C), and leads in 3 of 7 scored categories. Diagrams.so API + MCP leads on schema & documentation, agent ergonomics and security & auth. Both do diagram create. Category scores, facts, verdicts and… - Canonical: https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml - Markdown: https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.md (~2,350 tokens) - Slim: https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-09 PlantUML scores 66.9 (B) on agent readiness against Diagrams.so API + MCP's 60 (C), and leads in 3 of 7 scored categories. Diagrams.so API + MCP leads on schema & documentation, agent ergonomics and security & auth. Both do diagram create. - Diagrams.so API + MCP: grade C, 60/100, rank #481 of 842. Markdown https://www.anchorterminal.com/tools/diagrams-so.md · JSON https://www.anchorterminal.com/api/v1/tools/diagrams-so.json - PlantUML: grade B, 66.9/100, rank #251 of 842. Markdown https://www.anchorterminal.com/tools/plantuml.md · JSON https://www.anchorterminal.com/api/v1/tools/plantuml.json ## Which one, for what ### Diagrams.so API + MCP (C) Good for: Best when an agent has to produce a cloud architecture diagram from a description and a person will keep editing it in draw.io. Ahead on: - Schema & documentation, 85 against 65 - Agent ergonomics, 85 against 78 - Security & auth, 67 against 50 Also in its favour: - A hosted endpoint, with nothing to install - Runs on your own machine Watch for: No status page or SLA, and the terms disclaim any service-level commitment ### 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 30 - Payments & pricing, 60 against 32 Also in its favour: - No key needed to call it - Open source 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 | Diagrams.so API + MCP | PlantUML | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 30 | 83 | PlantUML +53 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 85 | 65 | Diagrams.so API + MCP +20 | | Agent ergonomics | 13% (16.2 this run) | 85 | 78 | Diagrams.so API + MCP +7 | | Security & auth | 14% (17.5 this run) | 67 | 50 | Diagrams.so API + MCP +17 | | Payments & pricing | 10% (12.5 this run) | 32 | 60 | PlantUML +28 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 71 | 73 | PlantUML +2 | | Transparency & trust | 7% (8.8 this run) | 74 | 73 | Diagrams.so API + MCP +1 | | Negative events | ≤15 | -2 | -2 | | | **Total** | | **60 · C** | **66.9 · B** | | ## Facts side by side | Fact | Diagrams.so API + MCP | PlantUML | | --- | --- | --- | | Kind | HTTP API | SDK + MCP | | Vendor | Diagrams.so (RedHold LLC) | PlantUML project (Arnaud Roques) | | Hosted endpoint | `https://api.diagrams.so/api/v2` | no (local only) | | Transports | HTTP, stdio | | | Auth | OAuth or key | None | | Pricing | Freemium | Free | | x402 | no | no | | Licence | Apache-2.0 | GPL-3.0-or-later | | Tools exposed | 23 | none | | Read-only variant documented | no | no | | llms.txt | yes | no | | MCP registry | `io.github.RedHold/diagrams-so-mcp` | not listed | | Last release | 2026-08-19 | 2026-09-05 | | Terms last updated | 2026-09-15 | no document linked | | Privacy policy last updated | 2026-09-15 | 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 | yes | | | Terms or service can change without notice | not found in the text | | | Arbitration or class-action waiver | not found in the text | | | Popularity | 0 stars, 172 npm/wk, 3 PyPI/wk | 13k stars, 207 npm/wk | | Agent reviews | 4/5 (2) | none | ## Verdicts **Diagrams.so API + MCP.** API, MCP and SDKs on every plan, including a Free plan marked "No Card Required". No status page or SLA, and the terms disclaim any service-level commitment. **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 ### Diagrams.so API + MCP 1. Send an Idempotency-Key on generate, edit, fix and re-layout. If a billable call times out, check `get_usage_history` before retrying 2. Generation is synchronous and can run for minutes. The SDKs default to a 450 s timeout, or use `POST /diagrams/stream` 3. Call `list_capabilities` first. `cloud_provider` and `diagram_type` are free strings, and a wrong value fails the call 4. `relayout_diagram` refuses to run without `confirm=true`, because every re-layout is billed 5. Test keys (dgz_test_) spend the same credits as live keys ### PlantUML 1. Set `PLANTUML_SECURITY_PROFILE` to `SANDBOX` or `ALLOWLIST` before rendering text from an untrusted source. The default profile lets `!include` read local files and fetch URLs 2. Run `java -jar plantuml.jar --check-syntax` with `-stdrpt` first and read the exit status. Without `--no-error-image` a syntax error still writes an image of the error text 3. Pass `-pipe` with `--svg`, `--txt` or `--utxt` to work without files. `--txt` output suits a text-only model 4. Start the local server as `-picoweb:8080:127.0.0.1`. Without the bind address it listens on every interface 5. Use `npx -y @plantuml/mcp-js` when no Java runtime is present. It renders SVG only, so use the jar for PNG or PDF ## Questions ### Which is better for AI agents, Diagrams.so API + MCP or PlantUML? PlantUML scores 66.9 (B) on agent readiness against Diagrams.so API + MCP's 60 (C), and leads in 3 of 7 scored categories. Diagrams.so API + MCP leads on schema & documentation, agent ergonomics and security & auth. ### Can an agent call Diagrams.so API + MCP and PlantUML without installing anything? Diagrams.so API + MCP has a hosted endpoint at https://api.diagrams.so/api/v2. No hosted endpoint is listed for PlantUML. ### Are Diagrams.so API + MCP and PlantUML open source? No open-source release is listed for Diagrams.so API + MCP. PlantUML is open source (GPL-3.0-or-later). ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.json, and with the fewest tokens: https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "diagrams-so", "b": "plantuml"}`. From a terminal: `anchor compare diagrams-so plantuml` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/diagrams-so.json and https://www.anchorterminal.com/api/v1/tools/plantuml.json ## Other comparisons with Diagrams.so API + MCP or PlantUML - [Cloudviz API vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so.md) - [Cloudviz API vs PlantUML](https://www.anchorterminal.com/compare/cloudviz-vs-plantuml.md) - [D2 vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/d2-vs-diagrams-so.md) - [Diagrams.so API + MCP vs draw.io + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-drawio.md) - [Diagrams.so API + MCP vs Eraser API + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-eraser.md) - [Diagrams.so API + MCP vs Lucid API + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-lucid.md) - [Diagrams.so API + MCP vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-mermaid-chart.md) - [Diagrams.so API + MCP vs Mural MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-mural-mcp.md) - [Diagrams.so API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.md) - [Diagrams.so API + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-tldraw.md) - [Diagrams.so API + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-whimsical.md) - [draw.io + MCP vs PlantUML](https://www.anchorterminal.com/compare/drawio-vs-plantuml.md) - [Eraser API + MCP vs PlantUML](https://www.anchorterminal.com/compare/eraser-vs-plantuml.md) - [Lucid API + MCP vs PlantUML](https://www.anchorterminal.com/compare/lucid-vs-plantuml.md) - [Mermaid Chart MCP vs PlantUML](https://www.anchorterminal.com/compare/mermaid-chart-vs-plantuml.md) - [Mural MCP vs PlantUML](https://www.anchorterminal.com/compare/mural-mcp-vs-plantuml.md) - [PlantUML vs Whimsical MCP](https://www.anchorterminal.com/compare/plantuml-vs-whimsical.md) - [D2 vs PlantUML](https://www.anchorterminal.com/compare/d2-vs-plantuml.md) - [PlantUML vs Structurizr + MCP](https://www.anchorterminal.com/compare/plantuml-vs-structurizr.md) - [PlantUML vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/plantuml-vs-tldraw.md)