# PlantUML (slim) > PlantUML is open-source software that turns text descriptions into UML, architecture, Gantt, mind map and other diagrams. Agents run it as a Java command-line tool, a Java library, a local HTTP server or the @plantuml/mcp-js MCP server. - Full: https://www.anchorterminal.com/tools/plantuml.md (~6,200 tokens) · this version ~1,580 tokens · JSON https://www.anchorterminal.com/tools/plantuml.json · canonical https://www.anchorterminal.com/tools/plantuml - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-09 **B · 66.9/100 · rank #251 of 842 · #1 in Diagramming · not agent-ready · confidence medium** Assessment: 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. ## Facts - Kind: SDK + MCP · vendor: PlantUML project (Arnaud Roques) · category: Diagramming · legal entity: No legal entity found. Copyright Arnaud Roques · provenance 73/100 - Packages: maven `net.sourceforge.plantuml:plantuml`, npm `@plantuml/mcp-js`, oci `plantuml/plantuml` - Auth: None · pricing: Free · x402: no · licence: GPL-3.0-or-later - Probe metrics: not measured yet (probes haven't run) - Surfaces: CLI `java -jar plantuml.jar`, the Java library `net.sourceforge.plantuml:plantuml`, the built-in `-picoweb` HTTP server, and the `@plantuml/mcp-js` 0.2.2 stdio MCP server for Node.js - Export formats: PNG (default), SVG, PDF, EPS, LaTeX/TikZ, ASCII (`--txt`, `--utxt`), VDX, XMI, SCXML and HTML. The MCP server renders SVG only - Diagram types: Sequence, use case, class, object, activity, component, deployment, state and timing, plus Gantt, mind map, WBS, network, wireframe, Archimate, ER, JSON, YAML, EBNF and regex - Commands: `-pipe` for stdin to stdout, `--check-syntax`, `--stop-on-error`, `--no-error-image`, `-stdrpt`, `--format`, `--output-dir`, `--extract-source` and `--list-keywords` - Exit codes: 0 success, 50 no file found, 100 no diagram found, 200 some diagrams have syntax errors - Local HTTP server: `-picoweb[:port[:bind address]]`, default port 8080 on all interfaces. GET `/plantuml/png/`, `/plantuml/svg/`, `/plantuml/txt/` with the encoded diagram, and POST `/render` - Security profiles: UNSECURE, LEGACY (default), INTERNET, ALLOWLIST and SANDBOX, set with `PLANTUML_SECURITY_PROFILE`, plus `plantuml.allowlist.path` and `plantuml.allowlist.url` - Requirements: Java 11 or later, with a separate Java 8 build. Graphviz for some layouts, with the built-in Smetana engine as fallback since 1.2026.7. The MCP server needs only Node.js - Limits: Images are capped at 4,096 pixels a side unless `PLANTUML_LIMIT_SIZE` is set. `--graphviz-timeout` sets the layout timeout - Telemetry: Statistics collection is local and off by default (`--enable-stats`). No network call was found in the statistics code - Scores: Reliability 83, Performance pending, Schema & documentation 65, Agent ergonomics 78, Security & auth 50, Payments & pricing 60, Task success pending, Maintenance & community 73, Transparency & trust 73 · negative events -2 · total over the 7 assessed categories - Why: Reliability, Read with the local-software lines, because PlantUML runs on the owner's machine. · Schema & documentation, Read as a CLI and library. · Agent ergonomics, One command with text in and a diagram out, or four compact MCP tools (23). · Security & auth, No credential exists to leak or scope (20). · Payments & pricing, Read with the self-hosted rule. · Maintenance & community, Release 1.2026.8 on 5 September 2026, 33 days before the check (20). · Transparency & trust, GPL-3.0-or-later by default, with the same source under six other open-source licences, and `LICENSES.md` says generated images belong to th… - Sources: 17, open questions: 7, both in the full twin - Capabilities: diagram.as-code, diagram.create, diagram.export, diagram.architecture - JSON: https://www.anchorterminal.com/api/v1/tools/plantuml.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/plantuml.svg` or a link to https://www.anchorterminal.com/tools/plantuml from a page on plantuml.com or one of its subdomains, or the README of github.com/plantuml/plantuml, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 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 ## Connect ```bash brew install plantuml # or download plantuml.jar from https://github.com/plantuml/plantuml/releases, or docker run ghcr.io/plantuml/plantuml ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/plantuml ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | D2 | B | 65.3 | diagram.as-code, diagram.create, diagram.export, diagram.architecture | https://www.anchorterminal.com/tools/d2.min.md | | draw.io + MCP | B | 62.2 | diagram.create, diagram.as-code, diagram.export, diagram.architecture | https://www.anchorterminal.com/tools/drawio.min.md | | Structurizr + MCP | C | 59.9 | diagram.create, diagram.as-code, diagram.export, diagram.architecture | https://www.anchorterminal.com/tools/structurizr.min.md | | Eraser API + MCP | E | 38.6 | diagram.create, diagram.as-code, diagram.export, diagram.architecture | https://www.anchorterminal.com/tools/eraser.min.md | | tldraw SDK + MCP | C | 60.7 | diagram.create, diagram.as-code, diagram.export | https://www.anchorterminal.com/tools/tldraw.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)