mcpField
F
Fusion 360 MCP Server

Fusion 360 MCP Server

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

Fusion 360 MCP Server について

Cline と Autodesk Fusion 360 を接続する MCP サーバーで、ツールバー レベルの Fusion コマンドを呼び出し可能なツールとして公開します。自然言語で 3D モデリング手順を指定したいユーザーに向いています。Fusion 360 のスクリプトエディターで実行できる Python スクリプトを返します。

主な機能

  1. 01スケッチ作成と長方形・円の描画
  2. 02押し出しと回転による 3D ボディの作成
  3. 03フィレット、面取り、シェル、ブーリアン結合
  4. 04ボディのファイル書き出し
  5. 05Fusion 360 向け Python スクリプトの生成

活用シーン

  1. 01プロンプトから角丸の単純なソリッドを生成する
  2. 02複数のモデリングツールを連結して1つのスクリプトを生成する
  3. 03Cline から Fusion 360 のモデリングを支援する

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

MseeP.ai セキュリティ評価バッジ

Fusion 360 MCP サーバー

Cline と Autodesk Fusion 360 の間をつなぐ Model Context Protocol(MCP)サーバーです。このサーバーは、Fusion の API に直接対応する、Fusion 360 のツールバーと同等のコマンドを呼び出し可能なツールとして公開します。

🧠 概要

このプロジェクトにより、Cline は以下の操作を行えます。

  • 自然言語のプロンプトを解析する(例:「角を丸くした箱を作成する」)
  • Fusion のツール操作に変換する(例:CreateSketch → DrawRectangle → Extrude → Fillet)
  • この MCP サーバーを通じてそれらのツールを呼び出す
  • Fusion 360 で実行できる Python スクリプトを返す

🛠️ インストール

前提条件
  • Python 3.9 以降
  • Autodesk Fusion 360
セットアップ
  1. このリポジトリをクローンします。

    git clone https://github.com/yourusername/fusion360-mcp-server.git
    cd fusion360-mcp-server
    
  2. 依存関係をインストールします。

    pip install -r requirements.txt
    

🚀 使用方法

HTTP サーバーとして実行する
cd src
python main.py

これにより、FastAPI サーバーが http://127.0.0.1:8000 で起動します。

MCP サーバーとして実行する
cd src
python main.py --mcp

これにより、サーバーが MCP モードで起動し、標準入力から読み取り、標準出力に書き込みます。

API エンドポイント
  • GET /:サーバーが実行中かどうかを確認します
  • GET /tools:利用可能なすべてのツールを一覧表示します
  • POST /call_tool:単一のツールを呼び出し、スクリプトを生成します
  • POST /call_tools:複数のツールを順番に呼び出し、スクリプトを生成します
API 呼び出しの例
ツール一覧の取得
curl -X GET http://127.0.0.1:8000/tools
単一のツールの呼び出し
curl -X POST http://127.0.0.1:8000/call_tool \
  -H "Content-Type: application/json" \
  -d '{
    "tool_name": "CreateSketch",
    "parameters": {
      "plane": "xy"
    }
  }'
複数のツールの呼び出し
curl -X POST http://127.0.0.1:8000/call_tools \
  -H "Content-Type: application/json" \
  -d '{
    "tool_calls": [
      {
        "tool_name": "CreateSketch",
        "parameters": {
          "plane": "xy"
        }
      },
      {
        "tool_name": "DrawRectangle",
        "parameters": {
          "width": 10,
          "depth": 10
        }
      },
      {
        "tool_name": "Extrude",
        "parameters": {
          "height": 5
        }
      }
    ]
  }'

📦 利用可能なツール

現在、サーバーは以下の Fusion 360 ツールをサポートしています。

作成
  • CreateSketch:指定した平面上に新しいスケッチを作成します
  • DrawRectangle:アクティブなスケッチに長方形を描画します
  • DrawCircle:アクティブなスケッチに円を描画します
  • Extrude:プロファイルを押し出して 3D ボディを作成します
  • Revolve:プロファイルを軸の周りに回転させます
修正
  • Fillet:選択したエッジにフィレットを追加します
  • Chamfer:選択したエッジに面取りを追加します
  • Shell:指定した壁厚でソリッドボディを中空にします
  • Combine:ブーリアン演算を使用して 2 つのボディを結合します
エクスポート
  • ExportBody:ボディをファイルにエクスポートします

🔌 MCP 連携

このサーバーを Cline で使用するには、MCP 設定ファイルに追加します。

{
  "mcpServers": {
    "fusion360": {
      "command": "python",
      "args": ["/path/to/fusion360-mcp-server/src/main.py", "--mcp"],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

🧩 ツールレジストリ

ツールは src/tool_registry.json で定義されています。各ツールには以下が含まれます。

  • name:ツールの名前
  • description:ツールの機能
  • parameters:ツールが受け付けるパラメーター
  • docs:関連する Fusion API ドキュメントへのリンク

ツール定義の例:

{
  "name": "Extrude",
  "description": "Extrudes a profile into a 3D body.",
  "parameters": {
    "profile_index": {
      "type": "integer",
      "description": "Index of the profile to extrude.",
      "default": 0
    },
    "height": {
      "type": "number",
      "description": "Height of the extrusion in mm."
    },
    "operation": {
      "type": "string",
      "description": "The operation type (e.g., 'new', 'join', 'cut', 'intersect').",
      "default": "new"
    }
  },
  "docs": "https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-6D381FCD-22AB-4F08-B4BB-5D3A130189AC"
}

📝 スクリプト生成

サーバーはツール呼び出しに基づいて Fusion 360 の Python スクリプトを生成します。これらのスクリプトは Fusion 360 のスクリプトエディターで実行できます。

生成されるスクリプトの例:

import adsk.core, adsk.fusion, traceback

def run(context):
    ui = None
    try:
        app = adsk.core.Application.get()
        ui = app.userInterface
        design = app.activeProduct
        
        # Get the active component in the design
        component = design.rootComponent
        
        # Create a new sketch on the xy plane
        sketches = component.sketches
        xyPlane = component.xYConstructionPlane
        sketch = sketches.add(xyPlane)
        
        # Draw a rectangle
        rectangle = sketch.sketchCurves.sketchLines.addTwoPointRectangle(
            adsk.core.Point3D.create(0, 0, 0),
            adsk.core.Point3D.create(10, 10, 0)
        )
        
        # Extrude the profile
        prof = sketch.profiles.item(0)
        extrudes = component.features.extrudeFeatures
        extInput = extrudes.createInput(prof, adsk.fusion.FeatureOperations.NewBodyFeatureOperation)
        distance = adsk.core.ValueInput.createByReal(5)
        extInput.setDistanceExtent(False, distance)
        extrude = extrudes.add(extInput)
        
        ui.messageBox('Operation completed successfully')
    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))

🧪 サーバーの拡張

ツールの追加
  1. src/tool_registry.json に新しいツール定義を追加します
  2. src/script_generator.py の SCRIPT_TEMPLATES にスクリプトテンプレートを追加します
  3. src/script_generator.py の _process_parameters にパラメーター処理ロジックを追加します

📚 ドキュメントへのリンク

🔄 今後の拡張

  • コンテキストを考慮した操作のためのセッション状態の追跡
  • 動的なツール登録
  • ソケットまたはファイルのポーリングによる自動化
  • さらなる Fusion コマンド

📄 ライセンス

このプロジェクトは MIT ライセンスのもとでライセンスされています。詳細については LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

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

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