The auto-fix loop is the reason to pick this over a plain render endpoint: generate_plantuml_diagram reports structured syntax errors, so the agent corrects the source and re-renders without a human reading a rendering log. Rendering happens on whatever PLANTUML_SERVER_URL points at, which decides both where the diagram is drawn and where the returned image URL resolves — worth knowing before diagrams of internal architecture go through a public instance.
A PlantUML rendering front end, 3 tools: one that validates and renders, and two that convert between PlantUML source and the encoded string a PlantUML URL carries.
- generate_plantuml_diagram validates before it renders: valid source comes back as an embeddable image URL, invalid source as structured error details rather than a failed image
- The same call optionally writes the diagram to output_path in the format you name, so a document can carry the file rather than a link
- encode_plantuml and decode_plantuml convert in both directions, which is what lets an existing diagram link be read back, edited and re-encoded
PLANTUML_SERVER_URL pointing at the PlantUML server that does the rendering, and a writable output_path if the diagram should also be saved locally. MIT licensed.
One command — npx plantuml-mcp-server
