launch_compute_instance
ActiveTool of BorealHost
Launch an on-demand hourly compute instance (Canada, CAD). Billing starts at launch (per minute, 1-hour minimum) and runs until terminate_compute_instance — stopping does NOT stop the charge. Every instance has a hard TTL (max_lifetime_hours, default 72h) after which it is auto-terminated. Usage is metered onto your existing BorealHost subscription; an active subscription is required. Requires: API key with write scope. Args: instance_type: From list_compute_types, e.g. "lsw.c3.large" image_id: From list_compute_images, e.g. "UBUNTU_24_04_64BIT" name: Optional label for the instance ssh_public_key: Public key installed as root access. Mutually exclusive with user_data (provider limitation) — provide exactly one. user_data: cloud-init config (plain text #cloud-config). Use ssh_authorized_keys inside it if you need a key AND user data. root_disk_size: GB (default max(min_disk, 25)) storage_type: "CENTRAL" (redundant) or "LOCAL" (faster I/O) max_lifetime_hours: Hard TTL, 1-336 (default 72) Returns: Instance dict: {"id", "state": "launching", "public_ip", "instance_type", "hourly_price_cad", "terminate_after", ...}. Poll get_compute_instance until state is "running" and public_ip is set (~1-3 min). Errors: PAYMENT_REQUIRED: No active subscription to bill against LIMIT_EXCEEDED: Concurrent instance cap reached SPEND_CAP_EXCEEDED: Monthly compute spend cap reached VALIDATION_ERROR: Bad type/image/disk/TTL, or both/neither of ssh_public_key and user_data
Parameters schema
{
"type": "object",
"title": "launch_compute_instanceArguments",
"required": [
"instance_type",
"image_id"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"image_id": {
"type": "string",
"title": "Image Id"
},
"user_data": {
"type": "string",
"title": "User Data",
"default": ""
},
"storage_type": {
"type": "string",
"title": "Storage Type",
"default": "CENTRAL"
},
"instance_type": {
"type": "string",
"title": "Instance Type"
},
"root_disk_size": {
"type": "integer",
"title": "Root Disk Size",
"default": 0
},
"ssh_public_key": {
"type": "string",
"title": "Ssh Public Key",
"default": ""
},
"max_lifetime_hours": {
"type": "integer",
"title": "Max Lifetime Hours",
"default": 0
}
}
}Parent server
BorealHost
https://github.com/alainsvrd/borealhost-mcp
1/7 registries