Atlas / MCP servers / whats2000 / Isaac Sim

Isaac SimBLOCK

mcp/whats2000/isaac-sim

Isaac Simulation 5.1.0~6.0.1 MCP Extension and Server

Verdict
BLOCK
Grade
D
Trust score
64 /100
Exposed tools
42 21r · 17w · 4d
Transport
stdio
License
MIT
Stars
66
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://pypi.org/project/isaacsim-mcp-server/) [](https://developer.nvidia.com/isaac-sim) [](https://www.python.org/downloads/) [](https://opensource.org/licenses/MIT) [](https://archestra.ai/mcp-catalog/api/badge/quality/whats2000/isaacsim-mcp-server) [](https://glama.ai/mcp/servers/whats2000/isaacsim-mcp-server)

Natural language control for NVIDIA Isaac Sim through the Model Context Protocol (MCP).

Connect any MCP-compatible IDE (Cursor, VS Code, Claude Code, Windsurf, Antigravity, JetBrains) to a running Isaac Sim instance and control it with plain-English prompts -- create robots, build scenes, run simulations, and debug physics all from your editor.

Highlights

  • 42 tools across 9 categories -- scene, objects, lighting, robots, sensors, materials, assets, simulation, graphs
  • 107+ robots auto-discovered from the Isaac Sim asset library (Franka, UR, Unitree, Boston Dynamics, and more)
  • Step-and-observe debugging -- step the simulation and inspect prim positions, joint states, and physics in one call
  • Hot-reload -- iterate on Python controllers without restarting Isaac Sim
  • Multi-instance -- run multiple Isaac Sim sessions side by side on different ports
  • Built for Isaac Sim 5.1.0 - 6.0.1 (PhysX + N
Read from source at commit 1921596197a1OBSERVED · 2026-10-08
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (pypi)
claude mcp add isaacsim-mcp-server -- None isaacsim-mcp-server==0.6.1
03

Exposed tools (42)

21 read · 17 write · 4 destructive. Blast radius: 4 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
apply_materialwriteBind a material to an object.
capture_imagereadCapture an RGB image from a camera sensor.
clear_scenedestructiveRemove all prims from the scene.
clone_objectreadDuplicate an existing object to a new prim path.
create_action_graphwriteCreate and wire an OmniGraph Action Graph.
create_camerawriteAdd a camera sensor to the scene.
create_lidarwriteAdd a lidar sensor to the scene.
create_lightwriteCreate a light in the scene.
create_materialwriteCreate a PBR or physics material.
create_objectwriteCreate a primitive object (Cube, Sphere, Cylinder, Cone, Capsule, Plane).
create_physics_scenewriteCreate a physics scene, adding a ground plane only if the stage lacks one.
create_robotwriteCreate a robot in the scene from the Isaac Sim asset library.
delete_objectdestructiveDelete an object from the scene.
edit_action_graphwriteEdit an existing OmniGraph Action Graph: set attribute values or add connections.
execute_scriptwriteEscape hatch: execute arbitrary Python code in Isaac Sim.
generate_3dreadGenerate a 3D model from text or image using Beaver3D, then load it into the scene.
get_isaac_logsreadDiagnostic tool: recent WARN/ERROR logs plus captured print() output.
get_joint_configreadDiagnostic tool: get joint drive configuration for a robot articulation.
get_joint_positionsreadRead current joint positions from a robot.
get_lidar_point_cloudreadGet point cloud data from a lidar sensor.
get_physics_statereadDiagnostic tool: get physics state for a prim.
get_prim_inforeadGet detailed information about a specific prim.
get_robot_inforeadGet robot joint information including names, DOF count, joint types, and limits.
get_scene_inforeadPing the Isaac Sim extension server and return scene information including stage path, assets root, and prim count.
get_simulation_statereadGet the current simulation state: timeline status (playing/stopped/paused),
import_urdfwriteImport a robot from a URDF file into the scene.
list_available_robotsreadList all available robots discovered from the Isaac Sim asset server.
list_environmentsreadList all available environments discovered from the Isaac Sim asset server.
list_primsreadList the prims directly under root_path, optionally filtered by type.
load_environmentreadLoad a pre-built environment into the scene. Supports fuzzy matching.
load_usdreadLoad a USD asset from a URL or file path into the scene.
modify_lightwriteModify properties of an existing light.
pause_simulationreadPause the physics simulation.
play_simulationwriteStart the physics simulation.
refresh_robot_librarydestructiveForce re-scan the asset server for available robots. Use this if new robot assets were added.
reload_scriptreadReload a Python controller from a file on disk.
search_usdreadSearch the NVIDIA USD asset library by text description, then load the best match.
set_joint_positionswriteSet target joint positions on a robot via ArticulationAction.
set_physics_paramswriteConfigure physics engine parameters.
step_simulationreadAdvance the simulation by exactly N physics frames on a FROZEN timeline.
stop_simulationdestructiveStop the physics simulation and reset to spawn state.
transform_objectwriteSet the transform (position, rotation, scale) of an existing object.
04

Trust audit

BLOCKgrade D · trust 64/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (3 observation(s))
Network
declared (8 observation(s))
Shell
declared (7 observation(s))
Dependencies
pinned
Secrets in source
none-found

Findings (18)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
isaac.sim.mcp_extension/isaac_sim_mcp_extension/adapters/v5.py:1422
exec(code, local_ns)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
isaac.sim.mcp_extension/isaac_sim_mcp_extension/adapters/v5.py:1540
exec(code, local_ns)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
isaac.sim.mcp_extension/isaac_sim_mcp_extension/adapters/v6.py:1987
exec(code, local_ns)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
isaac.sim.mcp_extension/isaac_sim_mcp_extension/adapters/v6.py:2100
exec(code, local_ns)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMInventory / provenance · inv.binary · CWE-1104
demo/franka_pick_place.usd
franka_pick_place.usd
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
isaac.sim.mcp_extension/isaac_sim_mcp_extension/adapters/v5.py:1518
_module = importlib.import_module(module_name)
MEDIUMCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
isaac.sim.mcp_extension/isaac_sim_mcp_extension/adapters/v6.py:2079
_module = importlib.import_module(module_name)
MEDIUMCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
scripts/dev_mcp_server.sh:88
for mod_name, mod in list(__import__(\"sys\").modules.items()):
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
clear_scene, delete_object, refresh_robot_library, stop_simulation
Why it matters. 4 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.pre-commit-config.yaml
.pre-commit-config.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
tests/test_discover_environments.py:75
mod = importlib.import_module(f"isaac_sim_mcp_extension.adapters.{module}")
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
tests/test_discover_robots_parallel.py:135
mod = importlib.import_module(f"isaac_sim_mcp_extension.adapters.{module}")
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
CHANGELOG.md:23
- **Releases publish to the MCP Registry** — a tagged release now stamps the tag version into `server.json` and runs `mcp-publisher` (GitHub Actions OIDC, no stored secret) after the PyPI upload. The
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
INFOInventory / provenance · inv.oversize · CWE-1104
media/add_more_robot_into_party.gif
media/add_more_robot_into_party.gif
Why it matters. 8210403 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
media/add_more_robot_into_party.mp4
media/add_more_robot_into_party.mp4
Why it matters. 3894362 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
media/franka_pick_place.gif
media/franka_pick_place.gif
Why it matters. 2523031 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
media/franka_pick_place.mp4
media/franka_pick_place.mp4
Why it matters. 2781434 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
media/icon.png
media/icon.png
Why it matters. 2158793 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha 1921596197a1full audit observations/trust-audit/mcp-server/whats2000__isaac-sim.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-081921596197a1BLOCKD64first audit
06

Questions

What is the Isaac Sim MCP server?

Isaac Simulation 5.1.0~6.0.1 MCP Extension and Server

What tools does Isaac Sim expose?

42 in total: 21 read-only, 17 that write, and 4 that can delete or overwrite (clear_scene, delete_object, refresh_robot_library, stop_simulation). Every one is listed on this page with its risk.

Is Isaac Sim safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (64/100) and found 4 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 4 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Isaac Sim need?

It reads ARK_API_KEY and NVIDIA_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Isaac Sim run?

It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as isaacsim-mcp-server.

How current is this page?

The grade is for one exact copy of the source (1921596197a1), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement