PlantUML
PlantUML is a self-hosted diagram server that creates diagrams from a simple text format.
Platform availability
Available on 2 of 9 platforms
Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.
82/100 Excellent
- Maintained
- 100last commit 13 days ago
- Popular
- 8313,344 GitHub stars
- Easy to install
- 452 install platforms, install notes, Docker image
- Light to run
- No data
Based on 3 of 4 factors.
Availability: platform listings confirmed today, links checked 15 days ago
- GitHub stars
- 13,344
- Open issues
- 583
- Last commit
- 2026-09-29
- Latest release
- v1.2026.8
- License
- LGPL-3.0
- Activity
- steady
Checked 13 days ago - source: GitHub (plantuml/plantuml)
Resources & Compatibility
ARM (e.g. Raspberry Pi) is supported.
Checked 14 days ago - source: Docker Hub image tags and published docs
First-install notes
- Add PlantUML to your MCP client In your MCP client settings, add a server named plantuml-js with command npx and args -y @plantuml/mcp-js. This tells the client how to launch PlantUML, so it can generate diagrams instead of failing because the server is missing. source
- Test the server in a terminal Run npx -y @plantuml/mcp-js in a terminal to see if it starts. This confirms the package can run on your machine; if it errors, the MCP client will not be able to use PlantUML. source
- Check for the startup message A successful start prints plantuml-mcp-js server started (stdio). Seeing that message means the server is ready to talk through stdio, the simple pipe MCP clients use; without it, the server likely did not start correctly. source
Fetched 14 days ago - each note links to its source
Variants
Alternatives
No alternatives collected yet.
Common questions
How can I verify that a PlantUML MCP JS server has started?
In your MCP client, start the server with npx and -y @plantuml/mcp-js. A successful start prints plantuml-mcp-js server started (stdio), which means it is ready to communicate over stdio.
Can PlantUML diagrams be rendered directly in GitHub without a self-hosted server?
Yes, an official browser extension renders PlantUML diagrams directly inside GitHub. It does not require a server, tokens, or tracking.
What Emacs/org mode setup issue has been reported for PlantUML?
One Reddit post reports trouble setting up PlantUML in Emacs, especially getting a preview from a plantuml org source block.
Which image formats can PlantUML export?
PlantUML can export images as PNG, LaTeX, EPS, and SVG.
Does PlantUML prevent inconsistent UML relationships?
No, PlantUML does not prevent you from drawing inconsistent diagrams.
Answers sourced from github.com, github.com, plantuml.com, the-lum.github.io, www.reddit.com
Community
- Network diagram Tool : r/selfhosted - Reddit (reddit)
- Reddit (reddit)
- Plant UML alternative? Is there a good tool for making ... - Reddit (reddit)
- Diagrams as code : r/selfhosted - Reddit (reddit)
- What's your favourite tool for creating system architecture ... - Reddit (reddit)
Collected 8 days ago - public community threads