mcpField
I
Isaacsim Mcp Server

Isaacsim Mcp Server

ローカル
github.com/whats2000科学・教育69今日更新

Isaacsim Mcp Server について

Isaacsim Mcp Serverは、ロボットシミュレーション開発者向けにNVIDIA Isaac SimをMCPへ接続します。対応クライアントからシーンやロボット、シミュレーションを操作でき、段階実行による状態確認、スクリプトのホットリロード、複数インスタンスに対応します。

主な機能

  1. 01シーン、オブジェクト、照明、マテリアルの操作
  2. 02ロボットとセンサーの作成、状態確認
  3. 03シミュレーションの実行、停止、ステップ実行
  4. 04Pythonスクリプトの実行とホットリロード
  5. 05複数のIsaac Simインスタンスの利用

活用シーン

  1. 01自然言語の指示でロボットシミュレーション環境を構築
  2. 02関節や物理状態を確認しながら動作をデバッグ
  3. 03シミュレーション内でアセット検索や3Dモデル生成

MCP 対応

MCPサーバーはローカルTCP経由で起動中のIsaac Sim拡張に接続し、シーン、ロボット、センサー、アセット、シミュレーション操作のツールをMCPクライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"isaacsim": {
"command": "uvx",
"args": [
"isaacsim-mcp-server"
]
}
}
}
起動コマンドuvx isaacsim-mcp-server

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

パッケージ
pypiisaacsim-mcp-server0.6.1

ツール

42

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

Isaac Sim MCP サーバー

PyPI version Isaac Sim 5.1.0 - 6.0.1 Python 3.10+ License: MIT MCP Quality isaacsim-mcp-server MCP server

Model Context Protocol(MCP)を通じて、NVIDIA Isaac Sim を自然言語で操作できます。

MCP 対応の IDE(Cursor、VS Code、Claude Code、Windsurf、Antigravity、JetBrains)を実行中の Isaac Sim インスタンスに接続し、自然な英語のプロンプトで操作できます。ロボットの作成、シーンの構築、シミュレーションの実行、物理のデバッグをすべてエディターから行えます。

Robot Simulate Demo


主な特長

  • 9 カテゴリ(シーン、オブジェクト、照明、ロボット、センサー、マテリアル、アセット、シミュレーション、グラフ)にわたる 43 個のツール
  • Isaac Sim アセットライブラリから自動検出される 107 以上のロボット(Franka、UR、Unitree、Boston Dynamics など)
  • ステップ実行と観察によるデバッグ -- 1 回の呼び出しでシミュレーションをステップ実行し、prim の位置、関節の状態、物理を調べられます
  • ホットリロード -- Isaac Sim を再起動せずに Python コントローラーを反復開発できます
  • 複数インスタンス -- 異なるポートで複数の Isaac Sim セッションを並行して実行できます
  • Isaac Sim 5.1.0 - 6.0.1(PhysX + Newton)向けに構築されており、バージョン分離のためのモジュール式アダプターレイヤーを備えています

インストール

オプション A:pip でインストール(推奨)
pip install isaacsim-mcp-server

これにより、MCP サーバーと isaacsim-mcp-server CLI がインストールされます。リポジトリから Isaac Sim 拡張機能もインストールする必要があります(下記のIsaac Sim の起動を参照してください)。

オプション B:ソースからインストール
git clone https://github.com/whats2000/isaacsim-mcp-server
cd isaacsim-mcp-server
./scripts/setup_python_env.sh
要件
要件バージョン
NVIDIA Isaac Sim5.1.0 - 6.0.1(PhysX または Newton)
Python3.10+
uv最新(ソースからインストールする場合)
プラットフォームLinux(Ubuntu 22.04 以降)または Windows 10/11

重要

Linux と Windows に対応しています。Windows では、下記の .sh スクリプトの代わりに PowerShell ランチャー scripts/run_isaac_sim.ps1 を使用してください。 macOS は NVIDIA Isaac Sim が動作しないため、対応していません。

メモ

ほかの Isaac Sim バージョンへの対応に向けたコントリビューションを歓迎します。 アダプターレイヤーは、バージョンを容易に分離できるように設計されています。


クイックスタート

1. 環境をセットアップする

ソースからインストールした場合:

./scripts/setup_python_env.sh

Windows では、uv sync によって仮想環境(.venv)が作成され、パッケージとその依存関係がインストールされます。

