# gpu.nz GPU cloud

> Rent cloud GPUs from AI agents: live prices, VRAM estimates, launch, logs and stop.

- name: nz.gpu/gpu-cloud
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 95/100
- quality: 85/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/nz.gpu%2Fgpu-cloud
- tools: https://api.protogrid.dev/v1/servers/nz.gpu%2Fgpu-cloud/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "gpu-cloud": {
      "type": "http",
      "url": "https://gpu.nz/mcp",
      "headers": {
        "Authorization": "Bearer ${GPU_CLOUD_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${GPU_CLOUD_TOKEN}`.

## Trust

- hygiene: 95
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-1d-ago -unpinned-packages(1)
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 16 of 16 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 5 of 16 tools declare all four hints; missing: list_gpu_models (destructiveHint, idempotentHint); get_offer (destructiveHint, idempotentHint); get_account (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 2,509 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 0 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 16, about 2,509 tokens to load them all
- tool set hash: c1b487d0df040c23efc111c04c2a585f
- badge: [![protogrid quality](https://protogrid.dev/badge/nz.gpu/gpu-cloud.svg)](https://protogrid.dev/servers/nz.gpu/gpu-cloud)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://gpu.nz/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

- oci ghcr.io/gpunz/gpunz-mcp:1.0.0 secrets: GPUNZ_API_KEY

## Tools (16)

- `add_ssh_key`: Adds an SSH public key (a line from a .pub file) to the account. Needs user:write.
- `create_instance`: 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).
- `destroy_instance`: Destroys a server and deletes its disk for good; billing stops completely. Irreversible: confirm with the user. Needs instances:write.
- `estimate_vram`: 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.
- `get_account`: The signed-in account and its balance, hourly burn and runway. Needs a key with user:read and billing:read.
- `get_instance`: 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).
- `get_instance_logs`: The last lines of a server's container log: boot progress, app start-up, errors. Needs instances:read.
- `get_offer`: Details and the current price of one offer by id (from search_offers).
- `list_gpu_models`: 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.
- `list_instances`: Your rented servers with status, GPU, price and SSH command. Needs instances:read.
- `list_ssh_keys`: SSH public keys on the account; they are installed on new servers. Needs user:read.
- `list_templates`: 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.
- `search_offers`: 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.
- `start_instance`: Starts a stopped server again; GPU billing resumes. Confirm with the user. Needs instances:write.
- `stop_instance`: 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.
- `topup_link`: 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.
