mcpField
S
Smart Drawio

Smart Drawio

ローカル
github.com/yunshenwuchuxunメディア・デザイン3662 週間前に更新

Smart Drawio について

Smart Drawio は、MCP クライアントから編集可能な draw.io XML を作成・変換するローカル MCP サーバーです。検証、修復、スタイル適用、オプション検索を備え、生成にはモデルプロバイダーの設定が必要です。

主な機能

  1. 01検証済み draw.io XML の生成
  2. 02XML 構造と参照の検証
  3. 03対応する閉じタグ欠落の修復
  4. 04テーマとスタイル設定の適用
  5. 05図表・スタイルオプションの検索

活用シーン

  1. 01プロンプトから編集可能な図を作成
  2. 02draw.io への取り込み前に XML を確認
  3. 03対応する不正形式の XML を修復
  4. 04テーマやスタイルパックを適用

MCP 対応

未圧縮 draw.io XML の生成、検証、修復、スタイル適用と、利用可能なオプションの検索をツールとして提供します。ローカル stdio を使い、生成は設定済みプロバイダーを呼び出しますが、検証・修復・スタイル適用はローカルで実行されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"yunshenwuchuxun-smart-drawio": {
"command": "npx",
"args": [
"-y",
"@yunshenwuchuxun/smart-drawio-mcp"
],
"env": {
"SMART_DRAWIO_PROVIDER": "<SMART_DRAWIO_PROVIDER>",
"SMART_DRAWIO_BASE_URL": "<SMART_DRAWIO_BASE_URL>",
"SMART_DRAWIO_API_KEY": "<SMART_DRAWIO_API_KEY>",
"SMART_DRAWIO_MODEL": "<SMART_DRAWIO_MODEL>"
}
}
}
}
起動コマンドnpx -y @yunshenwuchuxun/smart-drawio-mcp
設定が必要な環境変数
SMART_DRAWIO_PROVIDERopenai or anthropic; required only for model generation
SMART_DRAWIO_BASE_URLModel provider HTTP(S) base URL; required only for model generation
SMART_DRAWIO_API_KEYシークレットYour model provider API key; required only for model generation
SMART_DRAWIO_MODELModel identifier; required only for model generation

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@yunshenwuchuxun/smart-drawio-mcp0.1.0

ツール

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_PROVIDERopenai または 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_drawioxmlXML 構文、ID、親要素、エッジ参照を検証します
repair_drawioxml対応している未完了の終了タグを修復し、修復結果を検証します
style_drawioxml。任意の theme、sourceTheme、stylePack、presets、textTool、trick変換済みの XML ドキュメントを返します。presets は ID と真偽値のマップです
generate_drawioprompt。任意の 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 からエクスポートします。

コメント

MCP は初めてですか?

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

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