isaac-sim-mcp
The Isaac Sim MCP extension allows for natural language control of NVIDIA's Isaac Sim, transforming conversational AI inputs into precise simulation manipulations. It enables dynamic robot positioning, custom scene creation, and advanced robot simulations including obstacle navigation, making it a powerful tool for embodied intelligence applications.
GitHub Stars
79
User Rating
Not Rated
Favorites
0
Views
31
Forks
19
Issues
4
Installation
Difficulty
IntermediateEstimated Time
10-20 minutes
Requirements
NVIDIA Isaac Sim 4.2.0 or higherPython 3.9++1 more
Installation
Installation
Prerequisites
NVIDIA Isaac Sim: 4.2.0 or higher
Python: 3.9+
Cursor AI editor: for MCP integration
Installation Steps
1. Clone Repository
bash
cd ~/Documents
git clone https://github.com/omni-mcp/isaac-sim-mcp
2. Install and Enable Extension
Set the extension location to your project folder:Extension location:
~/Documents/isaac-sim-mcpExtension ID:
isaac.sim.mcp_extensionbash
Change to your Isaac Sim installation directory
cd ~/.local/share/ov/pkg/isaac-sim-4.2.0
./isaac-sim.sh --ext-folder /home/ubuntu/Documents/isaac-sim-mcp/ --enable isaac.sim.mcp_extension
3. Install MCP Server
1Run the following in the terminal to ensure the MCP server starts successfully:
bash
uv pip install "mcp[cli]"
uv run /home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py
2Start Cursor and open the folder
~/Documents/isaac-sim-mcp.3Add the MCP server in Cursor preferences:
json
{
"mcpServers": {
"isaac-sim": {
"command": "uv run /home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py"
}
}
}
Configuration
Configuration
Basic Configuration
MCP Server Setup
Edit the Cursor configuration file to add the MCP server:json
{
"mcpServers": {
"isaac-sim": {
"command": "uv run /home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py"
}
}
}
Environment Variables
You need to set the following environment variables:bash
export BEAVER3D_MODEL=
export ARK_API_KEY=
export NVIDIA_API_KEY=""
Examples
Examples
Basic Usage
Using with Python
python
import requests
def call_mcp_tool(tool_name, params):
response = requests.post(
'http://localhost:8766/mcp/call',
json={
'tool': tool_name,
'parameters': params
}
)
return response.json()
Usage example
result = call_mcp_tool('move_robot', {
'direction': 'forward',
'distance': 5
})
print(result)
Using Command Line
bash
curl -X POST http://localhost:8766/mcp/call -H "Content-Type: application/json" -d '{"tool": "set_lighting", "parameters": {"intensity": 0.8}}'
Use Cases
Instruct a robot to perform specific actions using natural language.
Customize scene lighting to simulate different environments.
Dynamically compute robot paths to avoid obstacles.
Preview code before execution to prevent errors in simulation.