uv sync
2. 拡張機能を使用して Isaac Sim を起動する
./scripts/run_isaac_sim.sh

ログに次のように表示されます。

Registered 43 command handlers
Isaac Sim MCP server started on localhost:8766

スクリプトは $HOME/isaacsim に Isaac Sim があるかどうかを確認します。別の場所にインストールした場合は、ISAACSIM_ROOT を設定してください。

物理エンジンの選択。 Isaac Sim 6.0 以降には、PhysX(デフォルト)と Newton のバックエンドが付属しています。--newton / --physx または ISAACSIM_ENGINE で選択できます。

./scripts/run_isaac_sim.sh                  # PhysX (default)
./scripts/run_isaac_sim.sh --newton         # Newton
ISAACSIM_ENGINE=newton ./scripts/run_isaac_sim.sh

--newton / --physx は scripts/launch_isaac_sim_mcp.sh でも使用できます。コマンドラインのその他の引数は、変更せずに Kit に渡されます。サーバーはアクティブなエンジンを自動検出するため、MCP 側で設定を変更する必要はありません。Newton を使用するには 6.0 以降が必要です。5.1.0 で指定すると、わかりやすいエラーメッセージが表示されます。

Windows の場合は、代わりに PowerShell ランチャーを使用してください。同じエンジン選択オプションを指定でき、追加の引数は Kit に渡されます。

.\scripts\run_isaac_sim.ps1                          # PhysX (default)
.\scripts\run_isaac_sim.ps1 -Engine newton           # Newton
$env:ISAACSIM_ENGINE = 'newton'; .\scripts\run_isaac_sim.ps1

スクリプトは、-IsaacSimRoot、$env:ISAACSIM_ROOT、ローカルのソースビルド、C:\isaacsim、%USERPROFILE%\isaacsim の順にインストール先を解決します。また、Windows には /tmp がないため、書き込み可能な USD 作業ディレクトリ(.cache\usd)も作成します。

オプション:3D 生成用 Beaver3D / NVIDIA API キー
export BEAVER3D_MODEL="<your beaver3d model name>"
export ARK_API_KEY="<your beaver3d api key>"
export NVIDIA_API_KEY="<your nvidia api key>"

Windows(PowerShell)の場合:

$env:BEAVER3D_MODEL = "<your beaver3d model name>"
$env:ARK_API_KEY = "<your beaver3d api key>"
$env:NVIDIA_API_KEY = "<your nvidia api key>"
3. IDE を接続する

エディターに MCP サーバーを追加します。パスは実際のリポジトリの場所に置き換えてください。command の例は Linux/macOS 用です。各ガイドには、PowerShell ランチャー scripts\run_mcp_server.ps1 を呼び出す Windows 用の例も記載しています。

Claude Code(CLI)
claude mcp add isaac-sim /path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh

または、~/.claude.json / .mcp.json を編集します。

