hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Manages environment variables for API keys and configuration settings, including remote processing options
Build system used to compile the CUDA Multi-View Stereo dependency for 3D reconstruction
Used for cloning and managing external dependencies like the cuda-multi-view-stereo repository for 3D reconstruction
OpenSCAD MCP サーバー
マルチビュー再構築と OpenSCAD を使用してパラメトリック 3D モデルを作成することに重点を置いて、ユーザーがテキスト記述または画像から 3D モデルを生成できるようにするモデル コンテキスト プロトコル (MCP) サーバーです。
特徴
- AI画像生成: Google GeminiまたはVenice.ai APIを使用してテキストの説明から画像を生成します
- マルチビュー画像生成:再構築のために同じ3Dオブジェクトの複数のビューを作成します
- 画像承認ワークフロー: 再構築前に生成された画像を確認し、承認/拒否する
- 3D再構成: CUDAマルチビューステレオを使用して、承認されたマルチビュー画像を3Dモデルに変換します。
- リモート処理: LAN 内のリモート サーバーで計算負荷の高いタスクを処理します。
- OpenSCAD 統合: OpenSCAD を使用してパラメトリック 3D モデルを生成する
- パラメトリックエクスポート: パラメトリックプロパティを保持する形式でモデルをエクスポートします (CSG、AMF、3MF、SCAD)
- 3Dプリンターの検出: オプションのネットワークプリンターの検出と直接印刷
建築
サーバーは Python MCP SDK を使用して構築され、モジュール アーキテクチャに従います。
インストール
- リポジトリをクローンします。Copy
- 仮想環境を作成します。Copy
- 依存関係をインストールします:Copy
- OpenSCAD をインストールします。
- Ubuntu/Debian:
sudo apt-get install openscad
- macOS:
brew install openscad
- Windows: openscad.orgからダウンロード
- Ubuntu/Debian:
- CUDA Multi-View Stereo をインストールします。Copy
- API キーを設定します。
- ルートディレクトリに
.env
ファイルを作成する - API キーを追加します:Copy
- ルートディレクトリに
リモート処理のセットアップ
サーバーは、特にCUDAマルチビューステレオ再構成など、計算負荷の高いタスクのリモート処理をサポートします。これにより、LAN内のより高性能なマシンに処理をオフロードできます。
サーバーのセットアップ(CUDA GPU 搭載マシン上)
- サーバーマシンに CUDA Multi-View Stereo をインストールします。Copy
- リモート CUDA MVS サーバーを起動します。Copy
- サーバーは、Zeroconf を使用してローカル ネットワーク上で自動的に自分自身をアドバタイズします。
クライアント構成
.env
ファイルでリモート処理を構成します。Copy- あるいは、サーバーの URL を直接指定することもできます。Copy
リモート処理機能
- 自動サーバー検出: ローカルネットワーク上の CUDA MVS サーバーを検索します
- ジョブ管理: 画像のアップロード、ジョブのステータスの追跡、結果のダウンロード
- フォールトトレランス: 自動再試行、サーキットブレーカーパターン、エラー追跡
- 認証: すべてのリモート操作に対する安全なAPIキー認証
- ヘルスモニタリング: 継続的なサーバーのヘルスチェックとステータスレポート
使用法
- サーバーを起動します。Copy
- サーバーはhttp://localhost:8000で起動します。
- MCP ツールを使用してサーバーと対話します。
- generate_image_gemini : Google Gemini API を使用して画像を生成するCopy
- generate_multi_view_images : 同じ 3D オブジェクトの複数のビューを生成するCopy
- create_3d_model_from_images : 承認されたマルチビュー画像から 3D モデルを作成するCopy
- create_3d_model_from_text : テキストから 3D モデルへの完全なパイプラインCopy
- export_model : モデルを特定の形式でエクスポートするCopy
- discover_remote_cuda_mvs_servers : ネットワーク上の CUDA MVS サーバーを検索しますCopy
- get_remote_job_status : リモート処理ジョブのステータスを確認するCopy
- download_remote_model_result : リモートサーバーから完成したモデルをダウンロードするCopy
- discover_printers : ネットワーク上の3Dプリンターを発見するCopy
- print_model : 接続されたプリンターでモデルを印刷するCopy
- generate_image_gemini : Google Gemini API を使用して画像を生成する
画像生成オプション
サーバーは複数の画像生成オプションをサポートしています。
- Google Gemini API (デフォルト):高品質の画像生成にGemini 2.0 Flash Experimentalモデルを使用します
- 一貫したスタイルでマルチビュー生成をサポート
- Google Gemini APIキーが必要です
- Venice.ai API (オプション):代替画像生成サービス
- flux-devやfluently-xlを含むさまざまなモデルをサポート
- Venice.ai APIキーが必要です
- ユーザー提供画像: 画像生成をスキップして独自の画像を使用する
- 画像をサーバーに直接アップロードする
- 既存の写真やレンダリングを扱うのに便利
マルチビューワークフロー
サーバーは、3D 再構築のためのマルチビュー ワークフローを実装します。
- 画像生成: 同じ 3D オブジェクトの複数のビューを生成します
- 画像承認: 生成された各画像を確認し、承認/拒否します
- 3D再構築: CUDA MVSを使用して承認された画像を3Dモデルに変換します。
- ローカルまたはLAN内のリモートサーバーで処理できます
- モデルの改良: オプションでOpenSCADを使用してモデルを改良する
リモート処理ワークフロー
リモート処理ワークフローを使用すると、計算負荷の高いタスクをより強力なマシンにオフロードできます。
- サーバー検出: ネットワーク上の CUDA MVS サーバーを自動的に検出します
- 画像アップロード: 承認されたマルチビュー画像をリモートサーバーにアップロードします
- ジョブ処理: CUDA MVSを使用してリモートサーバー上の画像を処理する
- ステータス追跡: ジョブのステータスと進行状況を監視する
- 結果ダウンロード: 処理が完了したら完成した3Dモデルをダウンロードします
サポートされているエクスポート形式
サーバーはさまざまな形式でのモデルのエクスポートをサポートしています。
- OBJ : Wavefront OBJ形式(標準3Dモデル形式)
- STL : 標準三角形言語(3Dプリント用)
- PLY : ポリゴンファイル形式(点群およびメッシュ用)
- SCAD : OpenSCAD ソースコード (パラメトリック モデル用)
- CSG : OpenSCAD CSG 形式 (すべてのパラメトリック プロパティを保持)
- AMF : 付加製造ファイル形式(一部のメタデータを保持)
- 3MF : 3D 製造フォーマット (メタデータ付きの STL の最新代替)
ウェブインターフェース
サーバーは次の Web インターフェイスを提供します。
- マルチビュー画像の生成と承認
- 3Dモデルをさまざまな角度からプレビューする
- さまざまな形式でのモデルのダウンロード
http://localhost:8000/ui/でインターフェースにアクセスします。
ライセンス
マサチューセッツ工科大学
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
This server cannot be installed
AI 画像生成とリモート処理をサポートし、マルチビュー再構築と OpenSCAD を使用して、テキスト記述または画像からパラメトリック 3D モデルを生成できます。