mcpField
I
Isaacsim Mcp Server

Isaacsim Mcp Server

本地服务
github.com/whats2000科研与教育69今天更新

关于 Isaacsim Mcp Server

Isaacsim Mcp Server 将 NVIDIA Isaac Sim 接入 MCP,面向机器人仿真开发者,可从兼容客户端控制场景、机器人和模拟运行。它提供分类工具、逐步运行与状态检查,并支持热重载和多实例。

主要功能

  1. 01控制场景、物体、灯光和材质
  2. 02创建机器人与传感器并检查状态
  3. 03运行、暂停、逐步推进仿真
  4. 04执行及热重载 Python 脚本
  5. 05支持多 Isaac Sim 实例

适用场景

  1. 01用自然语言搭建机器人仿真场景
  2. 02检查关节、物理状态并调试行为
  3. 03在仿真中搜索资产或生成 3D 模型

MCP 相关

该 MCP 服务通过本地 TCP 连接到运行中的 Isaac Sim 扩展,向 MCP 客户端提供场景、机器人、传感器、资产和仿真控制工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"isaacsim": {
"command": "uvx",
"args": [
"isaacsim-mcp-server"
]
}
}
}
启动命令uvx isaacsim-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiisaacsim-mcp-server0.6.1

工具

42

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

Isaac Sim MCP 服务

PyPI version Isaac Sim 5.1.0 - 6.0.1 Python 3.10+ License: MIT MCP Quality isaacsim-mcp-server MCP server

通过 Model Context Protocol(MCP)使用自然语言控制 NVIDIA Isaac Sim。

将任何兼容 MCP 的 IDE(Cursor、VS Code、Claude Code、Windsurf、Antigravity、JetBrains)连接到正在运行的 Isaac Sim 实例,并通过自然语言提示词进行控制——创建机器人、构建场景、运行仿真,以及直接在编辑器中调试物理效果。

机器人仿真演示


主要功能

  • 43 个工具,涵盖 9 个类别——场景、对象、照明、机器人、传感器、材质、资产、仿真、图
  • 从 Isaac Sim 资产库自动发现 107+ 款机器人(Franka、UR、Unitree、Boston Dynamics 等)
  • 逐步执行并观察调试——单次调用即可逐步运行仿真,并检查 prim 位置、关节状态和物理效果
  • 热重载——无需重启 Isaac Sim,即可迭代 Python 控制器
  • 多实例——在不同端口并行运行多个 Isaac Sim 会话
  • 适用于 Isaac Sim 5.1.0 - 6.0.1(PhysX + Newton),并提供用于隔离不同版本的模块化适配器层

安装

选项 A:使用 pip 安装(推荐)
pip install isaacsim-mcp-server

这会安装 MCP 服务和 isaacsim-mcp-server CLI。你仍需从仓库安装 Isaac Sim 扩展(请参阅下方的启动 Isaac Sim)。

选项 B:从源代码安装
git clone https://github.com/whats2000/isaacsim-mcp-server
cd isaacsim-mcp-server
./scripts/setup_python_env.sh
要求
要求版本
NVIDIA Isaac Sim5.1.0 - 6.0.1(PhysX 或 Newton)
Python3.10+
uv最新版本(从源代码安装时使用)
平台Linux(Ubuntu 22.04+)或 Windows 10/11

重要

支持 Linux 和 Windows。在 Windows 上,请使用 PowerShell 启动脚本 scripts/run_isaac_sim.ps1 替代 .sh 脚本(见下文)。 不支持 macOS,因为 NVIDIA Isaac Sim 无法在 macOS 上运行。

说明

欢迎提交贡献,以支持其他 Isaac Sim 版本。 适配器层经过设计,便于隔离不同版本。


快速开始

1. 设置环境

如果你是从源代码安装:

./scripts/setup_python_env.sh

在 Windows 上,uv sync 会创建虚拟环境(.venv),并安装 该软件包及其依赖项:

uv sync
2. 使用扩展启动 Isaac Sim
./scripts/run_isaac_sim.sh

