Isaac Sim MCP扩展和MCP服务器
MCP服务器及其扩展利用模型上下文协议(MCP)框架实现对NVIDIA Isaac Sim的自然语言控制,将对话式AI输入转化为精确的模拟操作。这种扩展将MCP生态系统与嵌入式智能应用连接起来。
特性
- Isaac Sim的自然语言控制
- 动态机器人定位和运动
- 自定义照明和场景创建
- 具有障碍物导航功能的高级机器人模拟
- 执行前的交互式代码预览
需求
- NVIDIA Isaac Sim 4.2.0或更高版本
- Python 3.9+
- 用于MCP集成的游标AI编辑器
强制性的 先决条件
- 安装uv/uvx:
- 将mcp\[cli\]安装到基本环境: [uv pip安装“mcp\[cli\]”](https://pypi.org/project/mcp/)
安装
cd ~/Documents
git clone https://github.com/omni-mcp/isaac-sim-mcp安装并启用扩展
Isaac Sim扩展文件夹应指向您的项目文件夹:
- 扩展位置:
~/Documents/isaac-sim-mcp - 扩展ID:
isaac.sim.mcp_extension
# Enable extension in Isaac Simulation
# cd to your Isaac Sim installation directory
# You can change assets root to local with --/persistent/isaac/asset_root/default=""
# By default it is an AWS bucket, e.g. --/persistent/isaac/asset_root/default="/share/Assets/Isaac/4.2"
# Setup API KEY for Beaver3d and NVIDIA
export BEAVER3D_MODEL=
export export ARK_API_KEY=
export NVIDIA_API_KEY=""
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分机应监听 本地主机:8766 默认情况下。
安装MCP服务器
- 转到终端并运行,确保mcp服务器可以在具有基本venv的终端上成功启动。
uv pip install "mcp[cli]"
uv run /home/ubuntu/Documents/isaac-sim-mcp/isaac_mcp/server.py- 启动Cursor并打开文件夹
~/Documents/isaac-sim-mcp - 转到光标首选项,选择MCP并添加全局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以进行更好的编码。
机器人派对
# Create robots and improve lighting
create 3x3 frankas robots in these current stage across location [3, 0, 0] and [6, 3, 0]
always check connection with get_scene_info before execute code.
add more light in the stage
# Add specific robots at positions
create a g1 robot at [3, 9, 0]
add Go1 robot at location [2, 1, 0]
move go1 robot to [1, 1, 0]工厂设置
# Create multiple robots in a row
acreate 3x3 frankas robots in these current stage across location [3, 0, 0] and [6, 3, 0]
always check connection with get_scene_info before execute code.
add more light in the stage
Vibe从头开始编码
reference to g1.py to create an new g1 robot simulation and allow robot g1 walk straight from [0, 0, 0] to [3, 0, 0] and [3, 3, 0]
create more obstacles in the stage
Gen3D支持海狸3d模型
Use following images to generate beaver 3d objects and place them into a grid area across [0, 0, 0] to [40, 40, 0] with scale [3, 3, 3]
美元搜索
search a rusty desk and place it at [0, 5, 0] with scale [3, 3, 3]MCP工具
Isaac Sim MCP扩展提供了几个可以通过Cursor AI中的自然语言访问的专用工具。这些工具使您能够使用简单的命令控制和操纵NVIDIA Isaac Sim:
连接和场景管理
- get_scene_info -Ping Isaac Sim扩展服务器以验证连接状态并检索基本场景信息。始终先使用此选项以确保连接处于活动状态。
物理与环境创造
- 创建物理场景 -创建具有可配置参数的物理场景:
- objects:要创建的对象列表(每个对象都有类型和位置) - floor:是否创建地平面(默认值:true) - gravity:定义重力方向和大小的矢量(默认值:\[0,-0.981,0\]) - scene_name:场景的名称(默认值:“physics_scene”)
机器人创建与控制
- create_robot -在场景中的指定位置创建机器人:
- robot_type:要创建的机器人类型(选项:“franka”、“jetbot”、“carter”、“g1”、“go1”) - position:\[x,y,z\]位置坐标
Omniverse工具包和脚本
- omni_kit命令 -执行Omni Kit命令:
- command:要执行的Omni Kit命令(例如“CreatePrim”) - prim_type:命令的基本类型(例如“Sphere”)
- execute_script -在Isaac Sim中执行任意Python代码:
- code:要执行的Python代码
使用最佳实践
- 始终检查连接
get_scene_info在执行任何命令之前 - 使用以下命令初始化物理场景
create_physics_scene添加机器人之前 - 使用
create_robot在尝试自定义脚本之前进行标准机器人放置 - 对于复杂的模拟,请使用
execute_script使用适当的异步模式 - 执行前在聊天中预览代码以进行验证
贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
视频演示
以下是Isaac Sim MCP扩展的实际演示:
机器人派对演示
*GIF:使用自然语言命令将更多机器人添加到模拟中*
视频格式(MP4)
对于更高质量的视频,您可以直接访问MP4版本:
在GitHub上查看时,您可以单击上面的链接查看或下载MP4文件。
