Stepping the simulation and reading back prim positions, joint states and physics in one call is how you actually debug a robot behaviour, and hot-reloading a Python controller without restarting Isaac Sim keeps the iteration loop tight. The hard constraint is platform: Isaac Sim 5.1.0 on Linux, so this is not something you run on a Mac.
A server that connects an MCP client to a running Isaac Sim instance and exposes 42 tools across scene, objects, lighting, robots, sensors, materials, assets, graphs and simulation.
- Scene — get_scene_info, create_physics_scene, list_environments, load_environment and prim inspection
- Objects — create_object, delete_object, transform_object and clone_object
- Robots — create_robot and list_available_robots across 107+ auto-discovered robots, plus set_joint_positions and get_joint_positions
- Sensors — create_camera, capture_image, create_lidar and get_lidar_point_cloud
- Assets — import_urdf, load_usd, search_usd and generate_3d
- Simulation — play_simulation, pause_simulation, stop_simulation, step_simulation, get_physics_state and get_joint_config
- Step-and-observe: step the simulation and inspect prim positions, joint states and physics in one call; execute_script and reload_script hot-reload Python controllers
NVIDIA Isaac Sim 5.1.0 and Python 3.10+, on Linux only — macOS is not supported because Isaac Sim does not run on it, and Windows is planned. Install with pip install isaacsim-mcp-server, then launch Isaac Sim with the extension, which listens on localhost:8766. The IDE connects to the server's launch script. 3D generation optionally uses BEAVER3D_MODEL, ARK_API_KEY and NVIDIA_API_KEY.
One command — pip install isaacsim-mcp-server
