IsaacSim-MCP
Enables AI assistants to control NVIDIA Isaac Sim by building scenes, loading assets, operating robots and humans, reading sensors, managing simulation, and creating Action Graphs.
README
IsaacSim-MCP
用 Model Context Protocol(MCP)控制 NVIDIA Isaac Sim。AI 助理可以建立工廠場景、載入 NVIDIA 資產、操作機器人與人物、讀取感測器、控制模擬,以及建立 Action Graph。
此版本以 Windows 與 Isaac Sim 6.0.1 為主要驗證環境,包含 45 個 MCP tools、NVIDIA Replicator Agent 人物支援、NVIDIA 資產目錄,以及工廠配置與互動範例。
本專案延伸自 whats2000/isaacsim-mcp-server,沿用 MIT License。原始作者與後續貢獻者資訊保留於
LICENSE及原始檔案標頭。
功能
- 建立、查詢與清除 USD 場景
- 建立基本物件、燈光、PBR 材質與 physics material
- 載入 USD、匯入 URDF、搜尋及生成 3D 資產
- 建立機器人並讀寫 articulation joint
- 產生 NVIDIA IRA 動畫人物,支援 wander、patrol、stop、manual
- 建立 Camera 與 RTX LiDAR,輸出 RGB 影像及點雲
- 播放、暫停、停止及逐 frame 執行模擬
- 建立 Action Graph、ScriptNode、連線與 attribute
- 執行或重新載入 Isaac Sim Python script
- 建立 10 個工作區、3 台 AGV、機器手臂、輸送帶與人物的工廠範例
系統需求
| 項目 | 需求 |
|---|---|
| 作業系統 | Windows 10/11 64-bit |
| Isaac Sim | 6.0.1,預設安裝位置為 C:\isaacsim |
| Python | 3.10 以上 |
| MCP 套件 | mcp[cli]>=1.28.1,<2 |
| 網路連接埠 | TCP 8766 |
Isaac Sim 與 MCP Server 是兩個獨立程序:
AI 助理 / MCP Client
│ stdio
▼
Python MCP Server
│ TCP 127.0.0.1:8766
▼
Isaac Sim MCP Extension
│
▼
Isaac Sim 6.0.1 / USD / PhysX
安裝
1. 下載專案
git clone https://github.com/Tim0320/IsaacSim-MCP.git
cd IsaacSim-MCP
2. 建立 Python 環境
使用 Python 內建工具:
py -3.10 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install -e .
或使用 uv:
uv sync
3. 指定 Isaac Sim 位置
若 Isaac Sim 位於 C:\isaacsim,可直接略過這一步。其他位置請在目前 PowerShell session 設定:
$env:ISAACSIM_ROOT = "D:\你的\IsaacSim\路徑"
啟動
1. 啟動 Isaac Sim 與 Extension
在第一個 PowerShell 視窗執行:
.\scripts\run_isaac_sim.ps1
腳本會驗證 Isaac Sim 6.0.1、載入 isaac.sim.mcp_extension,並在 127.0.0.1:8766 啟動 TCP Server。
2. 設定 MCP Client
把以下設定加入 MCP Client,並將 command 改成這個 repository 的實際絕對路徑:
{
"mcpServers": {
"isaac-sim": {
"command": "D:\\Dev\\IsaacSim-MCP\\.venv\\Scripts\\python.exe",
"args": ["-m", "isaac_mcp.server"],
"env": {
"ISAAC_MCP_HOST": "127.0.0.1",
"ISAAC_MCP_PORT": "8766"
}
}
}
}
也可以在第二個 PowerShell 視窗直接啟動 MCP Server:
.\scripts\run_mcp_server.ps1
3. 確認連線
請 MCP Client 呼叫:
get_scene_info
成功時會回傳目前 Stage、asset root 與 prim 數量。
MCP Tools
目前共 45 個 tools:
| 類別 | Tools |
|---|---|
| 場景 | 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_material, apply_material |
| 機器人 | create_robot, list_available_robots, refresh_robot_library, get_robot_info, set_joint_positions, get_joint_positions |
| 人物 | spawn_human |
| 感測器 | create_camera, capture_image, create_lidar, get_lidar_point_cloud |
| 資產 | list_nvidia_assets, spawn_nvidia_asset, import_urdf, load_usd, search_usd, generate_3d |
| 模擬與診斷 | play_simulation, pause_simulation, stop_simulation, step_simulation, set_physics_params, get_isaac_logs, get_simulation_state, get_physics_state, get_joint_config, execute_script, reload_script |
| Action Graph | create_action_graph, edit_action_graph |
基本使用範例
建立場景與機器人
依序請 MCP Client 執行:
1. 呼叫 create_physics_scene 建立重力與地面。
2. 呼叫 list_available_robots 查詢正確 robot key。
3. 呼叫 create_robot 建立 Franka。
4. 呼叫 get_robot_info 檢查 articulation 與 DOF。
5. 呼叫 set_joint_positions 設定關節。
6. 呼叫 step_simulation 並觀察 robot prim。
建立 Action Graph
需要反覆修改控制邏輯時,使用本機 script file:
create_action_graph(
graph_path="/World/RobotController",
script_file="D:\\Dev\\IsaacSim-MCP\\scripts\\controller.py"
)
修改 script 後呼叫:
reload_script(file_path="D:\\Dev\\IsaacSim-MCP\\scripts\\controller.py")
script_file + reload_script 已在 Isaac Sim 6.0.1 實測通過,適合持續開發。inline ScriptNode 適合短而固定的程式碼。
產生 NVIDIA 人物
人物需要可用 NavMesh。以下會建立 NavMesh volume 並產生一位巡遊人物:
spawn_human(
count=1,
behavior="wander",
auto_create_navmesh_volume=true,
navmesh_volume_center=[0, 0, 1],
navmesh_volume_size=[32, 32, 4]
)
需要自訂人物互動時,將 behavior 設為 manual,再搭配 reload_script 控制 IRA Behavior Agent。
建立工廠場景
工廠相關腳本位於 scripts/:
| Script | 用途 |
|---|---|
create_factory_scene.py |
建立 32 × 32 公尺、10 個工作區與 3 台 AGV 的基本工廠 |
prepare_factory_assets.py |
準備工廠資產 |
configure_factory_assets_mcp.py |
透過 MCP 配置機器手臂、AGV、輸送帶等資產 |
factory_interaction.py |
工廠互動控制 |
nvidia_human_interaction.py |
NVIDIA 人物互動範例 |
verify_factory_scene.py |
驗證工廠數量、配置與 metadata |
生成的 USD 與測試輸出會放在 test_outputs/,此資料夾已由 .gitignore 排除。
選用 API 金鑰
一般場景、機器人、人物、感測器與 Action Graph 不需要 API 金鑰。只有以下外部服務需要:
$env:NVIDIA_API_KEY = "你的 NVIDIA API key"
$env:ARK_API_KEY = "你的 Beaver3D API key"
search_usd使用NVIDIA_API_KEYgenerate_3d使用ARK_API_KEY,服務端也可能要求BEAVER3D_MODEL
請勿把金鑰寫進程式碼、README、.env 或 commit。
操作原則與限制
step_simulation只能在暫停或停止狀態使用;播放中會明確拒絕。- Action Graph 使用
executionevaluator,只有 timeline 播放時執行。 - Camera 與 LiDAR 建立後需要播放並暖機數個 frame 才會產生資料。
set_physics_params目前直接支援gravity;time_step與gpu_enabled需使用execute_script。edit_action_graph可修改一般 attribute 與新增連線;修改 inlineScriptNode.inputs:script在 6.0.1 仍有限制。- 載入含 non-manifold collision 的資產可能使 PhysX native plugin 崩潰。先在乾淨 Stage 驗證資產與碰撞設定。
execute_script權限很高,只執行可信任程式碼,並避免在 Action Graph 同時控制相同 articulation 時修改它。
測試
安裝開發依賴:
uv sync --dev
執行不需要 Isaac Sim runtime 的測試:
uv run pytest -q --ignore=tests/test_launcher_engine.py --ignore=tests/test_integration.py -k "not test_detect_version_returns_zero_on_failure"
uv run ruff check .
uv run ruff format --check .
完整 MCP live test 需要先啟動 Isaac Sim:
.\.venv\Scripts\python.exe .\scripts\test_all_tools.py
測試結果與限制請見:
專案結構
IsaacSim-MCP/
├─ isaac_mcp/ Python MCP Server 與 45 個 tool 定義
├─ isaac.sim.mcp_extension/ Isaac Sim Extension、handlers 與 V5/V6 adapters
├─ scripts/ Windows/Linux 啟動、工廠與驗證腳本
├─ demo/ 機器人控制範例
├─ test_assets/ 小型測試資產與 Action Graph probe
├─ tests/ 自動測試
├─ docs/ 測試報告與 NVIDIA 資產目錄
├─ media/ README 與展示媒體
├─ pyproject.toml Python 套件設定
└─ LICENSE MIT License
上傳 GitHub
確認測試通過後執行:
git init -b main
git add .
git status
git commit -m "Initial Isaac Sim MCP release"
git remote add origin https://github.com/Tim0320/IsaacSim-MCP.git
git push -u origin main
git status 不應出現 .venv/、test_outputs/、logs/、.env 或 API 金鑰檔案。
授權
本專案使用 MIT License。發布修改版時請保留原授權、copyright notice 與來源歸屬。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。