@plantuml/mcp-js

@plantuml/mcp-js

Pure Node.js MCP server that renders and validates PlantUML diagrams with zero Java and zero external server, powered by TeaVM. Exposes render_diagram, check_syntax and diagram_explain — just run npx @plantuml/mcp-js.

Category
Visit Server

README

[!TIP] 🧩 New! Render PlantUML diagrams directly inside GitHub with our official browser extension — No server. No tokens. No tracking. Zero permissions but clipboard.

Add to Chrome Add to Firefox

đŸ’Ŧ Want native PlantUML support in GitHub? Upvote and join the discussion: Support for PlantUML diagrams

[!TIP] 🤖 New! Give your AI assistant the power to render and check PlantUML diagrams with @plantuml/mcp-js — a pure Node.js MCP server. No Java. No server. Just npx @plantuml/mcp-js.

npm version npm downloads

🌱 PlantUML

Generate UML diagrams from textual descriptions.

Discord server GitHub Sponsors GitHub Org's stars GitHub watchers GitHub contributors GitHub forks GitHub all releases

Release (latest by date) Release Date GitHub commits since latest release (by date) javadoc

Pre-release (latest by date) Pre-release Date GitHub last commit CI snapshot javadoc snapshot jacoco SonarQube Cloud

Dev Project Pages index Ask DeepWiki

JavaScript Demo

â„šī¸ About

PlantUML is a component that allows you to create various UML diagrams through simple textual descriptions. From sequence diagrams to deployment diagrams and beyond, PlantUML provides an easy way to create visual representations of complex systems.

đŸ—ƒī¸ Supported Diagram Types

đŸ“Ŗ Additional Features

📖 Learn More

For a more detailed overview, visit PlantUML Official Website.

🛡 Security

See Security Policy and Security overview.

[!IMPORTANT] PlantUML is not affected by the log4j vulnerability.

🚀 Getting Started

Whether you're looking to use PlantUML as a standalone application or as a component in your own project, getting started is simple. Check out the official PlantUML setup guide for instructions on how to set up PlantUML on your system.

âš™ī¸ Building from Source

To build PlantUML from source, you have two options:

  1. Using Gradle: ./gradlew jar
  2. Using Ant: ant

For prerequisites and detailed build instructions, see our BUILDING.md guide.

🌐 Building for the Browser (TeaVM)

PlantUML can be compiled to JavaScript with TeaVM to run entirely client-side in the browser, with no server required. To produce the JavaScript artifacts and use them in your own project:

git clone https://github.com/plantuml/plantuml.git
cd plantuml
chmod +x ./gradlew
./gradlew clean teavm -Pfast
cp ./build/generated/teavm/js/plantuml.js $YOUR_PROJECT/plantuml.js
cp ./build/generated/teavm/js/viz-global.js $YOUR_PROJECT/viz-global.js

The -Pfast flag skips the slow parts of a regular build (tests, Javadoc, JaCoCo) so you only get the TeaVM output. The viz-global.js file provides Viz.js (Graphviz) support for diagrams that rely on Dot layout.

The teavm task also copies the PlantUML stdlib bundles and a ready-to-use index.html demo into ./build/generated/teavm/js/.

For a live example of client-side rendering, see the JavaScript PlantUML Demo.

🧱 Contributing

PlantUML is an open-source project, and we welcome contributions of all kinds. Whether you're helping us fix bugs, improve the docs, or spread the word, we appreciate your support. See our contributing guide for more information on how to get started.

For comprehensive and detailed documentation on using PlantUML, refer to the official Javadoc, available here. Please note that this documentation is a work in progress and may not be complete.

🧑‍🤝‍🧑 Support and Community

📃 License

PlantUML is licensed under several licenses; you can choose the one that suits you best:

For more information, please refer to the PlantUML license FAQ to help determine which license is appropriate for your use case.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured