MCP 服务器及其扩展利用模型上下文协议(MCP)框架来实现对 NVIDIA Isaac Sim 的自然语言控制,将对话式AI输入转化为精确的模拟操作。这一扩展连接了MCP生态系统与具身智能应用。
cd ~/Documents
git clone https://github.com/omni-mcp/isaac-sim-mcp
Isaac Sim 扩展文件夹应指向您的项目文件夹:
~/Documents/isaac-sim-mcpisaac.sim.mcp_extension# 在 Isaac Simulation 中启用扩展
# 切换到您的 Isaac Sim 安装目录
# 您可以使用 --/persistent/isaac/asset_root/default="<您的资产位置>" 将资产根目录更改为本地
# 默认情况下,它是一个 AWS 存储桶,例如 --/persistent/isaac/asset_root/default="/share/Assets/Isaac/4.2"
# 设置 Beaver3d 和 NVIDIA 的 API 密钥
export BEAVER3D_MODEL=<您的 beaver3d 模型名称>
export ARK_API_KEY=<您的 Bearver3D API 密钥>
export NVIDIA_API_KEY="<您的 nvidia api 密钥 并从 https://ngc.nvidia.com/signout 获取它>"
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
验证扩展是否成功启动。输出应如下所示:
[7.160s] [ext: isaac.sim.mcp_extension-0.1.0] startup
trigger on_startup for: isaac.sim.mcp_extension-0.1.0
settings: {'envPath': '/home/ubuntu/.local/share/ov/data/Kit/Isaac-Sim/4.2/pip3-envs/default', 'archiveDirs': {}, 'installCheckIgnoreVersion': False, 'allowOnlineIndex': True, 'tryUpgradePipOnFirstUse': False}
Server thread startedIsaac Sim MCP server started on localhost:8766
默认情况下,扩展应在 localhost:8766 监听。
uv pip install "mcp[cli]"
uv run /home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py
~/Documents/isaac-sim-mcp{
"mcpServers": {
"isaac-sim": {
"command": "uv run /home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py"
}
}
}
要开发 MCP 服务器,请启动 MCP 检查器:
uv run mcp dev ~/Documents/isaac-sim-mcp/isaac_mcp/server.py
您可以通过 http://localhost:5173 访问调试页面
注意:在顶部左侧的聊天对话框中切换到代理模式,然后键入提示,并选择 3.7 版本以获得更好的编码体验。
# 创建机器人并改善照明
在当前位置创建 3x3 franka 机器人跨越位置 [3, 0, 0] 和 [6, 3, 0]
执行代码前始终检查连接状态,使用 get_scene_info。
增加舞台上的灯光
# 在特定位置添加机器人
在 [3, 9, 0] 创建一个 g1 机器人
在位置 [2, 1, 0] 添加 Go1 机器人
将 go1 机器人移动到 [1, 1, 0]
# 在一行中创建多个机器人
在当前位置创建 3x3 franka 机器人跨越位置 [3, 0, 0] 和 [6, 3, 0]
执行代码前始终检查连接状态,使用 get_scene_info。
增加舞台上的灯光
参考 g1.py 创建一个新的 g1 机器人模拟,并允许机器人 g1 从 [0, 0, 0] 直线走到 [3, 0, 0] 和 [3, 3, 0]
在舞台上创建更多障碍物
使用以下图像生成 beaver 3d 对象,并将它们放置在一个跨越 [0, 0, 0] 到 [40, 40, 0] 的网格区域,比例为 [3, 3, 3]
<在这里插入您的图片 URL,可以是多个图片 URL>
搜索一个生锈的桌子,并将其放置在 [0, 5, 0],比例为 [3, 3, 3]
Isaac Sim MCP 扩展提供了一些可以通过 Cursor AI 的自然语言访问的专用工具。这些工具使您能够通过简单的命令控制和操作 NVIDIA Isaac Sim:
objects: 要创建的对象列表(每个对象都有类型和位置)floor: 是否创建地面平面(默认:true)gravity: 定义重力方向和大小的向量(默认:[0, -0.981, 0])scene_name: 场景名称(默认:"physics_scene")robot_type: 要创建的机器人类型(选项:"franka", "jetbot", "carter", "g1", "go1")position: [x, y, z] 位置坐标omni_kit_command - 执行 Omniverse Kit 命令:
command: 要执行的 Omniverse Kit 命令(例如:"CreatePrim")prim_type: 命令的原始类型(例如:"Sphere")execute_script - 在 Isaac Sim 中执行任意 Python 代码:
code: 要执行的 Python 代码get_scene_info 检查连接状态create_physics_scene 初始化物理场景create_robot 进行标准机器人放置,然后再尝试自定义脚本execute_script 并采用适当的异步模式欢迎贡献!请随时提交拉取请求。
该项目根据 MIT 许可证发布 - 详情见 LICENSE 文件。
以下是 Isaac Sim MCP 扩展的实际演示:

GIF:使用自然语言命令将更多机器人添加到模拟中
对于高质量视频,您可以直接访问 MP4 版本:
在 GitHub 上查看时,您可以点击上述链接来查看或下载 MP4 文件。