Skip to main content
Glama

PlantUML MCPサーバー

PlantUMLスニペットを共有可能な図に変換する、柔軟なModel Context Protocol (MCP) サーバーです。 すべての機能はHTTPServer-Sent Events (SSE)、およびSTDIO経由で公開されているため、Claude Desktop、Flowise、またはその他のMCP互換ランタイムにサーバーを接続できます。


主な機能

  • 🧰 ツール: generate_plantuml_diagram, generate_capability_landscape, generate_business_scenario, encode_plantuml, decode_plantuml

  • 🧾 プロンプト: plantuml_error_handling, capability_landscape_input_format, archimate_diagram_input_format, business_scenario_input_format

  • 📚 静的リソース: resource://plantuml/server-guide, resource://plantuml/archimate-mapping

  • 🔒 MCP_API_KEYによるオプションのBearer認証

  • ☁️ 署名付きダウンロードURL (OB_FILE_API_BASE_URL) を介したオプションの ob-file エクスポート

  • 🔐 ob-file 用のオプションのOIDCクライアント認証フロー (OB_FILE_OIDC_*)

  • 📁 フォールバック共有ボリュームエクスポート (GENERATED_FILES_DIR + PUBLIC_FILE_BASE_URL)


Related MCP server: PlantUML MCP Server

要件

  • Node.js 18+

  • npm 9+

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

ビルド後、npx plantuml-mcp-server または node dist/plantuml-mcp-server.js を使用してください。


トランスポートモード

モード

使用場面

起動方法

HTTP (デフォルト)

直接的なREST形式の統合、リバースプロキシ、ヘルスチェック

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

SSE

ネットワーク経由のClaude Desktop / Flowise(プッシュ更新あり)

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

STDIO

ローカルCLIツール (npx, Claude Code CLI, Flowise管理プロセス)

MCP_TRANSPORT=stdio npx plantuml-mcp-server

HTTPトランスポート

MCP_TRANSPORT=http \
MCP_HOST=0.0.0.0 \
MCP_PORT=8765 \
MCP_HTTP_PATH=/mcp \
node dist/plantuml-mcp-server.js
  • POST /mcp で初期化し、JSON-RPCペイロードを送信します。

  • GET /mcp および DELETE /mcp でストリーム可能なセッションを維持します。

  • GET /healthz はレディネスプローブ(準備状況確認)に使用できます。

  • クライアント設定サンプル: client_config_http.json

SSEトランスポート

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
  • クライアントは /sse (GET) に接続してイベントを受信し、/messages にJSONメッセージをPOSTします。

  • Claude Desktop / Flowise用の設定サンプル: client_config_sse.json

STDIOトランスポート

MCP_TRANSPORT=stdio npx plantuml-mcp-server
# or run the compiled file directly
MCP_TRANSPORT=stdio node dist/plantuml-mcp-server.js
  • ローカルでの実験、mcp CLI、またはバイナリを生成するFlowiseノードに最適です。

  • 設定例は client_config_stdio.json にあります。


クライアント設定サンプル

これらのファイルをMCP対応クライアントに配置するか、必要に応じてスニペットをコピーしてください。ホスト名、ポート、APIキーをデプロイ環境に合わせて更新してください。


環境変数

変数

デフォルト

用途

LOG_LEVEL

info

emergencydebug をサポート

PLANTUML_SERVER_URL

https://www.plantuml.com/plantuml

アップストリームのPlantUMLレンダラー

MCP_TRANSPORT

http

http, sse, または stdio

MCP_HOST / MCP_PORT

0.0.0.0 / 3000

バインドアドレス + ポート (HTTP/SSE)

MCP_HTTP_PATH

/mcp

HTTP JSON-RPCエンドポイント

MCP_HTTP_ENABLE_JSON_RESPONSES

false

trueの場合、JSONボディを返す (デバッグ用)

MCP_SSE_PATH

/sse

SSEストリームエンドポイント

MCP_SSE_MESSAGES_PATH

/messages

メッセージ取り込みエンドポイント

MCP_API_KEY

未設定

設定時にBearer認証を有効化

OB_FILE_API_BASE_URL

未設定