你应该会在日志中看到:

Registered 43 command handlers
Isaac Sim MCP server started on localhost:8766

脚本会在 $HOME/isaacsim 中查找 Isaac Sim;如需使用其他安装位置,请设置 ISAACSIM_ROOT。

选择物理引擎。 Isaac Sim 6.0+ 提供 PhysX(默认)和 Newton 后端。使用 --newton / --physx 或 ISAACSIM_ENGINE 进行选择:

./scripts/run_isaac_sim.sh                  # PhysX (default)
./scripts/run_isaac_sim.sh --newton         # Newton
ISAACSIM_ENGINE=newton ./scripts/run_isaac_sim.sh

script/launch_isaac_sim_mcp.sh 也支持相同的标志。命令行中的其他参数会原样传递给 Kit。服务会自动检测当前使用的引擎,因此无需更改 MCP 端的配置。Newton 需要 6.0 或更高版本;在 5.1.0 上请求使用 Newton 时,会显示明确的错误消息。

在 Windows 上,请改用 PowerShell 启动器。它支持相同的引擎选择,并会将额外参数传递给 Kit:

.\scripts\run_isaac_sim.ps1                          # PhysX (default)
.\scripts\run_isaac_sim.ps1 -Engine newton           # Newton
$env:ISAACSIM_ENGINE = 'newton'; .\scripts\run_isaac_sim.ps1

脚本会依次从 -IsaacSimRoot、$env:ISAACSIM_ROOT、本地源码构建目录、C:\isaacsim 和 %USERPROFILE%\isaacsim 中确定安装位置。它还会创建可写的 USD 工作目录(.cache\usd),因为 Windows 没有 /tmp。

可选:用于 3D 生成的 Beaver3D / NVIDIA API 密钥
export BEAVER3D_MODEL="<your beaver3d model name>"
export ARK_API_KEY="<your beaver3d api key>"
export NVIDIA_API_KEY="<your nvidia api key>"

在 Windows 上(PowerShell):

$env:BEAVER3D_MODEL = "<your beaver3d model name>"
$env:ARK_API_KEY = "<your beaver3d api key>"
$env:NVIDIA_API_KEY = "<your nvidia api key>"
3. 连接 IDE

将 MCP 服务添加到编辑器中。将路径替换为实际的仓库位置。command 示例适用于 Linux/macOS;各指南中也提供 Windows 对应配置,该配置会调用 PowerShell 启动器 scripts\run_mcp_server.ps1。

Claude Code(CLI)
claude mcp add isaac-sim /path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh

或者编辑 ~/.claude.json / .mcp.json:

