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.
- 1Describe 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".
- 2Reset 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.
- 3Record
Teleoperate the arm through the task with deliberate, smooth movements. Stop as soon as the task is complete instead of idling in frame.
- 4Review
Play the episode back before keeping it. Discarding a bad episode costs seconds; training on it costs hours.
- 5Upload
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.
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:
curl -fsSL https://www.ay-robots.com/install.sh | shOn Windows, in PowerShell:
irm https://www.ay-robots.com/install.ps1 | iexThe 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:
ay-robots mcpThe 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 server | Hosted MCP server | |
|---|---|---|
| How to run | ay-robots mcp after installing the CLI | Nothing to run, connect to https://www.ay-robots.com/api/mcp |
| Transport | Local process, launched by your MCP client | Streamable HTTP |
| Auth | Your CLI credentials | API key with the ayr_live_ prefix |
| Good for | Workflows that touch your local machine and hardware | Account 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.
How AY-Robots stores teleoperation recordings in the LeRobot format: episode structure, the dashboard episode browser, merging uploads, and the marketplace.
Create an AY-Robots account, choose the client or operator role, set up your first environment, pair a robot with a pairing code, and run your first session.