bizagi-modeler
bizagi-mcp
プロセスの説明を、Bizagi Modelerでそのまま開けるBPMN 2.0ダイアグラムに変換します。
BPMN 2.0ダイアグラムを生成・読み取り・監査・プレビューし、Windows上のBizagi Modelerデスクトップアプリを操作するMCPサーバーです。

60行のJSONスペックから生成されました。上のすべての座標は計算によって得られたもので、手作業で配置されたものではありません。
なぜこれが存在するのか
Bizagi ModelerにはスクリプトAPIがありません。サポートしている唯一の統合経路は、Export / Importタブを介したオープンなBPMN 2.0 XML形式です。
しかし、単純な生成を役に立たなくする落とし穴があります: Bizagiはファイルに書かれた座標をそのままインポートします。 ダイアグラムをレイアウトしてくれるわけではありません。ジオメトリなしで構造的に完璧なBPMNファイルを出力すると、原点に積み重なったボックスの山として開かれます。
したがって、このサーバーの難しい部分はXMLではありません。レイアウトです。
Related MCP server: camunda-mcp
機能
ツール | 説明 |
| スペック形式: すべてのノードタイプ、フィールド、ルール |
| 説明 → インポート可能な |
| 既存の |
|
|
| フォルダーをスキャンして各BPMNファイルを要約 |
| BPMN 2.0ルールとモデリング規約に照らして監査、各指摘に対する修正方法付き |
| SVGにレンダリング — Bizagiを開かずに結果を確認 |
| プロセスドキュメントをMarkdownとして出力(アウトライン+監査) |
| ここからBizagi Modelerを操作できるかどうか |
| Bizagi Modelerを起動(ファイルを指定することも可能) |
| Export / Import ▸ BPMN を操作し、実際にインポートされたか検証 |
| 開いている図に対して Export ▸ BPMN を操作 |
最初の8つは純粋なPythonで、Bizagiがインストールされているかどうかに関係なく、任意のOSで動作します。Windowsが必要なのは4つの bizagi_* ツールだけです。
レイアウトエンジン
レーンを考慮したレイヤードレイアウト。実行順に:
サイクルの解消 — グラフをレイヤリング可能にする
最長パスレイヤリング → 各ノードの水平方向の列
(列, レーン)ごとの重心順序付け → 交差線を削減
適応型レーンの高さ — 各バンドが保持する最も高いセルに合わせてサイズ調整
予約ストリップ — 列をスキップする分岐を持つレーンの上部に沿ったバイパス帯と、ループバック用の下部チャネル帯
障害物を迂回して通り、突き抜けない直交ルーティング
最終パスとしてのラベル分離
保証されること
これらは願望ではありません。それぞれが、ルールを削除すると失敗するテストです:
2つの図形が重ならない
端点ではない図形をエッジが通過しない
すべての要素が自身のプール内に配置される
メッセージフローはプール間の空の回廊を流れ、プール内を水平に横切ることはない
各メッセージフローはその回廊内に専用のラインを持ち、回廊のサイズはそれを横切るフローの数から決まる — そのためラベルが重ならない
ループバックはそれぞれ、レーンのサイズ調整時に予約されたストリップ内に専用チャネルを持つ
列をスキップする分岐は、自身のレーン内で、スキップするアクティビティの上を迂回する
ゲートウェイの分岐は視覚的に異なるポイントから出るため、2方向の分岐が1本の矢印に見えない
境界イベントのフローは下向きに出て、ホストアクティビティを通って上に戻ることはない
注釈とデータストアは、それが説明するものの横に配置される — 関連付けがない場合は、キャンバスの外ではなく、宣言されたプールの内側に配置される
ラベルが他のラベルや図形の上に書かれることはない
設計メモ
間違えやすい判断がいくつかあります:
ラベルの幅はテキストと同じです。 すべてのラベルに平らなボックスを予約すると、長いラベル同士の衝突が、予約ボックスを測定するものには見えなくなります。
予約スペースはセンタリングの対象から除外する必要があります。 チャネルのためのスペースを確保するためにレーンを広げ、その中で図形を中央寄せすると、新しいスペースの半分が上部のパディングとして戻されてしまいます — チャネルが薄くなりすぎて使えなくなります。
迂回は図形と図形の間の隙間に入れるべきで、すべての図形の周りを回るべきではありません。 すべての上や下を通すルーティングでは、ラインがプールの外に出てしまい、そこに到達する垂直線が途中ですべてのレーンを横切ることになります。
データストアは多くのアクティビティと関連付けることができますが、配置されるのは1つの横です。 関連付けごとに配置すると、以前の配置があった場所のレーンに穴が残ります。
インストール
pip install -e .Windowsデスクトップツールの場合:
pip install -e ".[desktop]"Python ≥ 3.10。
Claudeへの登録
claude_desktop_config.json (Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"bizagi-modeler": {
"command": "bizagi-mcp",
"env": {
"BIZAGI_MCP_ROOT": "C:\\Users\\you\\Documents\\Bizagi"
}
}
}
}bizagi-mcp がPATHにない場合:
{
"mcpServers": {
"bizagi-modeler": {
"command": "python",
"args": ["-m", "bizagi_mcp.server"],
"env": { "BIZAGI_MCP_ROOT": "C:\\Users\\you\\Documents\\Bizagi" }
}
}
}Claude Codeの場合: claude mcp add bizagi-modeler -- bizagi-mcp
環境変数
変数 | 説明 |
| すべてのファイル読み書きをこのフォルダーに制限します。強く推奨します。 |
| 自動的に見つからない場合の |
使い方
ダイアグラムを生成する
"休暇申請をモデル化してください: 従業員が申請し、マネージャーが承認または却下し、HRが結果を記録します。
D:\Processes\leave.bpmnに保存してください。"
次にBizagi Modelerで: Export / Import ▸ Import ▸ BPMN。
既存のモデルを分析する
最初にBizagiからエクスポートし(Export / Import ▸ Export ▸ BPMN)、次に:
"
D:\Processes\purchasing.bpmnを読み、それを説明し、何が問題か教えてください。"
例
examples/purchase_request.json(スペック)、.bpmn(生成結果)、.svg(プレビュー)を参照してください。
検証ルール
構造 (BPMN001–BPMN020、重大度 error / warning)
開始イベントまたは終了イベントの欠落・到達不能な要素・行き止まり・プールを横切るシーケンスフロー・単一プール内のメッセージフロー・条件なしで分岐するゲートウェイ・イベントベースゲートウェイのターゲット・暗黙の分岐と合流・非アクティビティ上の境界イベント・重複ID・条件も持つデフォルトフロー・1入力1出力のゲートウェイ。
規約 (BP001–BP017、重大度 warning / info)
アクティビティの命名(動詞+目的語)・質問形式になっていないゲートウェイ・ラベルのない分岐・ドキュメンテーションの網羅性・レーンのないプール・空のレーン・図のサイズ・重複名・メッセージを交換しないプール。
すべての指摘は、問題のある要素と、それを修正する具体的な手順を明示します。
デスクトップアプリの操作
bizagi_open は信頼できる方法です。Modelerはファイルをコマンドライン引数として受け取るため、メニューを操作する必要がありません。
bizagi_import_bpmn はリボンを操作しますが、その点を正直に明かしています:
フォアグラウンドを取得し、実際に取得できたことを検証します。Windowsは、フォアグラウンドを所有していないプロセスへの
SetForegroundWindowを拒否します。また、set_focus()は成功したかのように返ります — そのままクリックすると、ユーザーが作業中の何かに実際のマウスクリックが送られます。図のタブ数を前後で数え、その証拠に基づいて
imported: true/falseを報告します。希望的観測ではありません。両方のカウントはウィンドウを前面に上げた状態で取得します。背面にあるウィンドウは不完全なアクセシビリティツリーを返す可能性があるためです。
バックグラウンドモードはありません
インポートは、マシンが他の作業に使われている間は実行できません。Modeler 4.3.0.008 に対して3つの経路をテストしましたが、すべて閉じられています:
経路 | 結果 |
UI Automation | リボンタブはパターンを一切公開しない |
| 候補となるすべてのウィンドウハンドルで無視される |
| 何もインポートせずに終了コード0で終了する |
リボンは、フォーカスされたウィンドウに対する実際のマウス入力にのみ反応します。無人実行の場合は、Bizagi専用のWindowsセッションまたはVMを用意してください。それを記録に残して誰も再試行しないようにしたい場合: この表がその記録です。
セキュリティ
パスはチェックされる前に完全に解決され(
~、..、シンボリックリンク)、設定されている場合はBIZAGI_MCP_ROOT内に制限されますXML解析は、利用可能な場合は
defusedxmlを経由します(XXE、billion laughs)overwrite=trueなしでファイルが上書きされることはありませんBizagiは引数リストで起動され、シェルを使用しないため、ファイル名がコマンドになることは決してありません
すべてのエラーはデータとして返されます(
{"ok": false, ...})。トレースバックは返されません
テスト
pip install -e ".[dev]"
pytest -q72のテスト: スペックの正規化、XSD要素の順序、BPMNDIの完全性、上記のすべてのレイアウト保証、ラベル衝突、ラウンドトリップ、各検証ルール、パストラバーサル、リボンボタン選択、フォアグラウンド検証、そしてすべてのツールのエラー契約。
既知の制限
.bpmは読み取られません。 これはBizagi独自の形式です。最初にBPMNにエクスポートしてください。list_processesは.bpmファイルを一覧表示し、フラグを立てます。デスクトップ操作はWindowsのみで、
pywinautoが必要です。図は1レベル深さまで生成されます。 サブプロセスは折りたたまれた図形として表示され、その内容は生成されません。
レイアウトの整然さは、ファイルに書き込まれるジオメトリに対して保証されます。 Bizagiはノード名を独自のルールで配置しますが、これはダイアグラム交換セクションでは制御できません。
ライセンス
MIT — LICENSE を参照してください。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI agents to create, manipulate, and manage BPMN 2.0 diagrams programmatically, with support for Mermaid conversion, auto-layout, and file persistence.249
- AlicenseNot gradedqualityCmaintenanceMCP server for modeling Camunda 7 BPMN diagrams programmatically, including elements, flows, and Camunda extensions.MIT
- FlicenseNot gradedqualityFmaintenanceEnables AI-driven graphical diagram creation and manipulation using natural language, with support for BPMN workflows, analysis, and manual editing via the Model Context Protocol.1
- AlicenseNot gradedqualityFmaintenanceEnables to create and edit Microsoft Visio diagrams programmatically via a standardized API.86MIT
Related MCP Connectors
Create, validate, convert & extract compliant e-invoices (UBL, Factur-X, ZUGFeRD, XRechnung)
Generate cloud architecture diagrams, flowcharts, and sequence diagrams.
Convert Revit files to XKT, IFC, or DWG and query BIM data via natural language.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/harezadmm/bizagi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server