Smart Drawio について
Smart Drawio は、MCP クライアントから編集可能な draw.io XML を作成・変換するローカル MCP サーバーです。検証、修復、スタイル適用、オプション検索を備え、生成にはモデルプロバイダーの設定が必要です。
主な機能
- 01検証済み draw.io XML の生成
- 02XML 構造と参照の検証
- 03対応する閉じタグ欠落の修復
- 04テーマとスタイル設定の適用
- 05図表・スタイルオプションの検索
活用シーン
- 01プロンプトから編集可能な図を作成
- 02draw.io への取り込み前に XML を確認
- 03対応する不正形式の XML を修復
- 04テーマやスタイルパックを適用
MCP 対応
未圧縮 draw.io XML の生成、検証、修復、スタイル適用と、利用可能なオプションの検索をツールとして提供します。ローカル stdio を使い、生成は設定済みプロバイダーを呼び出しますが、検証・修復・スタイル適用はローカルで実行されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @yunshenwuchuxun/smart-drawio-mcpSMART_DRAWIO_PROVIDERopenai or anthropic; required only for model generationSMART_DRAWIO_BASE_URLModel provider HTTP(S) base URL; required only for model generationSMART_DRAWIO_API_KEYシークレットYour model provider API key; required only for model generationSMART_DRAWIO_MODELModel identifier; required only for model generationローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
5掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
Smart Drawio MCP
編集可能な draw.io XML を生成、検証、修復、スタイリングするローカル MCP サーバーです。Smart Drawio Next と図のコア機能を共有しています。stdio を使用するため、Next.js の Web サイト、ブラウザー、draw.io Desktop は必要ありません。
npm からインストール
Node.js 20.9 以降を使用してください。ローカルの stdio MCP サーバーに対応したクライアントを設定します。
{
"mcpServers": {
"smart-drawio": {
"command": "npx",
"args": ["-y", "@yunshenwuchuxun/[email protected]"]
}
}
}
クライアントが MCP プロセスを起動します。検証、修復、スタイリング、オプションの検索はすぐに使用できます。生成を有効にするには、以下の 4 つのモデル環境変数を設定してください。
Smart Drawio Skill では、エージェント独自のモデルを使って XML を作成し、その後、必要に応じてこれらのツールを呼び出すこともできます。
このリポジトリから実行
Node.js 20.9 以降を使用してください。リポジトリのルートからビルドします。
pnpm install --frozen-lockfile
pnpm build:mcp
ローカルの stdio MCP サーバーに対応したクライアントを設定します。
{
"mcpServers": {
"smart-drawio": {
"command": "node",
"args": ["/absolute/path/smart-drawio-next/packages/mcp/dist/stdio.js"]
}
}
}
絶対パスをチェックアウト先のパスに置き換えてください。クライアントがプロセスを起動します。実行ファイルを直接実行すると、stdin で JSON-RPC を待機します。stdout には MCP メッセージのみが出力されます。
npm の実行ファイルは smart-drawio-mcp です。直接実行すると stdin で JSON-RPC を待機します。MCP クライアントから起動することを想定しています。
任意のモデル設定
検証、修復、スタイリング、オプションカタログは、モデルの認証情報なしで使用できます。次の 4 つの環境変数が必要なのは generate_drawio のみです。これらは MCP プロセスに設定してください。
| 変数 | 意味 |
|---|---|
SMART_DRAWIO_PROVIDER | openai または anthropic |
SMART_DRAWIO_BASE_URL | 互換性のある HTTP(S) ベース URL。例:https://api.openai.com/v1 またはローカルモデルのエンドポイント |
SMART_DRAWIO_API_KEY | プロバイダーの API キー。認証を無視するローカルエンドポイントでは、空でないプレースホルダーを使用してください |
SMART_DRAWIO_MODEL | そのプロバイダーがサポートするモデル ID |
クライアントの環境設定またはシークレット設定を使用してください。認証情報がツールの引数や結果に含まれることはありません。localhost とカスタム HTTP(S) プロバイダーがサポートされています。ベース URL に認証情報、クエリパラメーター、フラグメントを埋め込むことはできません。
クライアント設定でプレースホルダー値を使用する例:
{
"mcpServers": {
"smart-drawio": {
"command": "node",
"args": ["/absolute/path/smart-drawio-next/packages/mcp/dist/stdio.js"],
"env": {
"SMART_DRAWIO_PROVIDER": "openai",
"SMART_DRAWIO_BASE_URL": "http://localhost:11434/v1",
"SMART_DRAWIO_API_KEY": "local-placeholder",
"SMART_DRAWIO_MODEL": "your-local-model-id"
}
}
}
}
モデル設定を変更した後は、MCP プロセスを再起動してください。生成の合計タイムアウトは 240 秒、無通信タイムアウトは 60 秒です。クライアントがキャンセルすると、プロバイダーへのリクエストは中止されます。
ツール
| ツール | 入力 | 動作 |
|---|---|---|
list_drawio_options | {} | グラフの種類、テーマ、スタイルパック、プリセット、テキストツール、トリックの ID と説明を検索します |
validate_drawio | xml | XML 構文、ID、親要素、エッジ参照を検証します |
repair_drawio | xml | 対応している未完了の終了タグを修復し、修復結果を検証します |
style_drawio | xml。任意の theme、sourceTheme、stylePack、presets、textTool、trick | 変換済みの XML ドキュメントを返します。presets は ID と真偽値のマップです |
generate_drawio | prompt。任意の chartType="auto"、theme="research" | 設定済みのプロバイダーを使って生成し、完全な検証済み XML を返します |
すべての結果に、ok、diagnostics、および任意の xml、stats、options を含む structuredContent が含まれます。テキストコンテンツには、診断情報と、利用可能な場合は XML が含まれます。ツールの失敗時は isError: true が設定されます。不正なツール引数は MCP SDK によって拒否されます。キャンセルされた呼び出しには MCP のキャンセルセマンティクスが適用されます。
ID の検索後にスタイルをリクエストする例:
{
"xml": "<mxfile>...</mxfile>",
"stylePack": "researchClean",
"presets": { "shadow": false }
}
サポート範囲
このバージョンでは、非圧縮の .drawio XML を処理します。XML ドキュメントあたりの MCP 入力上限は 2,097,152 文字です。プロンプトの上限は 262,144 文字です。圧縮された図とレガシー JSON 描画形式は、事前に非圧縮 XML に変換する必要があります。
サーバーは図のデータをメモリ上で返します。.drawio ファイルを保存するかどうか、また保存先は、クライアントが決定します。現在のブラウザーのキャンバスを読み取ったり、ノードを選択したり、PNG/PDF のスクリーンショットをエクスポートしたり、リアルタイムのエディターセッションを管理したり、リモート HTTP MCP エンドポイントを提供したりすることはありません。
返された XML を draw.io にインポートするか、Smart Drawio Next のウェブサイトを使って視覚的に編集してください。生成の呼び出しでは、設定された外部プロバイダーを利用します。検証、修復、スタイル変換はローカルで実行されます。
ファクトリー API
import { createSmartDrawioServer } from '@yunshenwuchuxun/smart-drawio-mcp';
import { serveStdio } from '@modelcontextprotocol/server/stdio';
serveStdio(() => createSmartDrawioServer());
createSmartDrawioServer({ env, core }) では、埋め込みやテストのために環境とコア実装を指定できます。また、パッケージは共有の図コアを @yunshenwuchuxun/smart-drawio-mcp/core からエクスポートします。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。