mcpField
I
Isaac Sim MCP Extension and MCP Server

Isaac Sim MCP Extension and MCP Server

ローカル
github.com/omni-mcp開発ツール1972 週間前に更新

Isaac Sim MCP Extension and MCP Server について

Isaac Sim MCP Extension and MCP Server は、MCP を通じて NVIDIA Isaac Sim のシーンを自然言語で操作できるようにします。Cursor を使ってロボットのシナリオを構築するロボティクスやシミュレーションの開発者向けです。

主な機能

  1. 01自然言語による Isaac Sim シーンの操作
  2. 02ロボットの動的な配置と移動
  3. 03ライティングとシーンの作成
  4. 04実行前のコードプレビュー
  5. 05シーン情報の取得と任意スクリプトの実行ツール

活用シーン

  1. 01シミュレーション内の指定位置に複数のロボットを配置する
  2. 02障害物を含むロボットのナビゲーションシナリオを作成する
  3. 03チャットでシミュレーションコードを生成・修正する

MCP 対応

本プロジェクトには MCP サーバーが含まれ、create_robot、create_physics_scene、execute_script などのツールを Cursor などの MCP クライアントに公開し、実行中の Isaac Sim 拡張機能へコマンドを中継します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Isaac Sim MCP 拡張機能と MCP サーバー

MCP サーバーとその拡張機能は、Model Context Protocol(MCP)フレームワークを活用して NVIDIA Isaac Sim を自然言語で操作できるようにし、会話型 AI への入力を正確なシミュレーション操作に変換します。この機能拡張により、MCP エコシステムと身体性知能アプリケーションが結び付けられます。

機能

  • Isaac Sim の自然言語操作
  • ロボットの動的な位置設定と移動
  • カスタム照明とシーンの作成
  • 障害物回避を含む高度なロボットシミュレーション
  • 実行前の対話型コードプレビュー

要件

  • NVIDIA Isaac Sim 4.2.0 以降
  • Python 3.9+
  • MCP 統合用の Cursor AI エディター

必須の前提条件

インストール

cd ~/Documents
git clone https://github.com/omni-mcp/isaac-sim-mcp
拡張機能のインストールと有効化

Isaac Sim の拡張機能フォルダーをプロジェクトフォルダーに設定してください:

  • 拡張機能の場所:~/Documents/isaac-sim-mcp
  • 拡張機能 ID:isaac.sim.mcp_extension
# Enable extension in Isaac Simulation
# cd to your Isaac Sim installation directory
# You can change assets root to local with --/persistent/isaac/asset_root/default="<your asset location>"
# By default it is an AWS bucket, e.g. --/persistent/isaac/asset_root/default="/share/Assets/Isaac/4.2"
# Setup API KEY for Beaver3d and NVIDIA
export BEAVER3D_MODEL=<your beaver3d model name>
export export ARK_API_KEY=<Your Bearver3D API Key>
export NVIDIA_API_KEY="<your nvidia api key  and apply it from https://ngc.nvidia.com/signout>"

cd ~/.local/share/ov/pkg/isaac-sim-4.2.0
./isaac-sim.sh --ext-folder /home/ubuntu/Documents/isaac-sim-mcp/ --enable isaac.sim.mcp_extension 

拡張機能が正常に起動することを確認します。出力は次のようになります:

[7.160s] [ext: isaac.sim.mcp_extension-0.1.0] startup
trigger  on_startup for:  isaac.sim.mcp_extension-0.1.0
settings:  {'envPath': '/home/ubuntu/.local/share/ov/data/Kit/Isaac-Sim/4.2/pip3-envs/default', 'archiveDirs': {}, 'installCheckIgnoreVersion': False, 'allowOnlineIndex': True, 'tryUpgradePipOnFirstUse': False}
Server thread startedIsaac Sim MCP server started on localhost:8766

デフォルトでは、拡張機能は localhost:8766 でリッスンします。

MCP サーバーのインストール
  1. ターミナルを開いて実行し、ベース venv を使用してターミナルで MCP サーバーが正常に起動することを確認します。
    uv pip install "mcp[cli]"
    uv run /home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py
    
  2. Cursor を起動し、フォルダー ~/Documents/isaac-sim-mcp を開きます
  3. Cursor の設定を開き、MCP を選択してグローバル MCP サーバーを追加します:
{
    "mcpServers": {
        "isaac-sim": {
            "command": "uv run /home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py"
        }
    }
}
開発モード

