Metadata-Version: 2.5
Name: kiteml-cli
Version: 0.1.0
Summary: Kite CLI and MCP server: train robot policies with reinforcement learning in simulation, augment LeRobot datasets, and build MuJoCo digital twins, from your terminal or an AI agent.
Project-URL: Homepage, https://kiteml.com
Project-URL: Documentation, https://kite-ml.mintlify.app/tools/cli-and-mcp
Project-URL: API reference, https://kite-ml.mintlify.app/platform-api/overview
Project-URL: Dashboard, https://app.kiteml.com
Project-URL: MCP server, https://mcp.kiteml.com/mcp
Project-URL: Blog, https://kiteml.com/blog
Author-email: Kite ML <raul@kiteml.com>
License-Expression: Apache-2.0
Keywords: ai agents,claude,cli,cursor,data augmentation,dataset augmentation,digital twin,humanoid,imitation learning,kite,legged robots,lerobot,mcp,mcp-server,model context protocol,mujoco,onnx,policy evaluation,policy training,reinforcement learning,rl,robot learning,robot policy,robotics,sim-to-real,simulation,vla
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: httpx>=0.25
Requires-Dist: rich>=13.0
Requires-Dist: typer>=0.9
Provides-Extra: all
Requires-Dist: mcp<2,>=1.0; extra == 'all'
Requires-Dist: starlette>=0.37; extra == 'all'
Requires-Dist: uvicorn>=0.30; extra == 'all'
Provides-Extra: dev
Requires-Dist: mcp<2,>=1.0; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: starlette>=0.37; extra == 'dev'
Requires-Dist: uvicorn>=0.30; extra == 'dev'
Provides-Extra: mcp
Requires-Dist: mcp<2,>=1.0; extra == 'mcp'
Requires-Dist: starlette>=0.37; extra == 'mcp'
Requires-Dist: uvicorn>=0.30; extra == 'mcp'
Description-Content-Type: text/markdown

# Kite CLI and MCP server

Robot learning on cloud GPUs, from your terminal or your AI agent. Kite trains robot policies with
reinforcement learning in simulation, augments LeRobot datasets, and rebuilds robot episodes as MuJoCo digital
twins. This package gives you the `kite` command line and the `kite-mcp` server for Claude, Cursor, and any
Model Context Protocol (MCP) client.

<!-- mcp-name: com.kiteml/kite -->

- **RL training in simulation.** Describe a behavior in plain English. Kite writes the task spec, checks its
  rewards for free, and trains the policy on a GPU. You get the policy as ONNX, the MuJoCo scene it trained in, and
  clips.
- **Policy evaluation.** Every RL run ends with a report: a pass, needs_review or fail verdict from measured checks
  (falls per minute, survival, command tracking, gait, posture), plus a vision model's read of the clip.
- **Dataset augmentation.** Relight a LeRobot dataset to match a deployment scene, or generate new variations of
  it with video augmentation. Output is a standard LeRobot dataset (Parquet + MP4), downloaded or pushed to
  Hugging Face.
- **Digital twins.** Point Kite at one episode of a LeRobot dataset and get an interactable MuJoCo scene of the
  room, with the objects the robot handles built to size.

## Install

```bash
pip install "kiteml-cli[mcp]"
```

Python 3.10 or later. Drop `[mcp]` if you only want the CLI.

## Sign in

```bash
kite auth login     # opens the dashboard; stores a 90-day API key
kite doctor         # checks the API is reachable and your key works
```

On a server or in CI, set an API key from [app.kiteml.com](https://app.kiteml.com) instead:

```bash
export KITE_API_KEY=kite_...
```

## Use it from an AI agent

Kite hosts the MCP server, so there's nothing to run:

```bash
claude mcp add --transport http kite https://mcp.kiteml.com/mcp
```

Or run it locally over stdio with this package:

```bash
claude mcp add kite -e KITE_API_KEY=$KITE_API_KEY -- kite-mcp
```

For Cursor and other clients, add `{"mcpServers": {"kite": {"url": "https://mcp.kiteml.com/mcp"}}}` to the MCP
config. Then ask, for example: "train the Open Duck Mini to walk forward and tell me when it passes", or "relight
lerobot/pusht to look like this photo".

| Tools | What they do |
| --- | --- |
| `kite_rl_catalog`, `kite_rl_plan`, `kite_rl_validate` | See which robots and objectives RL runs support, and plan and check a training spec for free |
| `kite_rl_train`, `kite_rl_fork`, `kite_rl_cancel` | Start, branch from, and stop RL runs |
| `kite_rl_status`, `kite_rl_metrics`, `kite_rl_report`, `kite_rl_list` | Follow training and read each run's evaluation verdict |
| `kite_augment_create`, `kite_augment_status`, `kite_augment_list`, `kite_augment_cancel` | Augment LeRobot datasets |
| `kite_twin_validate`, `kite_twin_create`, `kite_twin_status`, `kite_twin_list`, `kite_twin_cancel`, `kite_twin_resume` | Build MuJoCo digital twins |
| `kite_doctor` | Check connectivity and authentication |

## Use it from the terminal

Train a walking policy for the Open Duck Mini v2:

```bash
kite rl plan open_duck_mini_v2 "walk forward at a steady pace" -o walk.json
kite rl validate walk.json                 # free: what each reward term pays canned policies
kite rl train walk.json --budget probe --wait
kite rl report rlr_...                     # the verdict and each check behind it
kite rl download rlr_...                   # -> kiteml_rlr_.../policy/policy.onnx
```

Augment a dataset:

```bash
kite augment create --repo-id lerobot/pusht \
  -i "change the table surface to white marble, vary the lighting" -n 20 --wait
kite augment download aug_... -o ./pusht-marble
```

Build a digital twin (private beta):

```bash
kite twin create lerobot/svla_so101_pickplace --out ./twins   # -> ./twins/twin_.../scene.xml
```

Every command prints JSON (`{"ok": true, "data": ...}`) so scripts and agents can parse it. Run `kite --help` for
the full list.

## Links

- Docs: [CLI and MCP](https://kite-ml.mintlify.app/tools/cli-and-mcp) ·
  [RL runs](https://kite-ml.mintlify.app/platform-api/rl-runs) ·
  [Augmentations](https://kite-ml.mintlify.app/platform-api/augmentation) ·
  [Twins](https://kite-ml.mintlify.app/platform-api/twins)
- Dashboard: [app.kiteml.com](https://app.kiteml.com)
- Website: [kiteml.com](https://kiteml.com)
- Support: [raul@kiteml.com](mailto:raul@kiteml.com)
