mcpField
C
CAD-MCP Server (CAD Model Control Protocol Server)

CAD-MCP Server (CAD Model Control Protocol Server)

ローカル
github.com/daobataotieメディア・デザイン6501 日前に更新

CAD-MCP Server (CAD Model Control Protocol Server) について

CAD-MCP Server は、自然言語によるワークフローを通じて、AI クライアントに CAD の作図・編集操作を提供します。AutoCAD、GstarCAD、ZWCAD に対応し、作図ツールに加えて、構造化出力と結果の確認・修正に使うクエリ機能を備えています。

主な機能

  1. 01CAD図形の作図と注釈追加
  2. 02レイヤー、エンティティ、属性の照会
  3. 03エンティティの編集、変換、配列
  4. 04図面とブロックの管理
  5. 05構造化ツール出力と進捗通知

活用シーン

  1. 01指示に基づくCAD図面の作成や変更
  2. 02エンティティ属性の確認と図面プレビュー
  3. 03ツールを使ったレイヤー、ファイル、ブロックの管理
  4. 04照会と編集を組み合わせた作図結果の修正

MCP 対応

この MCP サーバーは、作図、照会、編集、レイヤー・図面管理、ブロック、CAD コマンドの実行を含む35個のツールを公開します。stdio と Streamable HTTP に対応し、構造化出力と進捗通知を提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"CAD-MCP": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/inspector

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

パッケージ
npm@modelcontextprotocol/inspector

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 ライセンス

コメント

MCP は初めてですか?

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

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