Skip to main content
Glama

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: PlantUML MCP Server

Anforderungen

  • Node.js 18+

  • npm 9+

npm install
npm run build     # emits dist/plantuml-mcp-server.js

Verwenden 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

MCP_TRANSPORT=http node dist/plantuml-mcp-server.js

SSE

Claude Desktop / Flowise über das Netzwerk mit Push-Updates

MCP_TRANSPORT=sse node dist/plantuml-mcp-server.js

STDIO

Lokale CLI-Tools (npx, Claude Code CLI, Flowise verwalteter Prozess)

MCP_TRANSPORT=stdio npx plantuml-mcp-server

HTTP-Transport

MCP_TRANSPORT=http \
MCP_HOST=0.0.0.0 \
MCP_PORT=8765 \
MCP_HTTP_PATH=/mcp \
node dist/plantuml-mcp-server.js
  • POST /mcp zum Initialisieren und Senden von JSON-RPC-Payloads.

  • GET /mcp und DELETE /mcp halten die streamfähige Sitzung aktiv.

  • GET /healthz steht 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.js
  • Clients 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.js
  • Ideal für lokale Experimente, mcp CLI oder Flowise-Nodes, die das Binary starten.

  • Beispiel-Setups finden Sie in client_config_stdio.json.


Beispiel-Client-Konfigurationen

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

LOG_LEVEL

info

emergencydebug unterstützt

PLANTUML_SERVER_URL

https://www.plantuml.com/plantuml

Upstream PlantUML-Renderer

MCP_TRANSPORT

http

http, sse oder stdio

MCP_HOST / MCP_PORT

0.0.0.0 / 3000

Bind-Adresse + Port (HTTP/SSE)

MCP_HTTP_PATH

/mcp

HTTP JSON-RPC-Endpunkt

MCP_HTTP_ENABLE_JSON_RESPONSES

false

Gibt bei true einen JSON-Body zurück (für Debugging)

MCP_SSE_PATH

/sse

SSE-Stream-Endpunkt

MCP_SSE_MESSAGES_PATH

/messages

Endpunkt für Nachrichteneingang

MCP_API_KEY

nicht gesetzt

Aktiviert Bearer-Auth, wenn bereitgestellt

OB_FILE_API_BASE_URL

nicht gesetzt

Basis-URL der ob-file-Management-API (z. B. http://ob-file:8000)

OB_FILE_API_TOKEN

nicht gesetzt

Bearer-Token für den Aufruf der ob-file-Management-API

OB_FILE_OIDC_DISCOVERY_URL

nicht gesetzt

Authelia OIDC-Discovery-URL zum Abrufen eines Service-Access-Tokens

OB_FILE_OIDC_TOKEN_ENDPOINT

nicht gesetzt

Optionale direkte Überschreibung des Token-Endpunkts (nützlich für interne Service-zu-Service-Aufrufe)

OB_FILE_OIDC_CLIENT_ID

nicht gesetzt

OIDC-Client-ID, verwendet von mcp-plantuml

OB_FILE_OIDC_CLIENT_SECRET

nicht gesetzt

OIDC-Client-Secret, verwendet von mcp-plantuml

OB_FILE_OIDC_SCOPE

groups

Während des Client-Credentials-Token-Requests angeforderter Scope

OB_FILE_OIDC_AUDIENCE

ob-file

Während des Client-Credentials-Token-Requests angeforderte Audience

OB_FILE_OIDC_FORWARDED_PROTO

nicht gesetzt

Optionaler X-Forwarded-Proto-Header für interne Authelia-Aufrufe

OB_FILE_OIDC_FORWARDED_HOST

nicht gesetzt

Optionaler X-Forwarded-Host-Header für interne Authelia-Aufrufe

GENERATED_FILES_DIR

/generated-files

Fallback-Verzeichnis für lokales/freigegebenes Volume, wenn OB_FILE_API_BASE_URL nicht konfiguriert ist

PUBLIC_FILE_BASE_URL

https://ob-file.fmpn.fr/files

Fallback-Basis-URL, die bei Verwendung des Exports über freigegebenes Volume zurückgegeben wird

PLANTUML_MCP_SKIP_AUTO_START

nicht gesetzt

Wenn true, wird der automatische Start übersprungen, damit Skripte die Server-Klasse importieren können, ohne Transporte zu starten

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/list registriert. 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 kompilieren

  • npm start – Ausführen mit dem Standard-HTTP-Transport

  • npm run start:sse / npm run start:stdio – Komfort-Skripte

  • npm run test:business-scenario – Snapshot-Test, der test_files/generate_sequence_diagram/payload.json in PlantUML konvertiert und mit expected.puml vergleicht

  • make test-mcp – Smoke-Test-Befehle über die mcp CLI


Hilfe benötigt?

  • Überprüfen Sie die Konnektivität mit curl http://<host>:<port>/healthz

  • Stellen Sie sicher, dass die Auth-Header mit MCP_API_KEY (Bearer-Token) übereinstimmen, falls aktiviert

  • Verwenden 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!

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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