# Host Requirements

`pyro-mcp` currently targets Linux x86_64 hosts.

## Required

- KVM available at `/dev/kvm`
- support for Firecracker microVMs
- sufficient disk for the embedded runtime files and cached OCI environment images
- outbound HTTPS access to `registry-1.docker.io` for first-run installs or `pyro env pull`

## Required For Guest Networking

- `/dev/net/tun`
- `ip`
- `nft` or `iptables`
- host IP forwarding enabled
- privilege to create TAP devices and NAT rules

The current implementation uses `sudo -n` for host networking commands when a networked run is requested.

## Validate The Host

```bash
pyro doctor
```

In the default human-readable output, check:

- `Runtime: PASS`
- `KVM: exists=yes readable=yes writable=yes`
- `Networking: tun=yes ip_forward=yes`

If you need the raw structured fields instead:

```bash
pyro doctor --json
```

Check:

- `runtime_ok`
- `kvm`
- `networking.tun_available`
- `networking.ip_forward_enabled`