MCP サーバーを開発するには、MCP インスペクターを起動します:

uv run mcp dev ~/Documents/isaac-sim-mcp/isaac_mcp/server.py

http://localhost:5173 からデバッグページにアクセスできます

シミュレーション用のプロンプト例

注意:プロンプトを入力する前に、チャットダイアログの左上でエージェントモードに切り替え、より良いコーディングのために sonnet 3.7 を選択してください。

ロボットパーティー
# Create robots and improve lighting
create  3x3 frankas robots in these current stage across location [3, 0, 0] and [6, 3, 0]
always check connection with get_scene_info before execute code.
add more light in the stage


# Add specific robots at positions
create a g1 robot at [3, 9, 0]
add Go1 robot at location [2, 1, 0]
move go1 robot to [1, 1, 0]
工場のセットアップ
# Create multiple robots in a row
acreate  3x3 frankas robots in these current stage across location [3, 0, 0] and [6, 3, 0]
always check connection with get_scene_info before execute code.
add more light in the stage


ゼロからのバイブコーディング
reference to g1.py to create an new g1 robot simulation and allow robot g1 walk straight  from [0, 0, 0] to [3, 0, 0] and [3, 3, 0]
create more obstacles in the stage

beaver3d モデルに対応した Gen3D
Use following images to generate beaver 3d objects and place them into a grid area across [0, 0, 0] to [40, 40, 0] with scale [3, 3, 3]

<your image url here, could be multiple images urls>
USD 検索
search a rusty desk and place it at [0, 5, 0] with scale [3, 3, 3]

MCP ツール

Isaac Sim MCP 拡張機能には、Cursor AI で自然言語を使ってアクセスできる専用ツールがいくつか用意されています。これらのツールを使用すると、簡単なコマンドで NVIDIA Isaac Sim を操作できます:

接続とシーンの管理
  • get_scene_info - Isaac Sim 拡張機能サーバーに ping を送信して、接続状態を確認し、基本的なシーン情報を取得します。接続が有効であることを確認するため、必ず最初に使用してください。
物理と環境の作成
  • create_physics_scene - 設定可能なパラメーターを指定して物理シーンを作成します:
    • objects:作成するオブジェクトのリスト(それぞれのタイプと位置を指定)
    • floor:地面を作成するかどうか(デフォルト:true)
    • gravity:重力の方向と大きさを定義するベクトル(デフォルト:[0, -0.981, 0])
    • scene_name:シーン名(デフォルト:"physics_scene")
ロボットの作成と制御
  • create_robot - 指定した位置にロボットを作成します:
    • robot_type:作成するロボットのタイプ(選択肢:"franka", "jetbot", "carter", "g1", "go1")
    • position:[x, y, z] 形式の位置座標
Omniverse Kit とスクリプト
  • omni_kit_command - Omni Kit コマンドを実行します:

    • command:実行する Omni Kit コマンド(例:"CreatePrim")
    • prim_type:コマンドのプリミティブタイプ(例:"Sphere")
  • execute_script - Isaac Sim で任意の Python コードを実行します:

    • code:実行する Python コード
使用上のベストプラクティス
  1. コマンドを実行する前に、必ず get_scene_info で接続を確認します
  2. ロボットを追加する前に、create_physics_scene で物理シーンを初期化します
  3. カスタムスクリプトを試す前に、標準的なロボットの配置には create_robot を使用します
  4. 複雑なシミュレーションでは、適切な非同期パターンを使用して execute_script を実行します
  5. 確認のため、実行前にチャットでコードをプレビューします

コントリビューション

コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

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

動画デモ

以下は、Isaac Sim MCP Extension の動作デモです。

ロボットパーティーのデモ

ロボットパーティーのデモ

GIF:自然言語のコマンドを使ってシミュレーションにロボットを追加する様子

動画形式(MP4)

より高画質の動画は、MP4 版に直接アクセスしてご覧いただけます。

GitHub でご覧の場合は、上のリンクをクリックして MP4 ファイルを再生またはダウンロードできます。

コメント

MCP は初めてですか?

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

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