PlantUML MCP Server
Generates PlantUML diagrams including capability landscapes, business scenarios, and sequence diagrams, with tools for encoding/decoding PlantUML syntax and rendering shareable diagram URLs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PlantUML MCP Servergenerate a sequence diagram for user login flow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PlantUML MCP Server
Flexible Model Context Protocol (MCP) server that turns PlantUML snippets into shareable diagrams.
All capabilities are exposed over HTTP, Server-Sent Events (SSE), and STDIO, so you can plug the server into Claude Desktop, Flowise, or any other MCP-compatible runtime.
Key Features
🧰 Tools:
generate_plantuml_diagram,generate_capability_landscape,generate_business_scenario,encode_plantuml,decode_plantuml🧾 Prompts:
plantuml_error_handling,capability_landscape_input_format,archimate_diagram_input_format,business_scenario_input_format📚 Static resources:
resource://plantuml/server-guide,resource://plantuml/archimate-mapping🔒 Optional Bearer authentication via
MCP_API_KEY☁️ Optional
ob-fileexport via signed download URLs (OB_FILE_API_BASE_URL)🔐 Optional OIDC client-credentials flow for
ob-file(OB_FILE_OIDC_*)📁 Fallback shared-volume export (
GENERATED_FILES_DIR+PUBLIC_FILE_BASE_URL)
Related MCP server: PlantUML MCP Server
Requirements
Node.js 18+
npm 9+
npm install
npm run build # emits dist/plantuml-mcp-server.jsUse npx plantuml-mcp-server or node dist/plantuml-mcp-server.js once built.
Transport Modes
Mode | When to use | How to start |
HTTP (default) | Direct REST-style integration, reverse proxies, health checks |
|
SSE | Claude Desktop / Flowise over the network with push updates |
|
STDIO | Local CLI tools (npx, Claude Code CLI, Flowise managed process) |
|
HTTP transport
MCP_TRANSPORT=http \
MCP_HOST=0.0.0.0 \
MCP_PORT=8765 \
MCP_HTTP_PATH=/mcp \
node dist/plantuml-mcp-server.jsPOST /mcpto initialize and send JSON-RPC payloads.GET /mcpandDELETE /mcpkeep the streamable session alive.GET /healthzis available for readiness probes.Sample client settings:
client_config_http.json.
SSE transport
MCP_TRANSPORT=sse \
MCP_HOST=0.0.0.0 \
MCP_PORT=8765 \
MCP_SSE_PATH=/sse \
MCP_SSE_MESSAGES_PATH=/messages \
node dist/plantuml-mcp-server.jsClients connect to
/sse(GET) for events and POST JSON messages to/messages.Sample config for Claude Desktop / Flowise:
client_config_sse.json.
STDIO transport
MCP_TRANSPORT=stdio npx plantuml-mcp-server
# or run the compiled file directly
MCP_TRANSPORT=stdio node dist/plantuml-mcp-server.jsIdeal for local experiments,
mcpCLI, or Flowise nodes that spawn the binary.Example setups live in
client_config_stdio.json.
Sample Client Configurations
client_config_http.json– streamable HTTP (default/mcp)client_config_sse.json– SSE + dedicatedmessagesUrlclient_config_stdio.json– STDIO examples fornpxand Flowise-managed processes
Drop these files into your MCP-aware client or copy the snippets as needed. Update hostnames, ports, and API keys to match your deployment.
Environment Variables
Variable | Default | Purpose |
|
|
|
|
| Upstream PlantUML renderer |
|
|
|
|
| Bind address + port (HTTP/SSE) |
|
| HTTP JSON-RPC endpoint |
|
| Return JSON body when true (for debugging) |
|
| SSE stream endpoint |
|
| Message ingestion endpoint |
| unset | Enables Bearer auth when provided |
| unset |
|
| unset | Bearer token used to call the |
| unset | Authelia OIDC discovery URL used to obtain a service access token |
| unset | Optional direct token endpoint override (useful for internal service-to-service calls) |
| unset | OIDC client identifier used by |
| unset | OIDC client secret used by |
|
| Scope requested during the client-credentials token request |
|
| Audience requested during the client-credentials token request |
| unset | Optional |
| unset | Optional |
|
| Fallback local/shared-volume directory when |
|
| Fallback base URL returned when using shared-volume export |
| unset | When |
When OB_FILE_API_BASE_URL is configured, rendered diagrams are uploaded through ob-file and the MCP response returns the signed download_url generated by ob-file. If OB_FILE_OIDC_DISCOVERY_URL, OB_FILE_OIDC_CLIENT_ID, and OB_FILE_OIDC_CLIENT_SECRET are configured, the server obtains and caches an access token automatically via OAuth 2.0 client credentials. The shared-volume path remains as a compatibility fallback for local/dev setups.
Tools, Prompts & Resources
Tools are automatically registered through
tools/list. They perform validation, optional auto-fixes, and return structured metadata (success, URLs, markdown snippets, encoded diagram data, and validation errors).Prompts guide the model through PlantUML error handling and provide a ready-made capability landscape template.
Resource templates expose onboarding content (
resource://plantuml/server-guide) so clients can self-discover usage instructions.
Docker Image
The provided Dockerfile builds the TypeScript sources and produces a minimal runtime image:
docker build -t plantuml-mcp-server .
docker run --rm -e MCP_TRANSPORT=http -p 8765:8765 plantuml-mcp-serverOverride environment variables (PLANTUML_SERVER_URL, MCP_API_KEY, etc.) as needed.
Testing & Tooling
npm run build– compile TypeScriptnpm start– run using the default HTTP transportnpm run start:sse/npm run start:stdio– convenience scriptsnpm run test:business-scenario– snapshot test that convertstest_files/generate_sequence_diagram/payload.jsoninto PlantUML and compares it toexpected.pumlmake test-mcp– smoke-test commands through themcpCLI
Need Help?
Verify connectivity with
curl http://<host>:<port>/healthzConfirm auth headers match
MCP_API_KEY(Bearer token) if enabledUse the MCP Inspector or Flowise node logs to trace JSON-RPC payloads
The server ships with everything required to operate over HTTP, SSE, and STDIO. Plug in the transport that matches your environment and start generating diagrams!
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA tool that generates various UML diagrams through natural language descriptions or PlantUML code, functioning as an MCP server that can integrate with clients like Claude.Last updated28
- Alicense-qualityDmaintenanceEnables AI assistants to generate UML diagrams from text descriptions using PlantUML, supporting multiple output formats (PNG, SVG, PDF), syntax validation, and diagram source extraction.Last updated38MIT
- Alicense-qualityCmaintenanceEnables generation of PlantUML ArchiMate enterprise architecture diagrams with full ArchiMate 3.2 specification support across all 7 layers, including automatic validation, multi-format export (PNG/SVG/XML), and instant diagram viewing through a built-in HTTP server.Last updated28MIT
- AlicenseAqualityDmaintenanceMCP server for AI Diagram Maker — generate software engineering diagrams from natural language, code, ASCII diagram, images, or Mermaid. Inline diagram rendering using MCP apps UI and diagram URL in responses. Works with Cursor, Claude Desktop, Claude Code, and any MCP-compatible AI.Last updated5727MIT
Related MCP Connectors
Generate cloud architecture diagrams, flowcharts, and sequence diagrams.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sysam68/plantuml-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server