CAD-MCP Server (CAD Model Control Protocol Server) について
CAD-MCP Server は、自然言語によるワークフローを通じて、AI クライアントに CAD の作図・編集操作を提供します。AutoCAD、GstarCAD、ZWCAD に対応し、作図ツールに加えて、構造化出力と結果の確認・修正に使うクエリ機能を備えています。
主な機能
- 01CAD図形の作図と注釈追加
- 02レイヤー、エンティティ、属性の照会
- 03エンティティの編集、変換、配列
- 04図面とブロックの管理
- 05構造化ツール出力と進捗通知
活用シーン
- 01指示に基づくCAD図面の作成や変更
- 02エンティティ属性の確認と図面プレビュー
- 03ツールを使ったレイヤー、ファイル、ブロックの管理
- 04照会と編集を組み合わせた作図結果の修正
MCP 対応
この MCP サーバーは、作図、照会、編集、レイヤー・図面管理、ブロック、CAD コマンドの実行を含む35個のツールを公開します。stdio と Streamable HTTP に対応し、構造化出力と進捗通知を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
CAD-MCP サーバー(CAD Model Context Protocol サーバー)
プロジェクト紹介
CAD-MCP は、自然言語の指示を通じて CAD ソフトウェアを操作し、作図を行える革新的な CAD 制御サービスです。このプロジェクトは、自然言語処理と CAD 自動化技術を組み合わせており、ユーザーは CAD インターフェースを手動で操作することなく、簡単なテキストコマンドで CAD 図面を作成、編集できます。
バージョン 2.0 では、最新の MCP 仕様(FastMCP、構造化出力、ツールアノテーション、進捗通知、Streamable HTTP)に基づいて全面的にアップグレードされ、合計 35 個のツールが追加されました。これらのツールは、照会、編集、レイヤー、図面管理、ブロック、コマンドのパススルーを網羅し、「作図 → 確認 → 修正」という完全なフィードバックループを構成します。
機能
CAD 制御機能
- 複数の CAD ソフトウェアに対応:AutoCAD、GstarCAD(GCAD)、ZWCAD など、主要な CAD ソフトウェアに対応しています
- 基本的な作図機能:
- 線の作図
- 円の作図
- 円弧の作図
- 楕円の作図
- 長方形の作図
- ポリラインの作図
- テキストの追加
- ハッチング
- 寸法記入
- 照会機能(AI が実際の図面内容を確認できます):
- すべてのレイヤーを一覧表示
- モデル空間内のエンティティを一覧表示(編集可能なエンティティハンドルを返します)
- ハンドルを指定してエンティティの詳細なプロパティ(座標/半径/テキスト内容など)を照会
- プレビュー用に CAD ウィンドウのスクリーンショットを取得
- 編集機能:削除、移動、回転、拡大縮小、コピー、鏡像、オフセット、配列(矩形/円形)、元に戻す/やり直す
- レイヤー管理:レイヤーの作成と切り替え、レイヤーの状態の照会
- 図面管理:図面の新規作成/開く/閉じる/保存(DWG/DXF)
- ブロック操作:ブロックの作成、挿入、一覧表示
- コマンドのパススルー:
send_commandを使用して任意の CAD コマンドを実行できます(その他の操作を行うための代替手段です)
MCP プロトコル機能
- 構造化出力:すべてのツールは、クライアントが直接解析できる
outputSchemaを備えたstructuredContentを返します - ツールアノテーション:照会ツールには
readOnlyHint、破壊的な操作にはdestructiveHintが設定され、クライアントの確認ポリシーに利用できます - 進捗通知:時間のかかる操作(CAD の起動、保存)では、クライアントにメッセージ通知を送信します
- 2 種類のトランスポートモード:
stdio(ローカル、単一クライアント)とstreamable-http(リモート/複数クライアントで 1 つの CAD インスタンスを共有) - エラーの意味付け:入力検証エラーはツールエラーとして返されるため、モデルによる自己修正が可能です
自然言語処理機能(旧インターフェース)
- コマンド解析:自然言語の指示を CAD 操作のパラメーターに解析
- 色の認識:テキストから色の情報を抽出し、作図オブジェクトに適用
- 図形キーワードのマッピング:さまざまな図形の説明語を認識
- 操作キーワードのマッピング:さまざまな作図・編集操作を認識
デモ
以下はデモ動画です。

