mcpField
O
Omniverse_usd_mcpserver

Omniverse_usd_mcpserver

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

Omniverse_usd_mcpserver について

Omniverse_usd_mcpserverは、USDとNVIDIA Omniverseを扱うMCPサーバーです。MCP経由でステージ管理、内容の確認、ジオメトリ操作を行うユーザー向けです。

主な機能

  1. 01USDステージの作成・開閉・保存
  2. 02ステージ内容の一覧表示と分析
  3. 03primと基本ジオメトリの作成
  4. 04外部USDファイルの参照
  5. 05ステージを閉じてリソースを解放

活用シーン

  1. 01USDシーンの作成と編集
  2. 02ステージ内のprimの確認
  3. 03外部USDファイルのシーンへの取り込み

MCP 対応

MCPクライアントにUSD操作ツールを公開します。stdio、HTTP、WebSocket、SSE、TCP、ZeroMQに対応しています。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Omniverse USD MCP サーバー

Python MCP License: MIT

Universal Scene Description(USD)および NVIDIA Omniverse を操作するための Model Context Protocol(MCP)サーバーです。このサーバーは、基本的な USD 操作のための標準化された API を提供します。

主な機能

このサーバーでは現在、次の基本的な USD 操作を利用できます。

  • USD ステージの作成、オープン、保存
  • ステージの内容の一覧表示と分析
  • プリムの作成と基本的なジオメトリの定義
  • 外部 USD ファイルへの参照の追加
  • ステージのクリーンアップによる適切なリソース管理

インストール

# Clone the repository
git clone https://github.com/yourusername/omniverse-usd-mcp-server.git
cd omniverse-usd-mcp-server

# Install dependencies
pip install -r requirements.txt

クイックスタート

# Start the server with stdio protocol (for CLI interaction)
python -m usd_mcp_server

# Start the server with HTTP protocol (for web clients)
python -m usd_mcp_server --protocol=http --host=0.0.0.0 --port=5000

サーバーの使用方法

このサーバーは、任意の Model Context Protocol(MCP)クライアントで使用できます。付属の Python クライアントを使う例を次に示します。

import asyncio
import sys
import os

# Add the parent directory to the path
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
from usd_mcp_client import UsdMcpClient

async def run_example():
    # Create client and connect
    client = UsdMcpClient("stdio", ["python", "-m", "usd_mcp_server"])
    await client.connect()
    
    try:
        # Create a new stage
        result = await client.call_tool("create_new_stage", {
            "file_path": "example.usda",
            "template": "basic",
            "up_axis": "Y"
        })
        stage_id = result["data"]["stage_id"]
        
        # Add a cube
        await client.call_tool("define_stage_prim", {
            "stage_id": stage_id,
            "prim_path": "/World/Cube",
            "prim_type": "Cube"
        })
        
        # Save the stage
        await client.call_tool("save_usd_stage", {
            "stage_id": stage_id
        })
        
        # Close and cleanup the stage when done
        await client.call_tool("close_stage", {
            "stage_id": stage_id
        })
        
    finally:
        await client.close()

# Run the example
asyncio.run(run_example())

サーバープロトコル

このサーバーは複数の通信プロトコルをサポートしています。

  • stdio:標準入出力(デフォルト、アプリケーションへの埋め込み用)
  • http:Web クライアント向けの HTTP プロトコル
  • websocket:リアルタイムアプリケーション向けの WebSocket プロトコル
  • sse:一方向のリアルタイム更新向けの Server-Sent Events
  • tcp:生の TCP プロトコル
  • zmq:高性能アプリケーション向けの ZeroMQ プロトコル

利用可能なツール

このサーバーは、USD 操作用に次のツールを提供します。

USD の基本ツール
  • create_new_stage:新しい USD ステージを作成
  • open_usd_stage:既存の USD ステージをオープン
  • save_usd_stage:ステージへの変更を保存
  • close_stage:ステージを閉じてアンロードし、リソースを解放
  • list_stage_prims:ステージ内のすべてのプリムを一覧表示
  • analyze_usd_stage:ステージの内容を分析
  • define_stage_prim:新しいプリムを作成
  • create_stage_reference:別の USD ファイルへの参照を作成
  • create_stage_mesh:ジオメトリデータを含むメッシュを作成

スクリプト例

examples/ ディレクトリには、サーバーの使用方法を示すスクリプト例があります。

  • basic_example.py:基本的なステージの作成と操作を紹介します

本番運用への対応:

エンタープライズ基準を満たすには、仕上げに約 20 時間(テスト、CI、エラー処理)が必要です。

この実装は強固な基盤を備えていますが、ミッションクリティカルなワークフローで使うには、さらに堅牢化が必要です。不足しているテストや保守ツールへの貢献に意欲があれば、USD 自動化の出発点として十分に活用できます。

今後のロードマップ

今後のリリースでは、次の機能を追加する予定です。

  • 物理シミュレーションツール
  • マテリアルの作成と管理
  • アニメーションのキーフレーム設定
  • シーングラフの可視化
  • 高度なジオメトリ操作

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

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

謝辞

  • USD のコアライブラリを提供してくださった Pixar USD チーム
  • Omniverse プラットフォームを提供してくださった NVIDIA Omniverse チーム
  • AI とツールの連携を実現してくださった Model Context Protocol チーム

Jan Haluszka がメンテナンスしています

コメント

MCP は初めてですか?

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

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