{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

Windows の場合は、PowerShell ランチャーを呼び出します。

claude mcp add isaac-sim -- powershell -NoProfile -ExecutionPolicy Bypass -File C:\path\to\isaacsim-mcp-server\scripts\run_mcp_server.ps1
{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
VS Code

ワークスペースに .vscode/mcp.json を作成します。

{
  "servers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

Windows の場合は、PowerShell ランチャーを呼び出します。

{
  "servers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
Cursor

Cursor Settings > MCP を開くか、~/.cursor/mcp.json を編集します。

{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

Windows の場合は、PowerShell ランチャーを呼び出します。

{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
Claude Desktop

お使いのプラットフォームに対応する設定ファイルを編集します。

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

Windows の場合は、PowerShell ランチャーを呼び出します。

{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
Windsurf

Windsurf Settings > MCP を開くか、~/.codeium/windsurf/mcp_config.json を編集します。

{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

Windows の場合は、PowerShell ランチャーを呼び出します。

{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
Antigravity

エージェントのサイドパネルを開き、… > MCP Servers > Manage MCP Servers > View raw config をクリックするか、~/.gemini/config/mcp_config.json(グローバル)または .agents/mcp_config.json(ワークスペース)を編集します。

{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

Windows の場合は、PowerShell ランチャーを呼び出します。

{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
JetBrains IDE

Settings > Tools > AI Assistant > MCP Servers に移動し、コマンド /path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh を指定してサーバーを追加します。詳しくは JetBrains MCP のドキュメント を参照してください。

Windows の場合は、コマンドに powershell を、引数に -NoProfile -ExecutionPolicy Bypass -File C:\path\to\isaacsim-mcp-server\scripts\run_mcp_server.ps1 を設定します。

4. プロンプトを開始する
Check the connection with get_scene_info.
If the scene is empty, create a physics scene.
Add a Franka robot at the origin and a Go1 quadruped at [2, 0, 0].

アーキテクチャ

MCP Client (IDE)
      |
      v
isaacsim-mcp-server          (PyPI package / CLI)
      |
      v  TCP socket (localhost:8766)
      |
isaac.sim.mcp_extension      (Omniverse extension)
      |
      v
Handlers -> Adapter -> Isaac Sim 5.1 / 6.0 APIs

ツール

9 カテゴリにわたる 43 個のツール:

カテゴリ数できること
シーン7シーンの確認、物理シーンの作成、環境の一覧表示/読み込み、プリムの参照
オブジェクト4プリミティブの作成、削除、変換、複製
ライティング2ライトの作成と調整
ロボット6107 以上のロボットのスポーン、ジョイントの確認、位置の設定、ライブラリの更新
センサー4カメラ/LiDAR の作成、画像の撮影、ポイントクラウドの取得
マテリアル2マテリアルの作成と適用
アセット4URDF のインポート、USD の読み込み/検索、3D モデルの生成
グラフ2Action Graph の構築と編集(OnPlaybackTick、ScriptNode、スクリプトファイルの添付)
シミュレーション11再生/一時停止/停止/ステップ実行、Python の実行、物理の確認、ホットリロード
ツール一覧

シーン: get_scene_info create_physics_scene clear_scene list_prims get_prim_info list_environments load_environment

オブジェクト: create_object delete_object transform_object clone_object

ライティング: create_light modify_light

ロボット: create_robot list_available_robots refresh_robot_library get_robot_info set_joint_positions get_joint_positions

センサー: create_camera capture_image create_lidar get_lidar_point_cloud

マテリアル: create_material apply_material

アセット: import_urdf load_usd search_usd generate_3d

グラフ: create_action_graph edit_action_graph

シミュレーション: play_simulation pause_simulation stop_simulation step_simulation set_physics_params get_isaac_logs get_simulation_state get_physics_state get_joint_config set_drive_params execute_script reload_script


既知の制限事項

通常のセッションで発生する可能性のある未解決の不具合です。可能な場合は各機能の使用時に警告が表示されます。この一覧は、開始前に実行環境を選ぶためのものです。

対象発生する問題Issue
6.0 Newtonジョイントドライブが収束せず、指令した目標値を超過してジョイントが動き続け、ジョイントのリミットも適用されません。シーンのセットアップ、ステップ実行、確認には問題ありません。動作を伴う作業は PhysX(isaac-sim.sh)で実行してください。#21
6.0セッションで最初に作成した RTX カメラは削除できません。create_camera は、そのカメラを返す際に一度だけ警告します。#20
5.1get_lidar_point_cloud は読み取りのおよそ 3 分の 1 でしかデータを取得できないため、呼び出し元で再試行が必要です。タイムラインの実行中に作成した LiDAR はまったくデータを取得できないため、停止中に作成してください。#31
5.1RTX LiDAR のプリムは削除できず、プリムは Camera として残ります。create_lidar はこのようなパスを拒否し、空いているパスを指定します。#25

プロンプトの例

シーンの初期設定

Check the connection with get_scene_info. If the scene is empty, create a physics scene.
Add stronger lighting and place a camera that looks at the workspace.

ロボットの配置

Create three Franka robots in a row at [0,0,0], [2,0,0], and [4,0,0].
Then add a Go1 robot at [1, 3, 0].

環境の読み込み

List available environments, choose a warehouse-like one, and load it.
Create a camera and capture an image.

アセットの検索と 3D 生成

Search for a rusty desk, load the best result near [0, 5, 0], scaled to [2, 2, 2].

高度な使い方

複数のインスタンス

複数の Isaac Sim セッションを並行して実行します。それぞれ異なるポートを使用します(8766 から自動割り当て)。

# First instance (default port 8766)
claude mcp add isaac-sim /path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh

# Second instance (port 8767)
claude mcp add isaac-sim-2 -e ISAAC_MCP_PORT=8767 -- /path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh
複数インスタンス用の JSON 設定
{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    },
    "isaac-sim-2": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh",
      "env": { "ISAAC_MCP_PORT": "8767" }
    }
  }
}
デスクトップランチャー(Linux)

専用の Isaac Sim MCP アプリケーションアイコンをインストールします:

./scripts/install_desktop_entry.sh

これにより、ポートを自動で割り当て、拡張機能のソケットを待機し、終了時にクリーンアップするランチャーが作成されます。

推奨ワークフロー
  1. get_scene_info から開始して、接続を確認します
  2. ステージが空の場合は、物理シーンを作成します
  3. execute_script よりも、目的に特化したツールを優先します
  4. 読み込む前に list_available_robots / list_environments を使用します
  5. create_action_graph を使用して、OnPlaybackTick → ScriptNode コントローラーを接続します
  6. デバッグには、observe_prims および observe_joints とともに step_simulation を使用します
  7. 再起動せずにコントローラーを反復調整するには、reload_script を使用します

デモ:Franka のピック&プレース

モーションプランニングに RMPflow を使用する、すぐに実行できるデモは demo/franka_pick_place.py にあります:

Please use the Isaac MCP tool complete this:

Create a physics scene with a ground plane, then spawn a Franka FR3 robot at the origin.

Add two textured tables with a gap along Y. Place a small textured cube with physics enabled on top of the first table.

Use `create_action_graph` to wire `OnPlaybackTick` → `ScriptNode`, and write a pick-and-place controller script using RMPflow for motion planning. Save the script to the `demo/` directory.

Use `get_prim_info` to query actual positions and sizes of the tables and cube before writing the controller — do not hardcode coordinates.

Start the simulation with Play. The robot should pick the cube from table 1 and place it on table 2. Verify the process using `step_simulation` with `observe_prims` on the cube to confirm it reaches table 2.

create_action_graph と script_file を使用して、Action Graph と ScriptNode を一度にセットアップし、さらに可観測性ツールである get_joint_config、observe_prims とともに使用する step_simulation、get_physics_state、およびスクリプトのホットリロード用の edit_action_graph を利用します。


開発

# Run the MCP inspector
./.venv/bin/python -m mcp dev ./isaac_mcp/server.py

インスペクターは http://localhost:5173 で利用できます。

セットアップに関する注意事項
スクリプト目的デフォルト
setup_python_env.shvenv を作成し、パッケージをインストールしますPython 3.10
run_isaac_sim.sh拡張機能を指定して Isaac Sim を起動します(Linux)$HOME/isaacsim
run_isaac_sim.ps1拡張機能を指定して Isaac Sim を起動します(Windows)C:\isaacsim
run_mcp_server.shMCP サーバーを起動します(Linux)ポート 8766
run_mcp_server.ps1MCP サーバーを起動します(Windows)ポート 8766
launch_isaac_sim_mcp.sh統合ランチャーポートを自動割り当てします
dev_mcp_server.shホットリロード対応の開発サーバーポート 8766

デフォルトを上書きするには:

PYTHON_SPEC=3.11 ./scripts/setup_python_env.sh
ISAACSIM_ROOT=/opt/isaacsim ./scripts/run_isaac_sim.sh
ISAACSIM_ENGINE=newton ./scripts/run_isaac_sim.sh

エンジンの選択は scripts/lib/isaac_launcher.sh にあります。各エンジンは、Isaac Sim に付属する対応ランチャースクリプトに割り当てられています。このマップにエントリーを追加するだけで、新しいバックエンドで ISAACSIM_ENGINE=<name> と --<name> の両方を、すべてのランチャースクリプトで使用できるようになります。

トラブルシューティング

Isaac Sim に Can't find extension with name: isaac.sim.mcp_extension と表示される場合:

# Make sure you're in the repo root
pwd
test -f ./isaac.sim.mcp_extension/config/extension.toml && echo OK

注:--ext-folder は、isaac.sim.mcp_extension/ そのものではなく、リポジトリのルートを指定する必要があります。


コントリビューション

プルリクエストを歓迎します。ツール、ドキュメント、アダプター、テストの改善はいずれも役立ちます。

ライセンス

MIT License。Copyright (c) 2023-2025 omni-mcp、Copyright (c) 2026 whats2000。詳細は LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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