> ## Documentation Index
> Fetch the complete documentation index at: https://servo.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI

> Every servo command: what it does, which machine it runs on, and the role it needs.

Commands read `servo <noun> <verb>`, and each mirrors the Python call of the same name. Commands that act on this machine take no noun. Roles are on the robot the command names, and `member` means any signed-in person in the organization. A command that runs only on the robot computer acts as the robot and needs no role. See [Identity and auth](/guides/identity).

## You and this machine

| Command           | Does                                                                                                             | Runs on        | Needs                           |
| ----------------- | ---------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------- |
| `servo login`     | Signs you in through the browser, or with a link and a code over ssh                                             | your computer  | an account                      |
| `servo logout`    | Ends this sign-in, or every sign-in you hold with `--everywhere`                                                 | your computer  |                                 |
| `servo whoami`    | Names the signed-in person, or the robot on a robot computer                                                     | any            |                                 |
| `servo join LINE` | Binds this machine to a robot record and installs the agent; with no line, prints a code for an admin to approve | robot computer | the line from `servo robot add` |

## Robots

| Command                                                            | Does                                                                                                | Runs on        | Needs   |
| ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- | -------------- | ------- |
| `servo robot add NAME --type TYPE --region REGION`                 | Creates the record and prints the join line; the region is where Servo runs models for this robot   | your computer  | member  |
| `servo robot list`                                                 | Lists robots with status and who is using them                                                      | any            | `read`  |
| `servo robot show NAME`                                            | Shows the assignment and when it changed, who holds the robot, and its open sessions                | any            | `read`  |
| `servo robot setup NAME`                                           | Assigns cameras and arms and records the rest pose; `--restore` brings the previous assignment back | robot computer |         |
| `servo robot remove NAME`                                          | Retires the record                                                                                  | any            | `admin` |
| `servo robot approve CODE --name NAME --type TYPE --region REGION` | Approves a join started on the robot computer with no line                                          | any            | `admin` |

## Models and sources

| Command                                 | Does                                                                                                                                                                                       | Runs on       | Needs  |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- | ------ |
| `servo model list`                      | Lists every model your team has pointed Servo at with `get`                                                                                                                                | any           | member |
| `servo model inspect PATH --robot NAME` | Resolves the contract for one robot without allocating anything                                                                                                                            | any           | `read` |
| `servo model deploy PATH`               | Starts, or returns, the deployment for that model in the region your robots are registered in; `--region REGION` picks one when they are in several, and `--wait` blocks until it is ready | any           | member |
| `servo source add URI`                  | Registers read access to a private path prefix with `--token-env VAR`, `--aws-role ARN`, or `--service-account EMAIL`                                                                      | your computer | member |
| `servo source verify URI`               | Checks the credential and the trust for a registered prefix                                                                                                                                | your computer | member |

## Deployments

| Command                    | Does                                                                                                                 | Runs on | Needs  |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------- | ------ |
| `servo deployment list`    | Lists running deployments with their model, region, and who started them                                             | any     | member |
| `servo deployment show ID` | Shows the model, revision, region, status, idle minutes, and open sessions                                           | any     | member |
| `servo deployment wait ID` | Waits until inference is ready                                                                                       | any     | member |
| `servo deployment stop ID` | Releases capacity by id; `--model PATH` stops the deployment of that model, and `--all` every deployment you started | any     | member |

## Sessions and episodes

| Command                   | Does                                                                                                              | Runs on        | Needs   |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------- | ------- |
| `servo session list`      | Lists open sessions with robot, deployment, instruction, who started each, and since when; `--robot NAME` filters | any            | `read`  |
| `servo session show ID`   | Shows one session's robot, deployment, instruction, and status                                                    | any            | `read`  |
| `servo session stop ID`   | Closes a session; `--robot NAME` stops the robot's sessions, and a running episode returns the arms to rest first | any            | `write` |
| `servo episode list`      | Lists recorded episodes on this robot computer                                                                    | robot computer |         |
| `servo episode show PATH` | Summarizes acts, drops, frame geometry, and cadence; `--last` picks the newest                                    | robot computer |         |
| `servo episode rm PATH`   | Deletes a recording                                                                                               | robot computer |         |

## Access

| Command                                               | Does                                                    | Runs on | Needs   |
| ----------------------------------------------------- | ------------------------------------------------------- | ------- | ------- |
| `servo access grant SUBJECT --robot NAME --role ROLE` | Gives a person `read`, `write`, or `admin` on one robot | any     | `admin` |
| `servo access list --robot NAME`                      | Shows who holds which role                              | any     | `read`  |
| `servo access revoke SUBJECT --robot NAME`            | Removes a person's role                                 | any     | `admin` |
