MCP Directory

How to add Isaac Sim MCP to Windsurf

Natural-language control of NVIDIA Isaac Sim — spawn robots, build scenes, and run simulations via MCP. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 176 · stdio · apikey

Windsurf config for Isaac Sim MCP

git clone https://github.com/omni-mcp/isaac-sim-mcp
{
  "mcpServers": {
    "isaac-sim-mcp": {
      "command": "uv",
      "args": [
        "run",
        "/home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py"
      ]
    }
  }
}

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Isaac Sim MCP config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Isaac Sim MCP's tools become available to Cascade.

Before you start

  • NVIDIA Isaac Sim 4.2.0 or higher
  • Python 3.9+
  • Cursor AI editor for MCP integration
  • uv/uvx installed (https://github.com/astral-sh/uv)
  • mcp[cli] installed in the base env (uv pip install "mcp[cli]")
  • Optional API keys: BEAVER3D_MODEL + ARK_API_KEY for Beaver3D 3D generation, NVIDIA_API_KEY for NVIDIA services

What Isaac Sim MCP can do in Windsurf

get_scene_info

Pings the Isaac Sim Extension Server to verify connection status and retrieve basic scene information. Always use this first to ensure the connection is active.

create_physics_scene

Creates a physics scene with configurable parameters: objects (list of objects with type and position), floor (whether to create a ground plane, default true), gravity (vector for direction and magnitude, default [0, -0.981, 0]), and scene_name (default "physics_scene").

create_robot

Creates a robot in the scene at a specified position. robot_type options: franka, jetbot, carter, g1, go1; position is [x, y, z] coordinates.

omni_kit_command

Executes an Omni Kit command. Parameters: command (e.g. "CreatePrim") and prim_type (e.g. "Sphere").

execute_script

Executes arbitrary Python code in Isaac Sim. Parameter: code (the Python code to execute).

Security

The server exposes an execute_script tool that runs arbitrary Python code inside Isaac Sim, and an omni_kit_command tool that executes arbitrary Omniverse Kit commands — only use with trusted prompts. The Isaac Sim extension listens unauthenticated on localhost:8766. Beaver3D (ARK_API_KEY) and NVIDIA (NVIDIA_API_KEY) API keys are passed as environment variables; keep them out of source control.

Isaac Sim MCP + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Isaac Sim MCP config there under the "mcpServers" key and restart the client.

Is Isaac Sim MCP safe to use with Windsurf?

The server exposes an execute_script tool that runs arbitrary Python code inside Isaac Sim, and an omni_kit_command tool that executes arbitrary Omniverse Kit commands — only use with trusted prompts. The Isaac Sim extension listens unauthenticated on localhost:8766. Beaver3D (ARK_API_KEY) and NVIDIA (NVIDIA_API_KEY) API keys are passed as environment variables; keep them out of source control.

How does the MCP server connect to Isaac Sim?

You enable the isaac.sim.mcp_extension extension inside Isaac Sim, which starts a server listening on localhost:8766. The MCP server (isaac_mcp/server.py) then bridges your MCP client (Cursor) to that extension.

Which MCP client does the README document?

Cursor. You add a global MCP server in Cursor preferences pointing the command to `uv run /home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py`. The README also notes switching to Agent mode and using Sonnet 3.7 for better coding.

Do I need API keys?

Core simulation works without them, but 3D generation requires BEAVER3D_MODEL and ARK_API_KEY (Beaver3D), and some features use NVIDIA_API_KEY (obtained from NVIDIA NGC).

View repo Full Isaac Sim MCP page