draw.io公式MCPサーバーでER図・フローチャートを自動生成|Claude Code連携ガイド

AI・自動化
スポンサーリンク

この記事でわかること
– draw.io公式MCPサーバーの仕組みと出来ること
– Claude Codeへの導入手順(5分)
– ER図・フローチャート・シーケンス図の自動生成例
– 実務での活用パターン

「このDBスキーマからER図作って」——そう言うだけで図が生成される。

draw.io(diagrams.net)の開発元JGraphが公式MCPサーバーをリリースし、Claude Codeから直接ダイアグラムを生成・編集できるようになった。設計ドキュメントの作成が根本から変わる。


スポンサーリンク

draw.io MCPサーバーでできること

機能説明
図の新規生成テキスト・コードの説明から.drawioファイルを生成
既存図の編集既存の.drawioファイルを読み込み、AIで更新
XML操作draw.ioのXML形式を直接生成・解析

対応する図の種類:
– ER図(エンティティ関係図)
– フローチャート
– シーケンス図
– アーキテクチャ図
– 組織図
– 状態遷移図


インストール・登録

1. MCPサーバーの登録

~/.claude/settings.json に以下を追加:

{
 "mcpServers":{
   "drawio":{
     "command":"npx",
     "args":["-y","@jgraph/mcp-server-drawio"]
   }
 }
}

これだけ。draw.io本体のインストールは不要(生成はXMLファイル出力のみ)。

2. Claude Codeを再起動

再起動後、Claude Codeのプロンプトに /mcp と入力して drawio が表示されていれば接続成功。


実践例1:SQLiteスキーマからER図を生成

実際の作業フロー:

あなた:このSQLiteのスキーマからER図を作って。ファイルは./schema.sql

Claude:スキーマを読み込みます...draw.ioMCPで生成
er-diagram.drawioが生成されました

schema.sql の例:

CREATETABLEusers(
 idINTEGERPRIMARYKEY,
 emailTEXTNOTNULLUNIQUE,
 nameTEXTNOTNULL,
 created_atTIMESTAMPDEFAULTCURRENT_TIMESTAMP
);

CREATETABLEposts(
 idINTEGERPRIMARYKEY,
 user_idINTEGERREFERENCESusers(id),
 titleTEXTNOTNULL,
 contentTEXT,
 published_atTIMESTAMP
);

CREATETABLEtags(
 idINTEGERPRIMARYKEY,
 nameTEXTNOTNULLUNIQUE
);

CREATETABLEpost_tags(
 post_idINTEGERREFERENCESposts(id),
 tag_idINTEGERREFERENCEStags(id),
 PRIMARYKEY(post_id,tag_id)
);

Claude Codeに「このスキーマのER図をdraw.io形式で作って」と指示すると、テーブル間のリレーションシップを解析した .drawio ファイルを出力してくれる。


実践例2:コードからフローチャートを生成

あなた:このPython関数の処理フローをフローチャートにして

Claude:関数を解析してフローチャートを生成します...
flowchart.drawioが生成されました
defprocess_order(order_id: str) -> dict:
    order = fetch_order(order_id)
    if not order:
        return {"status": "error", "message": "Order not found"}

    if order["status"] == "pending":
        stock = check_stock(order["items"])
        if stock["available"]:
            reserve_stock(order["items"])
            payment = process_payment(order["payment"])
            if payment["success"]:
                update_order_status(order_id, "confirmed")
                send_confirmation_email(order["user_email"])
                return {"status": "success"}
            else:
                release_stock(order["items"])
                return {"status": "error", "message": "Payment failed"}
        else:
            return {"status": "error", "message": "Out of stock"}

    return {"status": "skipped", "message": f"Order already{order['status']}"}

分岐が多く手で書くと面倒なフローチャートも、コードを貼るだけで生成できる。


実践例3:マイクロサービス構成図

あなた:APIGatewayAuthServiceUserServiceDBの構成図を作って。
       CDNAPIGatewayProductServiceRedisCacheも含めて。

Claude:アーキテクチャ図を生成します...
architecture.drawioが生成されました

テキストの説明だけでアーキテクチャ図が出力される。既存のAWSや技術スタックを指定すれば、対応するアイコンを使った図になる。


生成したファイルの開き方

方法1: draw.ioデスクトップアプリ
draw.ioのリリースページ からダウンロード
– .drawioファイルをドラッグ&ドロップで開く

方法2: VS Code拡張機能

VS Code → Extensions → "Draw.io Integration" (hediet.vscode-drawio) をインストール

.drawioファイルをVS Code内でそのままプレビュー・編集できる。コードと図を並べて作業できるので開発効率が上がる。

方法3: ブラウザ(diagrams.net)
– https://app.diagrams.net/ を開いてファイルをアップロード


既存の図を更新する

一度作った図をClaude Codeで更新することもできる。

あなた:er-diagram.drawioOrderItemsテーブルを追加して。
       columns:id,order_id(FKorders),product_id(FKproducts),quantity,price

Claude:既存のER図を読み込んで更新します...
er-diagram.drawioが更新されました(OrderItemsテーブルと外部キーリレーションを追加

差分更新なので、既存のレイアウトを崩さずに要素を追加できる。


活用シーン

設計レビュー前の準備
コードや仕様書からドラフト図を自動生成して、レビュー時間を削減。手書きの設計図をコードベースで管理できる。

ドキュメント更新の自動化
DBスキーマが変更されたとき、schema.sql を読ませて既存のER図を自動更新。図とコードの乖離をなくせる。

API仕様からシーケンス図
OpenAPI仕様(swagger.yaml)を読み込ませてシーケンス図を生成。APIドキュメントと図を連動させやすくなる。


注意点

レイアウトの調整は手動で
自動生成された図は「内容は正しいが見た目が最適でない」ことがある。特にER図は繋がりが多いと交差が増える。内容確認後、draw.ioの自動レイアウト機能で整理するのが現実的。

複雑な図は分割する
20テーブル以上のER図を一度に生成すると煩雑になりやすい。コンテキストごとに図を分割して、それぞれ生成する方が使いやすい。


まとめ

draw.io公式MCPサーバーを使うと:
– テキスト・コード → ダイアグラム の変換がClaude Codeから直接できる
– ERD・フローチャート・アーキテクチャ図に対応
– 設定は settings.json への追記のみ

「図を作るためにツールを切り替える」手間がなくなる。コードと並行して図を生成・更新できる環境は、開発ドキュメントの品質を上げる実用的な選択肢だ。


あわせて読みたい


参考: jgraph/mcp-server-drawio (GitHub), draw.io公式


見てもらえるだけで応援になります

このブログはアフィリエイトリンクで運営されています。以下のリンクから気になるサービスをチェックしてもらえると、僕たちの活動の支えになります。


この記事を書いたのは わさび(ニホンイシガメ / 3歳 / VTuberあかはら。の家族)です。

あかはらVラボ — Claude特化の情報を発信中。

この記事が参考になったら|以下のリンクから見てもらえるだけで、ブログ運営の応援になります。

コメント

タイトルとURLをコピーしました