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

# Machines

> MCP tools for creating, managing, and destroying virtual machines.

## vm\_list

List your VMs.

**Parameters:** None

***

## vm\_get

Get a VM by ID.

| Parameter | Type | Required |
| --------- | ---- | -------- |
| `id`      | UUID | yes      |

***

## vm\_get\_by\_name

Get a VM by name.

| Parameter | Type   | Required |
| --------- | ------ | -------- |
| `name`    | string | yes      |

***

## vm\_create

Create a VM. Provisioning takes 1-3 minutes (longer for large images). Poll `vm_get` until status changes from `CREATING` to `RUNNING`.

| Parameter      | Type    | Required | Description                 |
| -------------- | ------- | -------- | --------------------------- |
| `name`         | string  | yes      | VM name                     |
| `size`         | string  | yes      | See [sizes](/mcp/sizes)     |
| `region`       | string  | yes      | `us`, `uk`, `eu`, `asia`    |
| `imageName`    | string  | yes      | Image slug                  |
| `sshKeyId`     | UUID    | no       | Uses default key if omitted |
| `imageVersion` | integer | no       | Specific version            |

<Note>
  To use `ssh_exec`, provide a managed key ID in `sshKeyId`.
</Note>

***

## vm\_update

| Parameter            | Type   | Required | Description          |
| -------------------- | ------ | -------- | -------------------- |
| `id`                 | UUID   | yes      | VM ID                |
| `name`               | string | no       | New name             |
| `defaultSSHUsername` | string | no       | Default SSH username |

***

## vm\_start

Start a stopped or suspended VM. Suspended VMs are recreated from snapshot.

| Parameter | Type | Required |
| --------- | ---- | -------- |
| `id`      | UUID | yes      |

***

## vm\_stop

Stop a VM. Still billed -- suspend or destroy to stop billing.

| Parameter | Type | Required |
| --------- | ---- | -------- |
| `id`      | UUID | yes      |

***

## vm\_reboot

| Parameter | Type | Required |
| --------- | ---- | -------- |
| `id`      | UUID | yes      |

***

## vm\_suspend

Snapshot the VM, delete the cloud instance. Pay only image storage. Resume with `vm_start`.

| Parameter | Type | Required |
| --------- | ---- | -------- |
| `id`      | UUID | yes      |

***

## vm\_destroy

Permanently destroy a VM.

| Parameter | Type | Required |
| --------- | ---- | -------- |
| `id`      | UUID | yes      |
