Isaacsim Mcp Server について
Isaacsim Mcp Serverは、ロボットシミュレーション開発者向けにNVIDIA Isaac SimをMCPへ接続します。対応クライアントからシーンやロボット、シミュレーションを操作でき、段階実行による状態確認、スクリプトのホットリロード、複数インスタンスに対応します。
主な機能
- 01シーン、オブジェクト、照明、マテリアルの操作
- 02ロボットとセンサーの作成、状態確認
- 03シミュレーションの実行、停止、ステップ実行
- 04Pythonスクリプトの実行とホットリロード
- 05複数のIsaac Simインスタンスの利用
活用シーン
- 01自然言語の指示でロボットシミュレーション環境を構築
- 02関節や物理状態を確認しながら動作をデバッグ
- 03シミュレーション内でアセット検索や3Dモデル生成
MCP 対応
MCPサーバーはローカルTCP経由で起動中のIsaac Sim拡張に接続し、シーン、ロボット、センサー、アセット、シミュレーション操作のツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
42掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
Isaac Sim MCP サーバー
Model Context Protocol(MCP)を通じて、NVIDIA Isaac Sim を自然言語で操作できます。
MCP 対応の IDE(Cursor、VS Code、Claude Code、Windsurf、Antigravity、JetBrains)を実行中の Isaac Sim インスタンスに接続し、自然な英語のプロンプトで操作できます。ロボットの作成、シーンの構築、シミュレーションの実行、物理のデバッグをすべてエディターから行えます。

主な特長
- 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 Sim | 5.1.0 - 6.0.1(PhysX または Newton) |
| Python | 3.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 | ライトの作成と調整 |
| ロボット | 6 | 107 以上のロボットのスポーン、ジョイントの確認、位置の設定、ライブラリの更新 |
| センサー | 4 | カメラ/LiDAR の作成、画像の撮影、ポイントクラウドの取得 |
| マテリアル | 2 | マテリアルの作成と適用 |
| アセット | 4 | URDF のインポート、USD の読み込み/検索、3D モデルの生成 |
| グラフ | 2 | Action 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.1 | get_lidar_point_cloud は読み取りのおよそ 3 分の 1 でしかデータを取得できないため、呼び出し元で再試行が必要です。タイムラインの実行中に作成した LiDAR はまったくデータを取得できないため、停止中に作成してください。 | #31 |
| 5.1 | RTX 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
これにより、ポートを自動で割り当て、拡張機能のソケットを待機し、終了時にクリーンアップするランチャーが作成されます。
推奨ワークフロー
get_scene_infoから開始して、接続を確認します- ステージが空の場合は、物理シーンを作成します
execute_scriptよりも、目的に特化したツールを優先します- 読み込む前に
list_available_robots/list_environmentsを使用します create_action_graphを使用して、OnPlaybackTick → ScriptNode コントローラーを接続します- デバッグには、
observe_primsおよびobserve_jointsとともにstep_simulationを使用します - 再起動せずにコントローラーを反復調整するには、
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.sh | venv を作成し、パッケージをインストールします | Python 3.10 |
run_isaac_sim.sh | 拡張機能を指定して Isaac Sim を起動します(Linux) | $HOME/isaacsim |
run_isaac_sim.ps1 | 拡張機能を指定して Isaac Sim を起動します(Windows) | C:\isaacsim |
run_mcp_server.sh | MCP サーバーを起動します(Linux) | ポート 8766 |
run_mcp_server.ps1 | MCP サーバーを起動します(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 を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。