{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

在 Windows 上,调用 PowerShell 启动器:

claude mcp add isaac-sim -- powershell -NoProfile -ExecutionPolicy Bypass -File C:\path\to\isaacsim-mcp-server\scripts\run_mcp_server.ps1
{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
VS Code

在工作区中创建 .vscode/mcp.json:

{
  "servers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

在 Windows 上,调用 PowerShell 启动器:

{
  "servers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
Cursor

打开 Cursor Settings > MCP,或编辑 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

在 Windows 上,调用 PowerShell 启动器:

{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
Claude Desktop

编辑对应平台的配置文件:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

在 Windows 上,调用 PowerShell 启动器:

{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
Windsurf

打开 Windsurf Settings > MCP,或编辑 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

在 Windows 上,调用 PowerShell 启动器:

{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
Antigravity

打开 Agent 侧边栏,点击 … > MCP Servers > Manage MCP Servers > View raw config,或编辑 ~/.gemini/config/mcp_config.json(全局配置)或 .agents/mcp_config.json(工作区配置):

{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    }
  }
}

在 Windows 上,调用 PowerShell 启动器:

{
  "mcpServers": {
    "isaac-sim": {
      "command": "powershell",
      "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "C:\\path\\to\\isaacsim-mcp-server\\scripts\\run_mcp_server.ps1"]
    }
  }
}
JetBrains IDE

前往 Settings > Tools > AI Assistant > MCP Servers 并添加服务,命令填写 /path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh。详情请参阅 JetBrains MCP 文档。

在 Windows 上,将命令设为 powershell,参数设为 -NoProfile -ExecutionPolicy Bypass -File C:\path\to\isaacsim-mcp-server\scripts\run_mcp_server.ps1。

4. 开始输入提示词
Check the connection with get_scene_info.
If the scene is empty, create a physics scene.
Add a Franka robot at the origin and a Go1 quadruped at [2, 0, 0].

架构

MCP Client (IDE)
      |
      v
isaacsim-mcp-server          (PyPI package / CLI)
      |
      v  TCP socket (localhost:8766)
      |
isaac.sim.mcp_extension      (Omniverse extension)
      |
      v
Handlers -> Adapter -> Isaac Sim 5.1 / 6.0 APIs

工具

9 个类别共 43 个工具:

类别数量可执行的操作
场景7检查场景、创建物理场景、列出/加载环境、浏览 prim
对象4创建、删除、变换和克隆基本图元
照明2创建和调整灯光
机器人6生成 107+ 个机器人、检查关节、设置位置、刷新库
传感器4创建相机/LiDAR、捕获图像、获取点云
材质2创建和应用材质
资产4导入 URDF、加载/搜索 USD、生成 3D 模型
图表2构建和编辑 Action Graph(OnPlaybackTick、ScriptNode、脚本文件附加)
仿真11播放/暂停/停止/单步执行、执行 Python、检查物理状态、热重载
完整工具列表

场景: get_scene_info create_physics_scene clear_scene list_prims get_prim_info list_environments load_environment

对象: create_object delete_object transform_object clone_object

照明: create_light modify_light

机器人: create_robot list_available_robots refresh_robot_library get_robot_info set_joint_positions get_joint_positions

传感器: create_camera capture_image create_lidar get_lidar_point_cloud

材质: create_material apply_material

资产: import_urdf load_usd search_usd generate_3d

图表: create_action_graph edit_action_graph

仿真: play_simulation pause_simulation stop_simulation step_simulation set_physics_params get_isaac_logs get_simulation_state get_physics_state get_joint_config set_drive_params execute_script reload_script


已知限制

常规会话中可能遇到的未解决缺陷。对于可能的情况,系统会在使用时发出警告;此列表用于帮助你在启动前选择运行时。

影响范围现象问题
6.0 Newton关节驱动无法收敛——命令目标会被超越,关节会继续运动,且关节限位不会生效。场景设置、步进和检查均正常;请在 PhysX(isaac-sim.sh)上运行运动任务。#21
6.0会话中创建的第一个 RTX 相机无法移除。create_camera 在交付该相机时会发出一次警告。#20
5.1get_lidar_point_cloud 约三分之一的读取会填充数据,因此调用方必须重试。在时间轴运行期间创建的 LiDAR 则永远不会填充数据——请在停止状态下创建。#31
5.1RTX LiDAR prim 无法删除;该 prim 会作为 Camera 留下。create_lidar 会拒绝此类路径,并指定一个可用路径。#25

示例提示词

场景初始化

Check the connection with get_scene_info. If the scene is empty, create a physics scene.
Add stronger lighting and place a camera that looks at the workspace.

机器人布局

Create three Franka robots in a row at [0,0,0], [2,0,0], and [4,0,0].
Then add a Go1 robot at [1, 3, 0].

环境加载

List available environments, choose a warehouse-like one, and load it.
Create a camera and capture an image.

资产搜索和 3D 生成

Search for a rusty desk, load the best result near [0, 5, 0], scaled to [2, 2, 2].

高级用法

多个实例

并行运行多个 Isaac Sim 会话。每个会话使用不同的端口(从 8766 自动分配)。

# First instance (default port 8766)
claude mcp add isaac-sim /path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh

# Second instance (port 8767)
claude mcp add isaac-sim-2 -e ISAAC_MCP_PORT=8767 -- /path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh
多个实例的 JSON 配置
{
  "mcpServers": {
    "isaac-sim": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh"
    },
    "isaac-sim-2": {
      "command": "/path/to/isaacsim-mcp-server/scripts/run_mcp_server.sh",
      "env": { "ISAAC_MCP_PORT": "8767" }
    }
  }
}
桌面启动器(Linux)

安装专用的 Isaac Sim MCP 应用图标:

./scripts/install_desktop_entry.sh

这会创建一个启动器,可自动分配端口、等待扩展套接字就绪,并在退出时清理。

推荐工作流
  1. 使用 get_scene_info 验证连接
  2. 如果舞台为空,则创建物理场景
  3. 优先使用专用工具,而不是 execute_script
  4. 加载前使用 list_available_robots / list_environments
  5. 使用 create_action_graph 将 OnPlaybackTick → ScriptNode 控制器连接起来
  6. 使用 step_simulation,并搭配 observe_prims 和 observe_joints 进行调试
  7. 使用 reload_script 迭代控制器,无需重启

演示:Franka 抓取与放置

demo/franka_pick_place.py 中提供了一个可直接运行的演示,使用 RMPflow 进行运动规划:

Please use the Isaac MCP tool complete this:

Create a physics scene with a ground plane, then spawn a Franka FR3 robot at the origin.

Add two textured tables with a gap along Y. Place a small textured cube with physics enabled on top of the first table.

Use `create_action_graph` to wire `OnPlaybackTick` → `ScriptNode`, and write a pick-and-place controller script using RMPflow for motion planning. Save the script to the `demo/` directory.

Use `get_prim_info` to query actual positions and sizes of the tables and cube before writing the controller — do not hardcode coordinates.

Start the simulation with Play. The robot should pick the cube from table 1 and place it on table 2. Verify the process using `step_simulation` with `observe_prims` on the cube to confirm it reaches table 2.

使用 create_action_graph 搭配 script_file,一步完成 Action Graph + ScriptNode 设置;此外还使用了可观测性工具:get_joint_config、搭配 observe_prims 的 step_simulation、get_physics_state,以及用于脚本热重载的 edit_action_graph。


开发

# Run the MCP inspector
./.venv/bin/python -m mcp dev ./isaac_mcp/server.py

检查器可通过 http://localhost:5173 访问。

设置说明
脚本用途默认值
setup_python_env.sh创建虚拟环境并安装软件包Python 3.10
run_isaac_sim.sh启动带扩展的 Isaac Sim(Linux)$HOME/isaacsim
run_isaac_sim.ps1启动带扩展的 Isaac Sim(Windows)C:\isaacsim
run_mcp_server.sh启动 MCP 服务(Linux)端口 8766
run_mcp_server.ps1启动 MCP 服务(Windows)端口 8766
launch_isaac_sim_mcp.sh组合启动器自动分配端口
dev_mcp_server.sh支持热重载的开发服务端口 8766

覆盖默认值:

PYTHON_SPEC=3.11 ./scripts/setup_python_env.sh
ISAACSIM_ROOT=/opt/isaacsim ./scripts/run_isaac_sim.sh
ISAACSIM_ENGINE=newton ./scripts/run_isaac_sim.sh

引擎选择配置位于 scripts/lib/isaac_launcher.sh 中:每种引擎都映射到 Isaac Sim 随附的启动脚本。添加新条目即可支持新的后端,并在每个启动脚本中启用 ISAACSIM_ENGINE=<name> 和 --<name>。

故障排除

如果 Isaac Sim 提示 Can't find extension with name: isaac.sim.mcp_extension:

# Make sure you're in the repo root
pwd
test -f ./isaac.sim.mcp_extension/config/extension.toml && echo OK

注意:--ext-folder 必须指向仓库根目录,而不是直接指向 isaac.sim.mcp_extension/。


贡献

欢迎提交拉取请求。改进工具、文档、适配器和测试都很有帮助。

许可证

MIT 许可证。版权所有 (c) 2023-2025 omni-mcp,版权所有 (c) 2026 whats2000。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。