qcad-mcp について
qcad-mcpは、DXFとDWGの2D CAD作業を自動化するMCPサーバー兼RESTサービスです。間取りの分析、編集、変換、押し出しに対応し、永続ファイル保管庫とWebインターフェースを備えています。
主な機能
- 01DXF/DWGの解析とレンダリング
- 02図面のSVG・STL変換
- 03部屋と建物データの分析
- 04レイヤーとエンティティの編集
- 05永続CADファイル保管庫
- 06REST APIとWebダッシュボード
活用シーン
- 01間取り図から3Dモデルを作成
- 02部屋を計測し開口部を確認
- 03保管したCADファイルを一括処理
- 04DXF図面の作成と管理
MCP 対応
ファイル変換、注釈、分析、BIM連携、QCAD Pro操作などを12個のMCPツールで提供します。stdioとHTTPのMCPトランスポートに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
QCAD MCP
AI 主導の 2D CAD 自動化 — DXF/DWG の解析、3D 押し出し、永続ファイル保管庫、部屋の分析、完全な CRUD 管理に対応します。DXF 処理用の 12 個の MCP ツール(8 個のポートマントーツール+4 個の Prefab カード)を備えています。AI アシスタントが QCAD Pro のオペレーターになります。
| こんな用途に | AI を使って間取り図をプログラムで処理したい、DXF を Resonite/Unity3D 用に 3D へ変換したい、永続的な CAD ファイル保管庫を管理したい、または製図ワークフローを自動化したい場合に適しています。 |
| 接続先 | すべての解析+レンダリング+押し出し+分析に ezdxf(無料の Python エンジン)を使用します |
| ポート | バックエンド 11966、ダッシュボード 11967 |
| 開始方法 | just bootstrap の後に start.ps1 を実行します |
MCP ツール
v0.5.0 のポートマントーインターフェース:各ツールは op 識別子と、その op のパラメーターを受け取ります(以前の op ごとの名前は、ウェブアプリ内部のエイリアスとしてのみ残っています)。
| ツール | アクセス | 用途 |
|---|---|---|
plan | READ/MUTATE | ezdxf のコア操作:info、to_svg、extrude、stack、obj、glb、drawings、export、analyse、create、depot |
plan_edit | MUTATE | convert(QCAD Pro による DWG↔DXF 変換)、modify(レイヤー/エンティティ) |
plan_annotate | READ/MUTATE | dimension、measure、text、hatch、block_insert、array、wall_data、beam_analysis |
plan_pro | MUTATE | QCAD Pro:script、render、exec(ECMAScript) |
plan_library | READ/MUTATE | blocks、blocks_download、scripts_search、scripts_download |
plan_ai | MUTATE | generate(自然言語による間取り図作成)、agentic(自然言語によるワークフロー)、transpile(AutoLISP)、sampling(ホスト LLM による推論) |
plan_bim | READ/MUTATE | auto_dimension、building_meta、to_ifc_data(BIM への引き渡し) |
qcad | READ | status(QCAD Pro のインストール状況)、help(ライブカタログ)、shutdown(正常終了) |
show_qcad_status_card | READ | Prefab カード:QCAD Pro のステータス |
show_depot_card | READ | Prefab カード:保管庫のファイル |
show_beam_analysis_card | READ | Prefab カード:梁の FEA 結果 |
show_building_meta_card | READ | Prefab カード:建物のメタデータ |
Fleet のクロス接続(コンパニオン)
qcad-mcp は完全に単独で動作します。拡張機能を利用するには、任意で sandraschi Fleet のコンパニオンサーバーに接続できます。
| コンパニオンサーバー | 利用可能になる機能 | 状態 | セットアップ |
|---|---|---|---|
blender-mcp | 3D シーンの押し出し、DXF レイアウトのレンダリング | 任意 | インストールガイド |
freecad-mcp | 2D 図面からパラメトリック 3D への変換 | 任意 | インストールガイド |
自己完結型のコンパニオン:Fleet のコンパニオンは独立して動作します。コンパニオンをインストールしても、依存関係が連鎖的に追加されることはありません。
CAD Depot(永続ファイルストレージ)
すべての CAD ファイルは %LOCALAPPDATA%\qcad-mcp\depot の永続デポに保存されます。サーバーの再起動やシステムの再起動後も保持されます。QCAD_MCP_DEPOT 環境変数で設定できます。
REST API によるデポの CRUD:
| エンドポイント | メソッド | 説明 |
|---|---|---|
/api/v1/depot | GET | メタデータ(サイズ、日付、説明、タグ)付きですべてのファイルを一覧表示 |
/api/v1/depot/{name} | GET | DXF ファイルをダウンロード |
/api/v1/depot/{name} | PUT | ファイル名の変更、または説明/タグの更新 |
/api/v1/depot/{name} | DELETE | ファイルとメタデータサイドカーを削除 |
/api/v1/depot/create | POST | JSON エンティティ仕様(line、rect、circle、text、polyline)から DXF を作成 |
/api/v1/depot/upload | POST | DXF/DWG をデポに直接アップロード |
REST API
| エンドポイント | メソッド | 説明 |
|---|---|---|
/api/v1/status | GET | サーバーの状態、ezdxf のバージョン、QCAD Pro の状態 |
/api/v1/upload | POST | DXF/DWG をアップロード(デポにも保存) |
/api/v1/download/{name} | GET | SVG/STL/PDF/PNG の出力をダウンロード |
/api/v1/files | GET | すべてのファイルを一覧表示(デポ+出力) |
/api/v1/depot/* | GET/PUT/DELETE | 永続 CAD デポに対する完全な CRUD 操作 |
/api/v1/control/tool | POST | 任意の MCP ツールを実行 |
/api/v1/logs/stream | GET | SSE ライブログストリーム |
/api/v1/chat | POST | Ollama 経由で CAD エキスパートとチャット |
/api/v1/settings | GET/PUT | LLM と押し出しのデフォルト設定、QCAD Pro のパス |
Web アプリのページ
| ルート | ページ | 説明 |
|---|---|---|
/ | ダッシュボード | ヒーローバナー、QCAD Pro のステータスパネル、デポの統計、ezdxf のバージョン |
/demo | AI CAD デモ | 自然言語 → 間取り図 → SVG → 3D STL。プリセットカード、パイプラインのステッパー、タブ付きの結果 |
/chat | チャット | ストリーミング LLM チャット、スキル優先、6 種類のパーソナリティ、履歴、エクスポート |
/inbox | 受信トレイ | インラインプレビューと Viewer リンク付きの新規ファイル確認キュー |
/tools | ツール | 操作チップと Playground へのディープリンクを備えたポートマントーツール一覧 |
/skills | スキル | スキルブラウザー(Chat がシステムプロンプトとして使用するファイルと同じもの) |
/depot | デポ | SVG プレビュー、DXF 作成ウィザード、アップロード、名前変更、削除機能を備えた完全な CRUD ファイルブラウザー |
/viewer | Viewer | DXF アップロードとレイヤーごとの切り替えに対応した SVG プレビュー |
/extrude | 押し出し | 壁の高さ/厚さ/レイヤーを制御して DXF → STL に変換 |
/analyse | 分析 | 部屋の検出、面積表、ドア/窓の一覧 |
/layers | レイヤー | レイヤーの表示設定、フリーズ/ロック、名前変更、一括操作 |
/blocks | ブロック | ライブラリから 4800 件以上の CAD ブロックを検索してダウンロード |
/scripts | スクリプト | QCAD ECMAScript スクリプトギャラリーの閲覧とローカルスクリプトの保存 |
/agentic | AI エージェント | 自律型の複数ステップ CAD ワークフロー(QCAD Pro) |
/batch | バッチ | すべてのデポファイルに対して情報取得/分析/押し出しを実行。ギャラリー付き STL 一括押し出し |
/pipeline | パイプライン | 5 ステップのウィザード:説明 → SVG → 分析 → STL → FreeCAD 壁データのエクスポート |
/playground | Playground | ツール API テスター:任意のツールを選択し、JSON 引数を編集して実行し、生の応答を表示 |
/models | モデル | アップロードと出力をダウンロード付きで一覧表示 |
/logs | ログ | フィルター/エクスポート/一時停止機能付きの SSE ライブログビューアー |
/settings | 設定 | LLM プロバイダー/モデル、押し出しのデフォルト設定、QCAD Pro のパス |
/help | ヘルプ | 10 個のタブを備えたリファレンス:QCAD、ezdxf、ツール、パイプライン、形式、フリート |
docs/floorplan-sources.md | — | 無料、有料、歴史的な間取り図のソースとラスター → DXF パイプライン |
クイックスタート
just bootstrap # uv sync + bun install
start.ps1 # kills zombies, starts backend + frontend, opens browser
インストール(Claude Desktop、Windows)
irm https://github.com/sandraschi/qcad-mcp/releases/latest/download/install.ps1 | iex
安定版の qcad-mcp.mcpb バンドルを Claude Desktop にインストールします。その他の
クライアント(Cursor、VS Code、OpenCode)では、stdio エントリに uvx を使用します。
{
"mcpServers": {
"qcad-mcp": {
"command": "uv",
"args": ["run", "--directory", "D:\\Dev\\repos\\qcad-mcp", "run_server.py"]
}
}
}
MCP クライアント設定
{
"mcpServers": {
"qcad": {
"url": "http://localhost:11966/sse",
"transport": "sse"
}
}
}
ラスターからDXFへのパイプライン(計画中)
平面図をスキャンして、作業用のDXFに変換するのは簡単です:
Book/magazine page → scanner (300-600 DPI) inkscape-mcp
↓ (Trace Bitmap)
Potrace / Inkscape ↓
↓ QCAD MCP
Raw vector DXF (plan_edit(op="modify"))
↓
Clean up in QCAD / plan_edit(op="modify")
| 手順 | ツール | 機能 |
|---|---|---|
| スキャン | 任意のスキャナー | 300~600 DPI、グレースケールまたは白黒でスキャンし、PNG/TIFFとして保存 |
| ベクター化 | inkscape-mcp trace_bitmap() またはpotrace CLI | ラスター画像の線をSVGパスに変換 |
| 変換 | SVG → DXF(potraceまたはezdxf経由) | 任意のCADプログラムで開けるようにする |
| クリーンアップ | qcad-mcp plan_edit(op="modify") | 短いセグメントを結合し、不要な線を削除し、レイヤーを再編成し、寸法を引き直す |
方法は2つあります:
- inkscape-mcpを使う方法 — スキャンしたPNGをinkscape-mcpの
trace_bitmap()ツールに送信すると、適切なパス形状を持つSVGが返されます。このSVGはQCADに問題なくインポートでき、編集可能なエンティティとして扱えます。 - qcad-mcpでpotraceを使う方法 — potraceとezdxfをラップする
plan_raster_to_dxf(file_name)ツールを追加します。自己完結型で、外部サーバーは不要です。
どちらの方法でも、結果はクリーンアップのためにplan_edit(op="modify")を通します(ノイズを削除し、壁のセグメントを結合し、レイヤーを再割り当てし、寸法を引き直します)。デモページのバロック様式の教会プリセットは、パラメトリックなジオメトリが機能することを証明しています。スキャン機能があれば、実在する既存の建物を取り込めるようになります。
QCAD Proの価格 — €50?本当に?
QCAD Professionalは、シングルユーザーライセンスが**€50.40**で販売されています。買い切りで、サブスクリプションはありません。AutoCADの年額2,000ドル以上と比べると異常な安さに見えますが、RibbonSoftの収益モデルには、もう少し複雑な仕組みがあります:
| 製品 | 価格 | 市場 |
|---|---|---|
| Community Edition | 無料(GPLv3) | 趣味のユーザー、学生、ものづくり愛好家 |
| QCAD Professional | €50.40 | 個人の専門家、小規模事業者 |
| QCAD Pro Site License | €440.40 | 企業(1拠点で無制限のライセンス数) |
| QCAD Pro Server License | €583.20 | セルフホスト可能な導入 |
| QCAD Pro Scalable Server | €1,771.20 | エンタープライズ規模 |
| QCAD/CAM(CNCアドオン) | €132.00 | 製造業 |
| QCAD/CAM Site License | €1,173.60 | CNC加工業者 |
| 書籍/電子書籍 | 1冊あたり€40~42 | ドキュメント、継続収入 |
この戦略は、エンタープライズ向けサイトライセンスの収益化を軸としたオープンコア型のフリーミアムモデルです:
- Community Editionは本当に無料で、十分な機能を備えています(GPLv3)。巨大な顧客獲得の入り口として、建築家、メーカー、学生が使い方を学び、他者に勧め、やがて勤務先がサイトライセンスを購入します。
- 個人向け€50は、気軽に買える「衝動買い」価格です。発注書の承認もベンダーとの交渉も不要で、そのまま購入できます。
- **サイトライセンスとサーバーライセンス(€440~€1,771)**が、実際の収益源です。20ライセンスを使う建築事務所から€440を得る方が、€50を払う個人200人から得るより有利です。また、SaaSやオンプレミスでの導入に向けたサーバーライセンスは、さらに規模を拡大できます。
- €132のQCAD/CAMで、CNCや製造業という、別の高付加価値市場を取り込めます。
- €40の書籍は、ほぼそのまま利益になります。マニュアルはすでに執筆済みで、印刷費もわずかです。
RibbonSoftは、サルネンに拠点を置くスイスのGmbH(有限会社)で、退職者が運営しているわけではありません。オフィスのエネルギーは100%スイスの水力発電由来です(フッターに載せるほど誇りにしています)。1999年からこの事業を続けており、持続可能なブートストラップ経営を26年以上続けています。
誰が支払うのでしょうか? バンガロールのGaneshは、住宅プロジェクトでCommunity Editionを使っています。インドの建築基準に準拠した図面には、DXFで問題なく対応できます。クライアントからDWGまたはPDFでの書き出しを求められたら、€50でProを購入します。1件の仕事で元が取れます。事業が拡大してライセンス数が5を超えれば、サイトライセンスに移行します。一方、ヨーロッパの建築事務所はコンプライアンス上の理由から€440を支払い、ためらうこともありません。ベイエリアのAutodesk税(年額2,500ドル以上)は、他人が支払ってくれる場合にだけ割に合います。
€50なら、どこでも購入のハードルをクリアできます。発注書の承認も、ベンダーとの交渉も、サブスクリプションの期限もありません。一度購入すれば、ずっと使えます。
品質スタック
- Python:Ruff によるリンターとフォーマット、Pyright による型チェック(エラー 0 件)—
src/とrun_server.py - フロントエンド:Biome +
tsc --noEmit+ bun のロックファイル — TypeScript のページ 22 件 - プロトコル:FastMCP 3.4(stdio + HTTP
/mcp)+ REST ルート 40 件 - ツール:MCP ツール 12 件(ポートマントー 8 件 + Prefab カード 4 件)、READ_ONLY/MUTATING アノテーション付き
- 自動化:フリート運用全般に対応する Justfile のレシピ
- テスト:pytest(78 件以上)+ Playwright の E2E 仕様
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。