PlantUML MCP Server
PlantUML MCP-Server
Flexibler Model Context Protocol (MCP)-Server, der PlantUML-Snippets in teilbare Diagramme umwandelt. Alle Funktionen werden über HTTP, Server-Sent Events (SSE) und STDIO bereitgestellt, sodass Sie den Server in Claude Desktop, Flowise oder jede andere MCP-kompatible Runtime einbinden können.
Hauptfunktionen
🧰 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📚 Statische Ressourcen:
resource://plantuml/server-guide,resource://plantuml/archimate-mapping🔒 Optionale Bearer-Authentifizierung via
MCP_API_KEY☁️ Optionaler
ob-file-Export über signierte Download-URLs (OB_FILE_API_BASE_URL)🔐 Optionaler OIDC-Client-Credentials-Flow für
ob-file(OB_FILE_OIDC_*)📁 Fallback-Export über freigegebenes Volume (
GENERATED_FILES_DIR+PUBLIC_FILE_BASE_URL)
Related MCP server: ArchiMate MCP Server
Anforderungen
Node.js 18+
npm 9+
npm install
npm run build # emits dist/plantuml-mcp-server.jsVerwenden Sie npx plantuml-mcp-server oder node dist/plantuml-mcp-server.js nach dem Build.
Transportmodi
Modus | Verwendung | Startbefehl |
HTTP (Standard) | Direkte REST-Integration, Reverse Proxies, Health Checks |
|
SSE | Claude Desktop / Flowise über das Netzwerk mit Push-Updates |
|
STDIO | Lokale CLI-Tools (npx, Claude Code CLI, Flowise verwalteter Prozess) |
|
HTTP-Transport
MCP_TRANSPORT=http \
MCP_HOST=0.0.0.0 \
MCP_PORT=8765 \
MCP_HTTP_PATH=/mcp \
node dist/plantuml-mcp-server.jsPOST /mcpzum Initialisieren und Senden von JSON-RPC-Payloads.GET /mcpundDELETE /mcphalten die streamfähige Sitzung aktiv.GET /healthzsteht für Readiness-Probes zur Verfügung.Beispiel-Client-Einstellungen:
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 verbinden sich mit
/sse(GET) für Events und senden JSON-Nachrichten per POST an/messages.Beispielkonfiguration für 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 für lokale Experimente,
mcpCLI oder Flowise-Nodes, die das Binary starten.Beispiel-Setups finden Sie in
client_config_stdio.json.
Beispiel-Client-Konfigurationen
client_config_http.json– streamfähiges HTTP (Standard/mcp)client_config_sse.json– SSE + dediziertemessagesUrlclient_config_stdio.json– STDIO-Beispiele fürnpxund Flowise-verwaltete Prozesse
Kopieren Sie diese Dateien in Ihren MCP-fähigen Client oder übernehmen Sie die Snippets nach Bedarf. Aktualisieren Sie Hostnamen, Ports und API-Schlüssel passend zu Ihrer Bereitstellung.
Umgebungsvariablen
Variable | Standard | Zweck |
|
|
|
|
| Upstream PlantUML-Renderer |
|
|
|
|
| Bind-Adresse + Port (HTTP/SSE) |
|
| HTTP JSON-RPC-Endpunkt |
|
| Gibt bei |
|
| SSE-Stream-Endpunkt |
|
| Endpunkt für Nachrichteneingang |
| nicht gesetzt | Aktiviert Bearer-Auth, wenn bereitgestellt |
| nicht gesetzt | Basis-URL der |
| nicht gesetzt | Bearer-Token für den Aufruf der |
| nicht gesetzt | Authelia OIDC-Discovery-URL zum Abrufen eines Service-Access-Tokens |
| nicht gesetzt | Optionale direkte Überschreibung des Token-Endpunkts (nützlich für interne Service-zu-Service-Aufrufe) |
| nicht gesetzt | OIDC-Client-ID, verwendet von |
| nicht gesetzt | OIDC-Client-Secret, verwendet von |
|
| Während des Client-Credentials-Token-Requests angeforderter Scope |
|
| Während des Client-Credentials-Token-Requests angeforderte Audience |
| nicht gesetzt | Optionaler |
| nicht gesetzt | Optionaler |
|
| Fallback-Verzeichnis für lokales/freigegebenes Volume, wenn |
|
| Fallback-Basis-URL, die bei Verwendung des Exports über freigegebenes Volume zurückgegeben wird |
| nicht gesetzt | Wenn |
Wenn OB_FILE_API_BASE_URL konfiguriert ist, werden gerenderte Diagramme über ob-file hochgeladen und die MCP-Antwort gibt die von ob-file generierte signierte download_url zurück. Wenn OB_FILE_OIDC_DISCOVERY_URL, OB_FILE_OIDC_CLIENT_ID und OB_FILE_OIDC_CLIENT_SECRET konfiguriert sind, ruft der Server automatisch ein Access-Token über OAuth 2.0 Client Credentials ab und speichert es zwischen. Der Pfad für das freigegebene Volume bleibt als Kompatibilitäts-Fallback für lokale/Dev-Setups erhalten.
Tools, Prompts & Ressourcen
Tools werden automatisch über
tools/listregistriert. Sie führen Validierungen und optionale automatische Korrekturen durch und geben strukturierte Metadaten zurück (success, URLs, Markdown-Snippets, kodierte Diagrammdaten und Validierungsfehler).Prompts führen das Modell durch die PlantUML-Fehlerbehandlung und bieten eine fertige Vorlage für Capability-Landscapes.
Ressourcen-Templates stellen Onboarding-Inhalte bereit (
resource://plantuml/server-guide), sodass Clients Nutzungshinweise selbst entdecken können.
Docker-Image
Das bereitgestellte Dockerfile baut die TypeScript-Quellen und erstellt ein minimales Runtime-Image:
docker build -t plantuml-mcp-server .
docker run --rm -e MCP_TRANSPORT=http -p 8765:8765 plantuml-mcp-serverÜberschreiben Sie Umgebungsvariablen (PLANTUML_SERVER_URL, MCP_API_KEY usw.) nach Bedarf.
Testen & Tooling
npm run build– TypeScript kompilierennpm start– Ausführen mit dem Standard-HTTP-Transportnpm run start:sse/npm run start:stdio– Komfort-Skriptenpm run test:business-scenario– Snapshot-Test, dertest_files/generate_sequence_diagram/payload.jsonin PlantUML konvertiert und mitexpected.pumlvergleichtmake test-mcp– Smoke-Test-Befehle über diemcpCLI
Hilfe benötigt?
Überprüfen Sie die Konnektivität mit
curl http://<host>:<port>/healthzStellen Sie sicher, dass die Auth-Header mit
MCP_API_KEY(Bearer-Token) übereinstimmen, falls aktiviertVerwenden Sie den MCP Inspector oder die Flowise-Node-Logs, um JSON-RPC-Payloads nachzuverfolgen
Der Server wird mit allem geliefert, was für den Betrieb über HTTP, SSE und STDIO erforderlich ist. Wählen Sie den Transport, der zu Ihrer Umgebung passt, und beginnen Sie mit der Erstellung von Diagrammen!
This server cannot be deployed
Maintenance
Related MCP Connectors
Render, validate, encode/decode PlantUML diagram-as-code; 22 diagram types. Free, no auth.
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Generate cloud architecture diagrams, flowcharts, and sequence diagrams.
Turn calls and notes into process flow diagrams in Claude, ChatGPT, VS Code, Cursor, and Teams.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA 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.27-
- AlicenseNot gradedqualityCmaintenanceEnables 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.33MIT
- AlicenseAqualityFmaintenanceMCP 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.558 npm10MIT
- AlicenseNot gradedqualityDmaintenanceEnables generating PlantUML diagrams directly from Claude Desktop, with tools to render, save, and obtain URLs or ASCII art.903 npmMIT