Desktop client and CLI

The desktop client is for recording datasets with an arm on your own desk: it detects the hardware, walks you through clean episode capture, and keeps everything local until you decide to upload. The CLI ships alongside it and doubles as an MCP server.

Last updated 2026-08-09

What the desktop app does

The browser cockpit is built for remote control of robots that live on the platform. The desktop client covers the other half of the workflow: you, a robot arm on your desk, and a dataset you want to record yourself. It connects to the arm over USB, detects the attached cameras, and guides you through recording episode by episode.

Detection is automatic. Plug in an SO-100 and the app finds the serial port and enumerates the servos; connected webcams show up in a preview so you can check framing before you record anything. There is no configuration file to write and no driver to hunt down.

Everything you record is written to local disk first. Nothing leaves your machine until you explicitly upload, which matters if your episodes contain things you are not ready to share, or if you are recording somewhere without a reliable connection.

Download and install

The app is available for macOS, Windows, and Linux at /download. Install it, sign in with your platform account, and connect the arm. If you are pairing a robot to the platform at the same time, the app is also where you redeem the pairing code from the wizard.

The guided recording flow

Recording good imitation learning data is mostly discipline, and the app enforces the discipline for you. Each episode runs through the same five stations.

  1. 1
    Describe the task

    One clear sentence, phrased the same way every time for the same task. Language-conditioned policies attend to this string, so "pick up the red cube and place it in the bowl" beats "test 4".

  2. 2
    Reset the scene

    Move the arm to its start pose and place the objects. The camera preview is there so you can confirm framing before committing, not after.

  3. 3
    Record

    Teleoperate the arm through the task with deliberate, smooth movements. Stop as soon as the task is complete instead of idling in frame.

  4. 4
    Review

    Play the episode back before keeping it. Discarding a bad episode costs seconds; training on it costs hours.

  5. 5
    Upload

    When you are satisfied, upload the batch. Episodes appear in your dataset browser on the platform, alongside anything recorded through remote sessions.

Local data and LeRobot export

Episodes are stored and exported in LeRobot format, the interchange format most of the open-source robot learning ecosystem accepts. A dataset recorded with the desktop client can go straight into training for ACT, Diffusion Policy, SmolVLA, or GR00T fine-tunes.

GR00T needs LeRobot v2.1

If you plan to fine-tune GR00T, export your dataset as LeRobot v2.1. GR00T does not accept other dataset versions, and finding that out after a long recording session is no fun.

The CLI

The CLI installs standalone, without the desktop app, which makes it the right choice for headless machines and scripts. On macOS and Linux:

sh
curl -fsSL https://www.ay-robots.com/install.sh | sh
macOS and Linux

On Windows, in PowerShell:

powershell
irm https://www.ay-robots.com/install.ps1 | iex
Windows PowerShell

The CLI authenticates with an API key. Create one under /dashboard/settings; keys carry the ayr_live_ prefix and should be treated like passwords, so keep them in your shell environment or a secret manager rather than in scripts you commit.

MCP: local and hosted

If you work with an MCP-capable assistant or editor, the platform is reachable over the Model Context Protocol in two ways. The local server runs on your machine and is started with a single command:

sh
ay-robots mcp
Start the local MCP server

The hosted server lives at https://www.ay-robots.com/api/mcp and speaks Streamable HTTP. It needs no local install: point your MCP client at the URL and authenticate with an ayr_live_ API key from /dashboard/settings to work with your account data.

Local MCP serverHosted MCP server
How to runay-robots mcp after installing the CLINothing to run, connect to https://www.ay-robots.com/api/mcp
TransportLocal process, launched by your MCP clientStreamable HTTP
AuthYour CLI credentialsAPI key with the ayr_live_ prefix
Good forWorkflows that touch your local machine and hardwareAccount data from anywhere, no install

Frequently asked questions

Does recording work offline?

Yes. Recording is entirely local. You need connectivity for the initial sign-in and pairing, and again when you upload, but not while capturing episodes.

Which arms does the desktop client detect?

The SO-100 (SO-ARM100) is the primary arm and works out of the box. See the robots page for the full list of supported types on the platform.

Where do I get an API key?

Under /dashboard/settings. Keys start with ayr_live_ and grant access to your account, so store them like passwords and revoke any key you may have exposed.

Can I use the hosted MCP server without installing anything?

Yes. It speaks Streamable HTTP at https://www.ay-robots.com/api/mcp; all you need is an MCP client and an API key. The local server is only necessary when the workflow involves your local machine.