インストール要件
依存関係
pywin32>=306 # Windows COM interface support
mcp>=1.12,<2 # MCP Python SDK (FastMCP, structured output, Streamable HTTP)
pydantic>=2.0.0 # Data validation
Pillow>=10.0.0 # PNG encoding for screenshot previews
システム要件
- Windows オペレーティングシステム
- CAD ソフトウェア(AutoCAD、GstarCAD、ZWCAD のいずれか)がインストールされていること
- Python 3.10 以降
設定
設定ファイルは src/config.json にあり、以下の主な設定が含まれています。
{
"server": {
"name": "CAD MCP 服务器",
"version": "2.0.0",
"transport": "stdio",
"host": "127.0.0.1",
"port": 8000
},
"cad": {
"type": "AUTOCAD",
"progid": "",
"startup_wait_time": 20,
"command_delay": 0.5
},
"output": {
"directory": "./output",
"default_filename": "cad_drawing.dwg"
}
}
- server:サーバー名、バージョン、トランスポート設定
transport:トランスポートモード。stdio(デフォルト、ローカルの単一クライアント)またはstreamable-http(リモート/複数クライアント)host/port:Streamable HTTP モードのリッスンアドレスとポート(--host/--portコマンドライン引数でも上書きできます)
- cad:
type:CAD ソフトウェアの種類(AutoCAD、GCAD、GstarCAD、または ZWCAD)progid:使用する COM ProgID(例:AutoCAD.Application.25.1)。空欄にすると自動検出されます(バージョン付き ProgID はレジストリで検索されます)startup_wait_time:CAD の起動待機時間(秒)command_delay:コマンドの実行遅延時間(秒)
- output:出力ファイルの設定
使い方
サービスの起動
# Option 1: Run directly (fully compatible with existing Claude/Cursor configs)
python src/server.py
# Option 2: Install as a CLI tool
pip install -e .
cad-mcp
# Option 3: Run with Streamable HTTP transport (remote / multi-client sharing one CAD instance)
python src/server.py --transport streamable-http --port 8000
# Clients connect to http://127.0.0.1:8000/mcp
MCP クライアントから接続する
サーバーはデフォルトで stdio トランスポートを使用するため、同じ JSON 設定を任意の MCP クライアント(Claude Desktop、Cursor、Windsurf、TRAE など)で使用できます。クライアントの MCP サーバー設定ファイル(例:claude_desktop_config.json、Cursor の mcp.json)に追加し、パスを自身の環境に合わせて置き換えてください。
{
"mcpServers": {
"CAD": {
"command": "python",
"args": [
# Your actual path, such as:"C:\\cad-mcp\\src\\server.py"
]
}
}
}
Streamable HTTP モードの場合は、クライアントの接続先を http://127.0.0.1:8000/mcp に設定してください。
MCP Inspector
# Note: use your path
npx -y @modelcontextprotocol/inspector python C:\\cad-mcp\\src\\server.py
サービス API
サーバーは以下のツールを提供します(合計 35 個)。
基本的な作図:
draw_line:線を描画draw_circle:円を描画draw_arc:円弧を描画draw_ellipse:楕円を描画draw_polyline:ポリラインを描画draw_rectangle:長方形を描画draw_text:テキストを追加draw_hatch:ハッチングパターンを描画add_dimension:線形寸法を追加
照会:
list_layers:すべての画層を一覧表示list_entities:モデル空間内の図形を一覧表示(編集可能なハンドルを返します)get_entity_properties:ハンドルを指定して図形の詳細なプロパティを照会screenshot:CAD ウィンドウをキャプチャして作図結果を確認
編集:
erase_entity/move_entity/rotate_entity/scale_entity:図形を削除/移動/回転/尺度変更copy_entity/mirror_entity/offset_entity:図形を複写/鏡像/オフセットarray_linear_entity/array_polar_entity:矩形配列/円形配列undo/redo:元に戻す/やり直す
画層と図面の管理:
create_layer/set_current_layer:画層を管理new_drawing/open_drawing/close_drawing/save_drawing:図面を管理create_block/insert_block/list_blocks:ブロック操作send_command:コマンドラインから任意の CAD コマンドを実行
レガシー:
process_command:自然言語のコマンドを処理
プロジェクト構成
CAD-MCP/
├── imgs/ # Images and video resources
│ └── CAD-mcp.mp4 # Demo video
├── pyproject.toml # Packaging config (pip install -e .)
├── requirements.txt # Project dependencies
└── src/ # Source code
├── __init__.py # Package initialization
├── cad_controller.py # CAD controller (COM layer: drawing/query/editing/drawings/blocks)
├── config.py # Config singleton loader
├── config.json # Configuration file
├── models.py # Structured output models (outputSchema)
├── nlp_processor.py # Natural language processor
└── server.py # Server implementation (FastMCP)
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。