ob-file 管理APIベースURL (例: http://ob-file:8000)

OB_FILE_API_TOKEN

未設定

ob-file 管理APIの呼び出しに使用するBearerトークン

OB_FILE_OIDC_DISCOVERY_URL

未設定

サービスアクセストークン取得用のAuthelia OIDCディスカバリーURL

OB_FILE_OIDC_TOKEN_ENDPOINT

未設定

オプションの直接トークンエンドポイント上書き (内部サービス間通信に有用)

OB_FILE_OIDC_CLIENT_ID

未設定

mcp-plantuml が使用するOIDCクライアント識別子

OB_FILE_OIDC_CLIENT_SECRET

未設定

mcp-plantuml が使用するOIDCクライアントシークレット

OB_FILE_OIDC_SCOPE

groups

クライアント認証トークンリクエスト時に要求されるスコープ

OB_FILE_OIDC_AUDIENCE

ob-file

クライアント認証トークンリクエスト時に要求されるオーディエンス

OB_FILE_OIDC_FORWARDED_PROTO

未設定

内部Authelia呼び出し用のオプションの X-Forwarded-Proto ヘッダー

OB_FILE_OIDC_FORWARDED_HOST

未設定

内部Authelia呼び出し用のオプションの X-Forwarded-Host ヘッダー

GENERATED_FILES_DIR

/generated-files

OB_FILE_API_BASE_URL が未設定の場合のフォールバック用ローカル/共有ボリュームディレクトリ

PUBLIC_FILE_BASE_URL

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

共有ボリュームエクスポート使用時に返されるフォールバックベースURL

PLANTUML_MCP_SKIP_AUTO_START

未設定

true の場合、自動起動をスキップし、トランスポートを起動せずにサーバークラスをインポート可能

OB_FILE_API_BASE_URL が設定されている場合、レンダリングされた図は ob-file を介してアップロードされ、MCPレスポンスは ob-file によって生成された署名付き download_url を返します。OB_FILE_OIDC_DISCOVERY_URLOB_FILE_OIDC_CLIENT_ID、および OB_FILE_OIDC_CLIENT_SECRET が設定されている場合、サーバーはOAuth 2.0クライアント認証を介して自動的にアクセストークンを取得およびキャッシュします。共有ボリュームパスは、ローカル/開発環境用の互換性フォールバックとして残ります。


ツール、プロンプト、リソース

  • ツールtools/list を通じて自動的に登録されます。これらは検証、オプションの自動修正を実行し、構造化されたメタデータ(success、URL、マークダウンスニペット、エンコードされた図データ、検証エラー)を返します。

  • プロンプトは、PlantUMLのエラーハンドリングを通じてモデルをガイドし、すぐに使えるケイパビリティランドスケープのテンプレートを提供します。

  • リソーステンプレートは、オンボーディングコンテンツ (resource://plantuml/server-guide) を公開し、クライアントが使用方法を自己発見できるようにします。


Dockerイメージ

提供されている Dockerfile はTypeScriptソースをビルドし、最小限のランタイムイメージを生成します:

docker build -t plantuml-mcp-server .
docker run --rm -e MCP_TRANSPORT=http -p 8765:8765 plantuml-mcp-server

必要に応じて環境変数 (PLANTUML_SERVER_URL, MCP_API_KEY など) を上書きしてください。


テストとツール

  • npm run build – TypeScriptのコンパイル

  • npm start – デフォルトのHTTPトランスポートを使用して実行

  • npm run start:sse / npm run start:stdio – 便利な起動スクリプト

  • npm run test:business-scenariotest_files/generate_sequence_diagram/payload.json をPlantUMLに変換し、expected.puml と比較するスナップショットテスト

  • make test-mcpmcp CLIを通じたスモークテストコマンド


ヘルプが必要ですか?

  • curl http://<host>:<port>/healthz で接続を確認してください

  • 有効な場合は、認証ヘッダーが MCP_API_KEY (Bearerトークン) と一致していることを確認してください

  • MCP InspectorまたはFlowiseノードのログを使用して、JSON-RPCペイロードをトレースしてください

このサーバーには、HTTP、SSE、およびSTDIO経由で動作するために必要なすべてが含まれています。環境に一致するトランスポートを接続して、図の生成を開始しましょう!

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