Isaac Lab RL训练服务器

MCP服务器为NVIDIA Isaac Lab提供强化学习训练、环境管理和策略评估功能,通过SSH隧道与远程Brev GPU实例通信,实现本地控制与远程计算分离。

  • by chloepilonv
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 chloepilonv/mcp-server-isaaclab

使用说明

mcp服务器isaaclab

MCP服务器 NVIDIA艾萨克实验室 --Claude提供的强化学习培训、环境管理和政策评估。

在Mac上本地运行,并在远程与Isaac Lab通信 Brev GPU实例 通过SSH隧道。所有繁重的模拟都保留在GPU上;克劳德只是发送命令。

不是艾萨克·辛。 该服务器控制Isaac实验室(RL环境、培训管道、策略评估)。有关低级Isaac Sim控制(USD prims、场景创作、Kit命令),请参阅 mcp服务器isaacsim.

建筑

┌──────────┐    stdio    ┌──────────────┐   SSH tunnel   ┌─────────────────┐
│  Claude   │◄──────────►│  MCP Server  │◄──────────────►│  Remote Agent   │
│  (local)  │            │  (local Mac) │   port 8421    │  (Brev GPU)     │
└──────────┘            └──────────────┘                └────────┬────────┘
                                                                  │
                                                          ┌───────▼────────┐
                                                          │   Isaac Lab    │
                                                          │  (Isaac Sim)   │
                                                          └────────────────┘

MCP服务器 (此仓库)在Mac上作为stdio MCP服务器运行。它打开一个到Brev实例的SSH隧道,并将所有请求转发到 远程代理 --GPU盒上Isaac Lab旁边运行的FastAPI服务。

先决条件

  • Python 3.10+
  • Brev GPU实例(附带 brev create)
  • SSH访问实例(brev ssh)
  • 实例上安装了Isaac Lab(包括安装脚本)

快速开始

1.本地安装

git clone git@github.com:chloepilonv/mcp-server-isaaclab.git
cd mcp-server-isaaclab
pip install -e .

2.提供一个Brev GPU实例

brev create isaaclab-gpu --gpu A100
brev ssh isaaclab-gpu

3.在实例上安装Isaac Lab

# From your Mac:
scp scripts/setup-brev-isaaclab.sh ubuntu@<BREV_HOST>:~
ssh ubuntu@<BREV_HOST> bash ~/setup-brev-isaaclab.sh

这将安装Isaac Lab+skrl、rsl_rl和sb3 rl框架。

4.部署远程代理

./scripts/deploy-remote-agent.sh <BREV_HOST> ubuntu ~/.ssh/your_key

这将复制代理代码,安装它,并在端口8421上将其作为systemd服务启动。

5.配置Claude

该项目包括 .mcp.json 因此,当您位于此目录中时,Claude Code会自动获取服务器。

对于 克劳德桌面版,添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "isaaclab": {
      "command": "mcp-server-isaaclab"
    }
  }
}

对于 克劳德代码 在其他项目中,添加到项目的 .mcp.json:

{
  "mcpServers": {
    "isaaclab": {
      "command": "mcp-server-isaaclab"
    }
  }
}

工具

连接

工具 说明
connect_instance 建立到Brev GPU实例的SSH隧道
disconnect_instance 断开连接
instance_status GPU利用率、活动会话和作业
gpu_status 详细的GPU内存、温度、利用率

模拟(交互式)

工具 说明
list_environments 列出所有已注册的Isaac Lab任务
create_session 创建交互式模拟会话
step_session 向前推进模拟(随机或指定动作)
reset_session 将环境重置为初始状态
get_observation 获取当前观测值+行动/obs空间信息
close_session 关闭会话并释放GPU内存

训练

工具 说明
start_training 启动异步RL培训作业
monitor_training 获取状态、最近日志、最新检查点
get_training_logs 阅读完整的培训日志
stop_training 停止跑步训练作业
list_training_jobs 列出所有作业(正在运行、已完成、失败)

评估和文件

工具 说明
evaluate_policy 评估检查点,可选择录制视频
list_checkpoints 浏览已保存的模型检查点
list_log_dirs 浏览培训日志目录
list_videos 列出录制的模拟视频
read_remote_file 读取实例上的任何文本/图像文件
run_isaaclab_script 运行任意Isaac Lab Python脚本

对话示例

制定运动策略:

> Connect to my Brev instance at 203.0.113.42
> What environments are available for quadruped locomotion?
> Train Anymal-D on rough terrain with rsl_rl, 4096 envs, 1500 iterations
> Check on the training
> Evaluate the best checkpoint and record a video

以交互方式探索环境:

> Connect to my Brev GPU
> Create a session with Isaac-Cartpole-v0, 32 envs
> What does the observation space look like?
> Step 100 times with random actions — what are the rewards?
> Reset and try again
> Close the session

监控GPU并管理作业:

> What's the GPU status?
> List all training jobs
> Stop the Ant training — it's not converging
> Show me the last 200 lines of logs from the Franka training

支持的RL框架

框架 最适合 注释
skrl 通用 现代、模块化、良好的默认选择
rsl_rl 运动 ETH RSL的框架,针对腿式机器人进行了优化
sb3 原型 稳定的基线3,易于使用
rl_games 多GPU NVIDIA的框架,可扩展性良好

可用环境(选择)

类别 示例
经典 Isaac-Cartpole-v0, Isaac-Ant-v0, Isaac-Humanoid-v0
操纵 Isaac-Reach-Franka-v0, Isaac-Lift-Cube-Franka-v0, Isaac-Open-Drawer-Franka-v0
运动 Isaac-Velocity-Flat-Anymal-D-v0, Isaac-Velocity-Rough-Unitree-Go2-v0
导航 Isaac-Navigation-Flat-Anymal-C-v0

使用 list_environments 从您的安装中获取完整列表。

项目结构

mcp-server-isaaclab/
├── src/mcp_server_isaaclab/
│   ├── server.py            # MCP server (runs locally, exposes tools)
│   ├── connection.py        # SSH tunnel + HTTP client manager
│   └── remote/
│       └── agent.py         # FastAPI agent (runs on Brev GPU)
├── scripts/
│   ├── deploy-remote-agent.sh      # Deploy agent to Brev
│   └── setup-brev-isaaclab.sh      # Install Isaac Lab on instance
├── .mcp.json                # Claude Code MCP config
├── pyproject.toml
└── README.md

发展

pip install -e ".[dev]"
ruff check src/
pytest

许可证

麻省理工学院