mcpField
U
UML-MCP

UML-MCP

リモート
github.com/antoinebou12開発ツール109今日更新
リポジトリ

UML-MCP について

UML-MCP は、AI アシスタントが UML など Kroki 対応形式の図表ソースを検証・描画できる MCP サーバーです。URL、プレイグラウンドへのリンク、またはインライン画像を返し、ローカルとリモートの両方で実行できます。

主な機能

  1. 01約 37 種類の図表を描画
  2. 02図表ソースの検証
  3. 03単体・一括図表の生成
  4. 04URL とインライン画像の返却
  5. 05図表タイプとサンプルの提供

活用シーン

  1. 01自然言語から UML 図を作成
  2. 02Mermaid または D2 ソースを描画
  3. 03複数の図表を一度に生成

MCP 対応

図表生成・検証・カタログ参照のツールを MCP クライアントに公開し、タイプ、テンプレート、サンプル、形式、サーバー情報のリソースも提供します。リモート HTTP MCP とローカルの stdio または HTTP トランスポートに対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://uml-mcp.vercel.app/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@modelcontextprotocol/server-sequential-thinking

ツール

4

このツールにパラメーターはありません。

詳細

UML-MCP

Run Tests Build Package Deploy docs Deploy GitHub release GitHub stars GitHub forks GitHub issues License: MIT Python >=3.12,<3.15 Ruff uv MCP Hosted MseeP.ai Security Assessment Lulu MCPs smithery badge

UML-MCP を使えば、AI アシスタントに図を Markdown で偽造させるのではなく、本物の作図ツールを利用させることができます。 MCP 経由で一度接続すれば、クラス図、シーケンス図、アーキテクチャビュー、Mermaid フローチャート、D2 グラフ、BPMN プロセス、その他の Kroki 対応形式を依頼できます。サーバーがソースを検証してレンダリングし、URL、プレイグラウンドリンク、またはインライン画像を返します。

エージェント向けプロダクトの構成要素としても利用できます。エージェントに図のツールが必要な場合は MCP、フロントエンドに標準的なイベントストリームが必要な場合は AG-UI、モデルの出力をアプリケーションが所有するインタラクティブな UI コンポーネントに変換する場合は OpenUI を使用します。これらのレイヤーは互いに補完し合います。UML-MCP は図の生成に専念します。

ライブ MCPhttps://uml-mcp.vercel.app/mcp
ドキュメントantoinebou12.github.io/uml-mcp
カタログKroki 対応形式 約 37 種 · MCP ツール 5 個 · URL + プレイグラウンド + チャット用 PNG
エージェント UIMCP /mcp · AG-UI 標準 /ag-ui · OpenUI 統合ガイド
インストールpython scripts/install.py · uv tool install uml-mcp && uml-mcp setup · インストール
コンソールuml-mcp admin:セットアップフォーム、設定、ライブログ、グラフ、Kroki プレイグラウンド(インストール · ユーザーガイド · 概要)

チャットでのUML-MCP:URLとPlaygroundへのリンクを含むクライアント/サーバーのMermaidシーケンス

チャット返信の形式:図のプレビュー · URL · Playground(mermaid.live)

クイックスタート

リモート(推奨) — MCP クライアントに追加します:

"uml-mcp": {
  "transport": "http",
  "url": "https://uml-mcp.vercel.app/mcp"
}

サイトのルートではなく、/mcp を使用してください。次のように依頼します:「ユーザーがAPIゲートウェイ経由でログインするシーケンス図を描いてください。」 またはPlantUML/Mermaid/Krokiのソースを貼り付けてください。

リポジトリのデフォルト設定:.cursor/mcp.json · .vscode/mcp.json · .codex/config.toml。

クライアント設定ガイド
Cursor.cursor/mcp.jsondocs/integrations/cursor.md
VS Code / Copilot.vscode/mcp.jsondocs/integrations/vscode_copilot.md
OpenAI Codex.codex/config.tomldocs/integrations/openai_codex.md
Ollama / Open WebUIconfig/openwebui_mcp.jsondocs/integrations/ollama.md
Claude Desktopconfig/claude_desktop_*.jsondocs/integrations/claude_desktop.md

すべての設定例:config/README.md

ローカルにインストール(ガイド付き):

方法コマンド
インストーラー(必要なのはPython、typer、tqdmのみ)python scripts/install.py
セットアップウィザードuv tool install uml-mcp && uml-mcp setup(プロファイル、機能、クライアント、ヘルスチェック)
Webセットアップフォームuml-mcp setup --web → コンソールにセットアップページを表示
手動uml-mcp config init --profile local · uml-mcp client install --client vscode|cursor|claude-desktop|claude-code

ガイド:docs/installation.md

UML-MCP管理コンソール:KPI、トラフィックチャート、開始チェックリストを含む概要

