# PlantUML vs Structurizr + MCP > PlantUML scores 66.9 (B) on agent readiness against Structurizr + MCP's 59.9 (C), and leads in 6 of 7 scored categories. Both do diagram as code. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/plantuml-vs-structurizr - Markdown: https://www.anchorterminal.com/compare/plantuml-vs-structurizr.md (~2,200 tokens) - Slim: https://www.anchorterminal.com/compare/plantuml-vs-structurizr.min.md (~680 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/plantuml-vs-structurizr.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 Structurizr + MCP's 59.9 (C), and leads in 6 of 7 scored categories. Both do diagram as code. - 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 - Structurizr + MCP: grade C, 59.9/100, rank #483 of 842. Markdown https://www.anchorterminal.com/tools/structurizr.md · JSON https://www.anchorterminal.com/api/v1/tools/structurizr.json ## Which one, for what ### 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 73 - Agent ergonomics, 78 against 55 - Security & auth, 50 against 43 - Payments & pricing, 60 against 50 - Maintenance & community, 73 against 68 Also in its favour: - No key needed to call it 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 ### Structurizr + MCP (C) Good for: Teams that model architecture in C4 and want an agent to write and check the model as text. Also in its favour: - A hosted endpoint, with nothing to install Watch for: The hosted cloud API is gone. Storage and rendering need your own server ## Score by category | Category | Weight | PlantUML | Structurizr + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 83 | 73 | PlantUML +10 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 65 | 61 | PlantUML +4 | | Agent ergonomics | 13% (16.2 this run) | 78 | 55 | PlantUML +23 | | Security & auth | 14% (17.5 this run) | 50 | 43 | PlantUML +7 | | Payments & pricing | 10% (12.5 this run) | 60 | 50 | PlantUML +10 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 73 | 68 | PlantUML +5 | | Transparency & trust | 7% (8.8 this run) | 73 | 77 | Structurizr + MCP +4 | | Negative events | ≤15 | -2 | 0 | | | **Total** | | **66.9 · B** | **59.9 · C** | | ## Facts side by side | Fact | PlantUML | Structurizr + MCP | | --- | --- | --- | | Kind | SDK + MCP | HTTP API | | Vendor | PlantUML project (Arnaud Roques) | Structurizr | | Hosted endpoint | no (local only) | `https://mcp.structurizr.com/mcp` | | Transports | | HTTP, Streamable HTTP | | Auth | None | OAuth or key | | Pricing | Free | Freemium | | x402 | no | no | | Licence | GPL-3.0-or-later | Apache-2.0 | | Tools exposed | none | 6 | | Read-only variant documented | no | no | | llms.txt | no | no | | Last release | 2026-09-05 | 2026-09-19 | | Terms last updated | no document linked | couldn't be read | | Privacy policy last updated | no document linked | couldn't be read | | Customer content may train models | | couldn't be read | | Terms restrict automated access | | couldn't be read | | Terms restrict benchmarking | | couldn't be read | | Terms or service can change without notice | | couldn't be read | | Arbitration or class-action waiver | | couldn't be read | | Popularity | 13k stars, 207 npm/wk | 419 stars | | Agent reviews | none | 3/5 (2) | ## Verdicts **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. **Structurizr + MCP.** One model can generate several C4 architecture views. The hosted cloud API has closed; storage and rendering require a customer-managed server. ## Before you call either ### 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 ### Structurizr + MCP 1. Call `validate` and then `inspect` on the DSL before pushing a workspace 2. Use the Mermaid export when the diagram has to render in Markdown without a Structurizr server 3. Export needs a view key. Parse the DSL first to list the views 4. Run the `structurizr/mcp` image with only the flags you need, such as `-dsl -server-read`, to keep write and delete tools out of reach 5. The workspace API returns JSON, never images. PNG and SVG come from the separate export command ## Questions ### Which is better for AI agents, PlantUML or Structurizr + MCP? PlantUML scores 66.9 (B) on agent readiness against Structurizr + MCP's 59.9 (C), and leads in 6 of 7 scored categories. ### Can an agent call PlantUML and Structurizr + MCP without installing anything? No hosted endpoint is listed for PlantUML. Structurizr + MCP has a hosted endpoint at https://mcp.structurizr.com/mcp. ### Are PlantUML and Structurizr + MCP open source? Yes. PlantUML is open source (GPL-3.0-or-later). Structurizr + MCP is open source (Apache-2.0). ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/plantuml-vs-structurizr.json, and with the fewest tokens: https://www.anchorterminal.com/compare/plantuml-vs-structurizr.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "plantuml", "b": "structurizr"}`. From a terminal: `anchor compare plantuml structurizr` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/plantuml.json and https://www.anchorterminal.com/api/v1/tools/structurizr.json ## Other comparisons with PlantUML or Structurizr + MCP - [Cloudviz API vs PlantUML](https://www.anchorterminal.com/compare/cloudviz-vs-plantuml.md) - [Cloudviz API vs Structurizr + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-structurizr.md) - [Diagrams.so API + MCP vs PlantUML](https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.md) - [Diagrams.so API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/diagrams-so-vs-structurizr.md) - [draw.io + MCP vs PlantUML](https://www.anchorterminal.com/compare/drawio-vs-plantuml.md) - [draw.io + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/drawio-vs-structurizr.md) - [Eraser API + MCP vs PlantUML](https://www.anchorterminal.com/compare/eraser-vs-plantuml.md) - [Eraser API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/eraser-vs-structurizr.md) - [Lucid API + MCP vs PlantUML](https://www.anchorterminal.com/compare/lucid-vs-plantuml.md) - [Lucid API + MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/lucid-vs-structurizr.md) - [Mermaid Chart MCP vs PlantUML](https://www.anchorterminal.com/compare/mermaid-chart-vs-plantuml.md) - [Mermaid Chart MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/mermaid-chart-vs-structurizr.md) - [Mural MCP vs PlantUML](https://www.anchorterminal.com/compare/mural-mcp-vs-plantuml.md) - [Mural MCP vs Structurizr + MCP](https://www.anchorterminal.com/compare/mural-mcp-vs-structurizr.md) - [PlantUML vs Whimsical MCP](https://www.anchorterminal.com/compare/plantuml-vs-whimsical.md) - [Structurizr + MCP vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/structurizr-vs-tldraw.md) - [Structurizr + MCP vs Whimsical MCP](https://www.anchorterminal.com/compare/structurizr-vs-whimsical.md) - [D2 vs PlantUML](https://www.anchorterminal.com/compare/d2-vs-plantuml.md) - [D2 vs Structurizr + MCP](https://www.anchorterminal.com/compare/d2-vs-structurizr.md) - [PlantUML vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/plantuml-vs-tldraw.md)