Rent cloud GPUs from AI agents: live prices, VRAM estimates, launch, logs and stop.
Call this server's tools from your browser. Nothing to install.
Bearer gpz_… API key from https://gpu.nz/console/keys. Optional: without it only GPU search, prices and VRAM estimates work.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Adds an SSH public key (a line from a .pub file) to the account. Needs user:write.
The public key line, e.g. ssh-ed25519 AAAA… you@laptop
A name for the key
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Adds an SSH public key (a line from a .pub file) to the account. Needs user:write.
| Argument | Type | Description |
|---|---|---|
| name | string | A name for the key |
| public_key* | string | The public key line, e.g. ssh-ed25519 AAAA… you@laptop |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"public_key"
],
"properties": {
"name": {
"type": "string",
"maxLength": 60,
"description": "A name for the key"
},
"public_key": {
"type": "string",
"maxLength": 16000,
"minLength": 20,
"description": "The public key line, e.g. ssh-ed25519 AAAA… you@laptop"
}
}
}Rents the server of an offer and starts it with a template. Billing starts right away and runs every minute until you stop or destroy it. Confirm the price with the user first. Needs instances:write. The response has the instance id; poll get_instance until status is running (usually 1–5 minutes).
| Argument | Type | Description |
|---|---|---|
| name | string | A name for the server |
| type | string | on_demand (default) or interruptible |
| image | string | Docker image, only with the custom template |
| disk_gb* | integer | Disk size, GB (use the template's recommended_disk_gb) |
| offer_id* | string | Offer id from search_offers |
| template* | string | Template slug from list_templates, e.g. "comfyui", "ollama", "pytorch", "custom" |
| ssh_key_ids | array | SSH key ids to install (default: all of yours) |
| idempotency_key | string | Reuse the same value when retrying the same request, so a retry never rents twice |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"offer_id",
"template",
"disk_gb"
],
"properties": {
"name": {
"type": "string",
"maxLength": 60,
"description": "A name for the server"
},
"type": {
"enum": [
"on_demand",
"interruptible"
],
"type": "string",
"description": "on_demand (default) or interruptible"
},
"image": {
"type": "string",
"maxLength": 300,
"description": "Docker image, only with the custom template"
},
"disk_gb": {
"type": "integer",
"maximum": 2000,
"minimum": 10,
"description": "Disk size, GB (use the template's recommended_disk_gb)"
},
"offer_id": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Offer id from search_offers"
},
"template": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Template slug from list_templates, e.g. \"comfyui\", \"ollama\", \"pytorch\", \"custom\""
},
"ssh_key_ids": {
"type": "array",
"items": {
"type": "string",
"maxLength": 64
},
"maxItems": 10,
"description": "SSH key ids to install (default: all of yours)"
},
"idempotency_key": {
"type": "string",
"maxLength": 64,
"description": "Reuse the same value when retrying the same request, so a retry never rents twice"
}
}
}Destroys a server and deletes its disk for good; billing stops completely. Irreversible: confirm with the user. Needs instances:write.
| Argument | Type | Description |
|---|---|---|
| instance_id* | string | Instance id |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"instance_id"
],
"properties": {
"instance_id": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Instance id"
}
}
}How much GPU memory an AI model needs (LLMs such as Qwen, DeepSeek, Llama, Gemma, GPT-OSS; image and video models such as FLUX, SDXL, Wan) at a given precision and context length, and which GPUs on gpu.nz fit it with their current price. Call without `model` to list the known models.
| Argument | Type | Description |
|---|---|---|
| model | string | Model name or id, e.g. "qwen3-32b", "Llama 3.3 70B", "flux.1-dev" |
| precision | string | Weights precision: "fp16", "fp8", "q8", "q6", "q5", "q4" (LLMs; default q4 for LLMs, fp16 for image models) |
| context_tokens | integer | LLM context length in tokens (default 8192) |
| concurrent_requests | integer | Parallel sequences sharing the GPU (default 1) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"model": {
"type": "string",
"maxLength": 80,
"description": "Model name or id, e.g. \"qwen3-32b\", \"Llama 3.3 70B\", \"flux.1-dev\""
},
"precision": {
"type": "string",
"maxLength": 20,
"description": "Weights precision: \"fp16\", \"fp8\", \"q8\", \"q6\", \"q5\", \"q4\" (LLMs; default q4 for LLMs, fp16 for image models)"
},
"context_tokens": {
"type": "integer",
"maximum": 1048576,
"minimum": 512,
"description": "LLM context length in tokens (default 8192)"
},
"concurrent_requests": {
"type": "integer",
"maximum": 256,
"minimum": 1,
"description": "Parallel sequences sharing the GPU (default 1)"
}
}
}The signed-in account and its balance, hourly burn and runway. Needs a key with user:read and billing:read.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Status, SSH command, app URLs (ComfyUI, Jupyter, chat…), price and cost so far of one server. The root password is left out unless include_password is true (your SSH keys are installed on every server).
| Argument | Type | Description |
|---|---|---|
| instance_id* | string | Instance id |
| include_password | boolean | Include the root SSH password |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"instance_id"
],
"properties": {
"instance_id": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Instance id"
},
"include_password": {
"type": "boolean",
"description": "Include the root SSH password"
}
}
}The last lines of a server's container log: boot progress, app start-up, errors. Needs instances:read.
| Argument | Type | Description |
|---|---|---|
| tail | integer | How many last lines (default 200) |
| instance_id* | string | Instance id |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"instance_id"
],
"properties": {
"tail": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "How many last lines (default 200)"
},
"instance_id": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Instance id"
}
}
}Details and the current price of one offer by id (from search_offers).
| Argument | Type | Description |
|---|---|---|
| offer_id* | string | Offer id |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"offer_id"
],
"properties": {
"offer_id": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Offer id"
}
}
}GPU models available on gpu.nz right now with VRAM, class and the cheapest hourly price per GPU. Use it to pick a gpu_slug for search_offers.
| Argument | Type | Description |
|---|---|---|
| query | string | Filter by name, e.g. "4090" or "H100" |
| min_vram_gb | number | Only models with at least this much VRAM per GPU |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"type": "string",
"maxLength": 40,
"description": "Filter by name, e.g. \"4090\" or \"H100\""
},
"min_vram_gb": {
"type": "number",
"minimum": 0,
"description": "Only models with at least this much VRAM per GPU"
}
}
}Your rented servers with status, GPU, price and SSH command. Needs instances:read.
| Argument | Type | Description |
|---|---|---|
| status | string | active (default): servers that are not destroyed; all: include destroyed ones |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"status": {
"enum": [
"active",
"all"
],
"type": "string",
"description": "active (default): servers that are not destroyed; all: include destroyed ones"
}
}
}SSH public keys on the account; they are installed on new servers. Needs user:read.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Ready environments a server can start with: ComfyUI, Stable Diffusion Forge, Ollama + Open WebUI, vLLM, Jupyter/PyTorch, Kohya, FluxGym, Unsloth, chats with preloaded models, plain Ubuntu + CUDA, or a custom Docker image. Pass `slug` as `template` to create_instance.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Search rentable GPU servers (offers) with live prices. Returns the cheapest matches first unless `order` says otherwise. Each result has an offer id for create_instance.
| Argument | Type | Description |
|---|---|---|
| gpu | string | GPU model slug(s), comma-separated, e.g. "rtx-4090-24gb" or "h100-sxm-80gb,h100-pcie-80gb" (see list_gpu_models) |
| type | string | on_demand (default) or interruptible (cheaper, can be preempted) |
| limit | integer | How many offers to return (default 10) |
| order | string | Sort: price (default), dlperf_per_price for value, reliability, vram, inet_down |
| country | string | ISO-2 country codes, comma-separated, e.g. "DE,NL,FI" |
| num_gpus | string | GPUs per server, comma-separated, e.g. "1" or "2,4,8" |
| verified | boolean | Only verified datacenters |
| min_disk_gb | number | Minimum disk the server can give, GB |
| min_vram_gb | number |
Starts a stopped server again; GPU billing resumes. Confirm with the user. Needs instances:write.
| Argument | Type | Description |
|---|---|---|
| instance_id* | string | Instance id |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"instance_id"
],
"properties": {
"instance_id": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Instance id"
}
}
}Stops a running server: the GPU is released and billing drops to the disk only. Data on the disk is kept and the server can be started again (the GPU may then be taken by someone else; gpu.nz finds a replacement when it is). Needs instances:write.
| Argument | Type | Description |
|---|---|---|
| instance_id* | string | Instance id |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"instance_id"
],
"properties": {
"instance_id": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Instance id"
}
}
}A link to the balance top-up page (SBP, crypto) for the user to open in a browser; payments never happen through the API. Optionally pre-fills the amount.
| Argument | Type | Description |
|---|---|---|
| amount | integer | Amount in the account currency (rubles by default) |
| language | string | Page language (default ru) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"type": "integer",
"maximum": 10000000,
"minimum": 1,
"description": "Amount in the account currency (rubles by default)"
},
"language": {
"enum": [
"ru",
"en"
],
"type": "string",
"description": "Page language (default ru)"
}
}
}| Minimum VRAM per GPU, GB |
| max_price_rub_h | number | Maximum price for the whole server, rubles per hour |
| min_reliability | number | Minimum host reliability, 0–1 (0.98 is a good bar) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"gpu": {
"type": "string",
"maxLength": 200,
"description": "GPU model slug(s), comma-separated, e.g. \"rtx-4090-24gb\" or \"h100-sxm-80gb,h100-pcie-80gb\" (see list_gpu_models)"
},
"type": {
"enum": [
"on_demand",
"interruptible"
],
"type": "string",
"description": "on_demand (default) or interruptible (cheaper, can be preempted)"
},
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "How many offers to return (default 10)"
},
"order": {
"enum": [
"price",
"-price",
"dlperf",
"dlperf_per_price",
"reliability",
"vram",
"inet_down"
],
"type": "string",
"description": "Sort: price (default), dlperf_per_price for value, reliability, vram, inet_down"
},
"country": {
"type": "string",
"maxLength": 60,
"description": "ISO-2 country codes, comma-separated, e.g. \"DE,NL,FI\""
},
"num_gpus": {
"type": "string",
"maxLength": 20,
"description": "GPUs per server, comma-separated, e.g. \"1\" or \"2,4,8\""
},
"verified": {
"type": "boolean",
"description": "Only verified datacenters"
},
"min_disk_gb": {
"type": "number",
"minimum": 0,
"description": "Minimum disk the server can give, GB"
},
"min_vram_gb": {
"type": "number",
"minimum": 0,
"description": "Minimum VRAM per GPU, GB"
},
"max_price_rub_h": {
"type": "number",
"minimum": 0,
"description": "Maximum price for the whole server, rubles per hour"
},
"min_reliability": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Minimum host reliability, 0–1 (0.98 is a good bar)"
}
}
}