管理コンソール(uml-mcp admin):概要 · セットアップ · 設定 · アクティビティ · ログ · メトリクス · プラグイン、ライトモードとダークモード、デスクトップとモバイル

originからクローン(ローカルstdio)
git clone https://github.com/antoinebou12/uml-mcp.git
cd uml-mcp
uv sync
uv run python server.py

リポジトリをすでにお持ちで、originを設定する必要がある場合:

git remote add origin https://github.com/antoinebou12/uml-mcp.git

設定: config/README.md(Cursor、VS Code、Codex、Claude、Open WebUI、Continue)

Claude Codeプラグイン
/plugin marketplace add https://github.com/antoinebou12/uml-mcp
/plugin install uml-mcp@uml-mcp-plugins

docs/integrations/claude_code.md · Cursorスキル:.skill/skills/uml-mcp-diagrams/SKILL.md

概要

トピック内容
図Kroki 経由で約 37 種類(UML、Mermaid、D2、TikZ、BPMN、C4、GoAT、UMLet、…)
ツールgenerate_uml · generate_uml_image · validate_uml · list_diagram_types · generate_uml_batch
チャットインライン PNG + markdown ![diagram](url) + Playground リンク
デプロイローカル · Docker · Kubernetes (Helm) · Vercel · Smithery
エンタープライズオプションの SSO:Microsoft Entra ID / OAuth 2.1 ベアラートークン、RFC 9728 メタデータ、明確な 401/403 (docs/enterprise · ガイド)
設定ファイル1 つの uml-mcp.yaml(デフォルト値 < ファイル < 環境変数) · uml-mcp config init|show|validate · プロファイル local / docker / enterprise
監査と可観測性すべてのツール/リソース/プロンプト呼び出しを MXCP 形式で監査(JSONL ローテーション、stdout → SIEM) · JSON ログ · メトリクス + Prometheus /metrics · IP/ユーザー/ルート/ツールごとのレート制限 (運用)
品質uml-mcp lint --strict --min-grade A:mcpx 形式のグレード、トークン予算、MXCP 形式の設定チェック (ルール)
管理コンソールセットアップフォーム、スキーマ駆動の設定(保存、リセット、ライブ適用)、アクティビティ、ライブログ、チャート、Kroki Playground と Docker スタック、停止;ローカルトークンまたは MCP.Admin (概要)
ローカル Krokiuml-mcp kroki up --use:Docker 上の Kroki + mermaid、blockdiag、bpmn、excalidraw(127.0.0.1) (ガイド)
プラグインPython パッケージの追加 MCP ツールと図のレンダラー。plugins.enabled で許可リストに登録します (ガイド · 作成者向け)。インタラクティブな D3 フォース図、クラウドアーキテクチャ図、トポロジー図を含みます (D3 プラグイン)
トレーシングリクエストおよび MCP 呼び出しごとの OpenTelemetry スパン(オプション)(uml-mcp[otel])
フロントエンドエージェント UI 向けの標準 AG-UI SSE;OpenUI は AG-UI を利用し、生成されたコンポーネントをアプリ内にレンダリングできます
MCP ツール
ツール用途
generate_uml図を 1 つレンダリングします。ツールのテキストには画像の markdown、URL、Playground が含まれます。ImageContent には png を使用します。
generate_uml_imageインラインのチャット画像(デフォルトは PNG);ホスト型の MCP_URL_ONLY でもバイト列を取得します
validate_umlローカルチェック;Mermaid/D2 では strict を指定します(セミコロンで詰め込まれた sequenceDiagram を拒否します)
list_diagram_typesカタログ(uml://types と同様)
generate_uml_batch複数の図(MCP_BATCH_MAX_ITEMS、MCP_BATCH_CONCURRENCY)

スモークテスト用プロンプト:tests/prompts/chatgpt_mcp_smoke_test.md

リソース(uml://)
リソース説明
uml://types種類、バックエンド、形式
uml://templates / uml://examplesスターターとサンプル
uml://formats / uml://capabilities形式と検証マトリックス
uml://server-info / uml://workflowバージョン/ツールと、計画してから生成するワークフロー
図の種類
カテゴリー例
UMLクラス図、シーケンス図、アクティビティ図、ユースケース図、状態図、コンポーネント図、配置図、オブジェクト図
一般Mermaid、D2、Graphviz、ERD、BlockDiag、BPMN、C4
特化型TikZ、Excalidraw、GoAT、UMLet、Nomnoml、Pikchr、Structurizr、SVGBob、WaveDrom、WireViz、…

docs/diagrams/index.md

リモートとローカルの比較
リモート(Vercel)ローカル
トランスポートHTTP MCPstdio または HTTP
ファイル書き込みなしオプション
チャット画像URL のみの設定でも PNG ツールがバイト列を取得同様 + オプションでディスクに保存
環境変数サーバー側お使いの .env
デプロイ

Vercel — リポジトリを接続します。クライアントは https://<project>.vercel.app/mcp を使用します。

Smithery — smithery.ai/new に上記の /mcp URL を貼り付けます。ガイド:docs/integrations/vercel_smithery.md。

Docker

docker compose up -d
docker build -t uml-mcp . && docker run -p 8000:8000 uml-mcp
docker run -i uml-mcp python server.py --transport stdio
# self-hosted PlantUML + mermaid.ink fallbacks next to local Kroki
MCP_DIAGRAM_FALLBACK=true USE_LOCAL_PLANTUML=true USE_LOCAL_MERMAID_INK=true docker compose --profile fallback up -d

docs/deploy/docker.md

Kubernetes + SSO:helm upgrade --install uml-mcp deploy/helm/uml-mcp --set auth.mode=jwt …(Entra ID または任意の OIDC プロバイダー)。レンダラーをクラスタ内で実行するには、--set kroki.enabled=true --set plantuml.enabled=true --set mermaidInk.enabled=true を追加します。ガイド:docs/enterprise。

設定(ローカル)
変数デフォルト
KROKI_SERVERhttps://kroki.io
PLANTUML_SERVERhttp://plantuml-server:8080
MERMAID_INK_SERVERhttps://mermaid.ink
MCP_OUTPUT_DIR./output
MCP_READ_ONLYfalse
MCP_URL_ONLYdocs/configuration.md を参照
MCP_BATCH_MAX_ITEMS20
MCP_BATCH_CONCURRENCY4
MCP_RATE_LIMIT_PER_MINUTE0
UML_MCP_CONFIG検出された uml-mcp.yaml(none で無効化)
ADMIN_EMAIL未設定(ホスト型の /admin ログインは無効)。docs/admin/hosted-vercel.md を参照
ADMIN_PASSWORD_HASH / ADMIN_PASSWORD未設定。ハッシュが推奨されます
ADMIN_SESSION_SECRET未設定。32 文字以上が必要で、ログインに必須です

全項目:docs/configuration.md · 単一ファイル:docs/configuration/uml-mcp-yaml.md

アーキテクチャと構成

アシスタント → generate_uml / generate_uml_image → Kroki(およびフォールバック)→ url、playground、任意の画像バイト列。

MCP リクエストフロー

server.py / app.py     -- MCP + FastAPI (/mcp)
mcp_core/tools/        -- generate_uml, generate_uml_image, validate, batch
tools/kroki/           -- Kroki, PlantUML, Mermaid, D2

エージェント UI: AG-UI クライアント向けの標準エンドポイントは POST /ag-ui です。従来の直接レンダリングは POST /ag-ui/generate で利用できます。フロントエンド連携 と OpenUI + UML-MCP を参照してください。

開発
uv sync --all-groups
uv run pytest tests/ -v
uv run ruff check . && uv run ruff format --check .
make ci

ドキュメントをローカルで表示:uv run mkdocs serve → http://127.0.0.1:8000

エンタープライズ SSO:OAuth 2.1 · OpenID Connect · Microsoft Entra ID

オプション機能で、デフォルトでは無効です(MCP_AUTH_MODE=none。公開 Vercel エンドポイントは引き続き開放されています)。

トピック概要
モードjwt:Entra / OIDC アクセストークンを検証します(リソースサーバー) · entra-proxy:DCR クライアント向けに S256 のみの PKCE を使用する RFC 8414 + RFC 7591 ファサードを追加します
OAuth 2.1Authorization Code + PKCE S256。ヘッダーのみのベアラートークン。401 → WWW-Authenticate: Bearer resource_metadata, scope。403 insufficient_scope による追加認証
OpenID Connect署名鍵のディスカバリー + JWKS。ID トークンは拒否され、アクセストークンのみ受け付けます
Entra IDv2 トークン(requestedAccessTokenVersion: 2)、mcp.read / mcp.write / .default、アプリロール、VS Code + Visual Studio の事前認証(セットアップ)
MSALクライアント側のみ(VS Code、Visual Studio、Azure CLI、デーモン)。例は OAuth/OIDC/MSAL を参照
試すtests/http/entra-auth.http · python -m mcp_core.auth generate az-script · チェックリスト

コミュニティ

実際の本番リポジトリで使い続けられるなら、洗練されたローンチデモの多くを上回ります。

— @AIDailyGems による antoinebou12/uml-mcp へのコメント

日次・月次のアクティビティ(スター、フォーク、マージ済み PR、イシュー):trendshift.io/repositories/42725

Links

DocsSite · Cursor · Claude Code · Frontend · Enterprise SSO · OpenUI
ContributeCONTRIBUTING.md · CODE_OF_CONDUCT.md · SECURITY.md
LicenseMIT

Maintained by Antoine Boucher. Built on PlantUML, Kroki, Mermaid, and D2.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。