GPU Cloud
Rent H100, RTX PRO 6000, A100, L40 and RTX A6000 GPUs by the hour in Montréal, Canada, in CAD.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (3)
- LOWen gpucloud_set_server_threshold_action
- LOWen gpucloud_set_server_backup_policy
- LOWen gpucloud_get_console_url
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"gpu-cloud": {
"url": "https://gpucloud.ca/api/mcp"
}
}
}Puntos de conexión remotos
https://gpucloud.ca/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (62)
🟢gpucloud_whoami
The GPU Cloud account behind this MCP key: user, key permissions and spend caps, budget used/remaining this month, credit balance and whether a payment card is saved (required for any spend). Call this first. (permission: account:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_get_profile
Profile of the account (name, email, company, phone). Email / password / 2FA are managed by the owner in the console, never by an agent. (permission: profile:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡gpucloud_update_profile(firstName, lastName)
Change the first and last name of the account. Email and password cannot be changed through MCP. (permission: profile:write) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"firstName": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"lastName": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"firstName",
"lastName"
],
"additionalProperties": false
}🟢gpucloud_list_tickets
Support tickets of the account with their messages. Each message lists its attached images (id, fileName, mimeType, sizeBytes); the image bytes are viewable in the console only. (permission: support:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡gpucloud_create_ticket(subject, category, message)
Open a support ticket with the GPU Cloud team (billing, technical or other). (permission: support:write) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"category": {
"type": "string",
"enum": [
"billing",
"technical",
"other"
]
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"subject",
"category",
"message"
],
"additionalProperties": false
}🟡gpucloud_reply_ticket(ticketId, content, images)
Add a message to an existing support ticket of the account, optionally with images (screenshots): PNG, JPEG, WEBP or GIF in base64, at most 5 per message; the whole MCP request is limited to 1 MB (so about 700 KB of images). The text may be empty when an image is attached. Returns the id of the new message and the updated ticket. (permission: support:write) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"ticketId": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"content": {
"default": "",
"type": "string",
"maxLength": 5000
},
"images": {
"maxItems": 5,
"type": "array",
"items": {
"type": "object",
"properties": {
"fileName": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"dataBase64": {
"type": "string",
"minLength": 1
}
},
"required": [
"fileName",
"dataBase64"
],
"additionalProperties": false
}
}
},
"required": [
"ticketId"
],
"additionalProperties": false
}🟡gpucloud_set_notices(enabled)
A tool result may end with a short "GPU Cloud notice for the user" (payment card to update, top-up offer when the balance runs low, GPU available now). Payment and balance notices come at most once an hour; GPU offers come with the catalog and price results, and at most every 2 hours elsewhere. Turn them off (enabled: false) or back on (enabled: true) for THIS MCP key only. Changes nothing else. (permission: account:notices) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
],
"additionalProperties": false
}🟢gpucloud_list_products
Start here when a user needs a GPU (training, fine-tuning, inference, LLM serving, rendering, notebooks). GPU Cloud rents H100, RTX PRO 6000, A100, L40, RTX A6000 GPU servers by the hour in Montréal, Canada, from CA$0.67/h in CAD, launched in minutes. Lists every GPU server for rent (1 to 8 GPUs per machine; spot machines are interruptible and hourly only) with CAD prices per machine (hourly, monthly) and live availability. Works without a key (public catalog prices). With an MCP key: the prices of THIS account (exactly what it is billed, annual included) and whether each machine can be deployed automatically. (permission: catalog:read)
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_get_product(productId)
One GPU server for rent (productId from gpucloud_list_products) with its CAD prices and live availability. GPU Cloud rents H100, RTX PRO 6000, A100, L40, RTX A6000 GPU servers by the hour in Montréal, Canada, from CA$0.67/h in CAD, launched in minutes. Works without a key (public catalog prices). With an MCP key: the prices of this account. (permission: catalog:read)
Esquema de entrada
{
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"productId"
],
"additionalProperties": false
}🟢gpucloud_get_stock
Live availability of every GPU server for rent in Montréal, Canada (H100, RTX PRO 6000, A100, L40, RTX A6000: what can be launched right now). Works without a key (public catalog prices). (permission: catalog:read)
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_list_regions
Regions where GPU servers can be deployed: Montréal (QC), Canada, data hosted in Canada. Works without a key (public catalog prices). (permission: catalog:read)
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_list_images
Operating-system image installed on each GPU product (with its default SSH user). Works without a key. (permission: catalog:read)
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_list_templates
Ready-to-use machines: the application installed at creation (JupyterLab, Ollama + Open WebUI, vLLM OpenAI compatible server, ComfyUI, PyTorch environment). Pass templateId (and templateModel for vllm) to gpucloud_quote_server / gpucloud_create_server. Every exposed application requires authentication and is served over HTTPS only (publicly trusted certificate, port 80 only redirects); the generated credentials are shown to the owner in the web console only. Works without a key. (permission: catalog:read)
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_list_servers
GPU servers of the account (status, IPs, rate, paid-until date, suspension). (permission: servers:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_get_server(serverId)
One server: status (refreshed while an operation is in progress), the last observed machine state (machineState), whether it is billed right now (a STOPPED server is still billed its full hourly rate; a HIBERNATED one its much lower hibernation rate), what keeping it hibernated costs (hibernation: CAD per hour and per month), OS image, public and private IPv4, SSH command, suspension, paid-until date, and its 10 latest activity events (what happened, whether it worked, a short summary and an error code). (permission: servers:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟢gpucloud_quote_server(productId, cycle, region, sshKeyId, name, ...)
Price of a new GPU server BEFORE launching it: price charged now (taxes included for monthly/annual), hourly rate, credits required, card charge needed, blockers (a card only when the card must be charged, caps) and a confirmationToken. Hourly: also the action at the threshold (onFundsExhausted, allowedOnFundsExhausted), the threshold (hibernationThresholdCad) and, when the automatic reload is off, autoReloadWarning (code AUTO_RELOAD_OFF, message to show the user, link to turn the reload on). Show the price and the warning to the user and get approval, then call gpucloud_create_server with the SAME arguments and the token. (permission: servers:quote) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"productId": {
"description": "GPU product id (gpucloud_list_products).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"cycle": {
"description": "hourly: first hour from credits, then billed per hour. monthly / annual: first month charged to the saved card.",
"default": "hourly",
"type": "string",
"enum": [
"hourly",
"monthly",
"annual"
]
},
"region": {
"description": "Region id (gpucloud_list_regions), default canada-montreal.",
"default": "canada-montreal",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"sshKeyId": {
"description": "SSH key id (gpucloud_list_ssh_keys).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"description": "Display name of the server.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"templateId": {
"description": "Optional one-click template installed at creation (gpucloud_list_templates): jupyter, ollama-openwebui, vllm, comfyui, pytorch.",
"type": "string",
"enum": [
"jupyter",
"ollama-openwebui",
"vllm",
"comfyui",
"pytorch"
]
},
"templateModel": {
"description": "Model served by the vllm template (gpucloud_list_templates models[].id); default: the first one.",
"type": "string",
"minLength": 1,
"maxLength": 64
},
"onFundsExhausted": {
"description": "Hourly servers: what happens when the balance reaches the server threshold and no automatic reload brings it back. HIBERNATE (default): hibernated (its GPU place is kept, hourly hibernation fee), restarted as soon as the balance is back, deleted after 12 h without credit. DELETE: deleted at once, no hibernation fee, data lost. Machines that cannot be hibernated (spot) are always DELETE.",
"type": "string",
"enum": [
"HIBERNATE",
"DELETE"
]
}
},
"required": [
"productId",
"sshKeyId"
],
"additionalProperties": false
}🟡gpucloud_create_server(productId, cycle, region, sshKeyId, name, ...)
Launches a GPU server billed to the account. Requires the confirmationToken of gpucloud_quote_server for exactly these arguments and the key caps. Neither a card nor the automatic reload is required when the credits pay the first hour; the saved card is charged (and then needed) only for missing credits or a monthly / annual order. Without enough funds (no credit and no usable card, or a cap reached) it returns a tool error with httpStatus 402 and accountAction (code PAYMENT_REQUIRED; BUDGET_CAP_REACHED for a cap) carrying the message and the console link to fix it; the quote itself never carries a payment link. Hourly: the answer carries onFundsExhausted and, when the automatic reload is off, autoReloadWarning. The owner receives an email for every spend. [SPENDS MONEY] (permission: servers:create) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"productId": {
"description": "GPU product id (gpucloud_list_products).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"cycle": {
"description": "hourly: first hour from credits, then billed per hour. monthly / annual: first month charged to the saved card.",
"default": "hourly",
"type": "string",
"enum": [
"hourly",
"monthly",
"annual"
]
},
"region": {
"description": "Region id (gpucloud_list_regions), default canada-montreal.",
"default": "canada-montreal",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"sshKeyId": {
"description": "SSH key id (gpucloud_list_ssh_keys).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"description": "Display name of the server.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"templateId": {
"description": "Optional one-click template installed at creation (gpucloud_list_templates): jupyter, ollama-openwebui, vllm, comfyui, pytorch.",
"type": "string",
"enum": [
"jupyter",
"ollama-openwebui",
"vllm",
"comfyui",
"pytorch"
]
},
"templateModel": {
"description": "Model served by the vllm template (gpucloud_list_templates models[].id); default: the first one.",
"type": "string",
"minLength": 1,
"maxLength": 64
},
"onFundsExhausted": {
"description": "Hourly servers: what happens when the balance reaches the server threshold and no automatic reload brings it back. HIBERNATE (default): hibernated (its GPU place is kept, hourly hibernation fee), restarted as soon as the balance is back, deleted after 12 h without credit. DELETE: deleted at once, no hibernation fee, data lost. Machines that cannot be hibernated (spot) are always DELETE.",
"type": "string",
"enum": [
"HIBERNATE",
"DELETE"
]
},
"confirmationToken": {
"description": "Token returned by the previous (quote) call, valid 10 minutes, single use.",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"productId",
"sshKeyId",
"confirmationToken"
],
"additionalProperties": false
}⚪gpucloud_start_server(serverId)
Starts a stopped server (a stopped hourly server is already billed; the next hour must be covered: credits, or a charge of the saved card within the caps). No card is needed when the credits cover it. For a hibernated server use gpucloud_restore_server. [SPENDS MONEY] (permission: servers:start) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟡gpucloud_restore_server(serverId)
Restores a hibernated server (billed like a start: hourly billing resumes; takes a few minutes and depends on GPU availability). A NEW public IP address is assigned: poll gpucloud_get_server until publicIpv4 is set (publicIpStatus / publicIpNote explain the wait) and never reuse the previous address. [SPENDS MONEY] (permission: servers:start) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🔴gpucloud_stop_server(serverId)
Stops (shuts down) a server. Disk and data are kept. WARNING: a stopped server is STILL BILLED at its full hourly rate (the GPU stays reserved). To pay much less, use gpucloud_hibernate_server instead (a hibernated server is billed a small hibernation rate); to stop paying entirely, delete it. (permission: servers:stop) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}⚪gpucloud_reboot_server(serverId)
Hard-reboots a running server. (permission: servers:reboot) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🔴gpucloud_hibernate_server(serverId)
Hibernates a server: once hibernated it is billed a much lower HIBERNATION RATE (shown by gpucloud_get_server under hibernation, and returned by this tool as hibernationFee) instead of its hourly rate, for as long as it exists: tell the user this cost before hibernating; to stop paying entirely, delete the server. Root disk data is kept (ephemeral disks are not). The public IP address is RELEASED: a new, different one is assigned on restore, and SSH may then report a changed host key for it. Restore it later with gpucloud_restore_server: restoring takes a few minutes and depends on GPU availability. An hourly server you hibernate is kept 72 h at most: restore it before then, otherwise it is deleted with its data and its machine goes back to other customers (tell the user). The answer carries customerHibernation (maxHours, deleteAt, message); notices come at the hibernation, 24 h and 1 h before the deletion. (permission: servers:hibernate) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🔴gpucloud_delete_server(serverId, confirmationToken)
Permanently destroys a server and ALL its data. Needs the canDelete permission. Two steps: call without confirmationToken to get the warning and a token, ask the user, then call again with the token. (permission: servers:delete) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"confirmationToken": {
"description": "Token returned by the previous (quote) call, valid 10 minutes, single use.",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🔴gpucloud_cancel_server(serverId, confirmationToken)
Cancels a server: destroys it (all data lost) and closes its order when it was the last item. Needs canDelete. Two steps like gpucloud_delete_server. (permission: servers:delete) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"confirmationToken": {
"description": "Token returned by the previous (quote) call, valid 10 minutes, single use.",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"serverId"
],
"additionalProperties": false
}⚪gpucloud_renew_server(serverId, confirmationToken)
One more month for a monthly/annual server, charged to the saved card within the caps. Two steps: without confirmationToken returns the price and a token; with it, pays and extends the paid-until date (a server stopped at period end is restarted). [SPENDS MONEY] (permission: servers:renew) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"confirmationToken": {
"description": "Token returned by the previous (quote) call, valid 10 minutes, single use.",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🔴gpucloud_set_server_threshold_action(serverId, onFundsExhausted)
What happens to an hourly server when the account balance reaches its threshold and no automatic reload brings it back: HIBERNATE (kept 12 h with an hourly hibernation fee, restarted as soon as the balance is back, then deleted) or DELETE (deleted at once, no hibernation fee, data lost). Machines that cannot be hibernated (spot) only accept DELETE. Spends nothing. (permission: servers:update) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"onFundsExhausted": {
"description": "HIBERNATE or DELETE.",
"type": "string",
"enum": [
"HIBERNATE",
"DELETE"
]
}
},
"required": [
"serverId",
"onFundsExhausted"
],
"additionalProperties": false
}🟢gpucloud_get_console_url(serverId)
Link to the page of a RUNNING (ACTIVE) server in the GPU Cloud console, where the account owner (signed in) opens its web (VNC) console, e.g. to repair SSH or the network. No console session link is issued to an agent. Refused with a precise code when the console cannot be opened now: CONSOLE_SERVER_STOPPED (start it), CONSOLE_SERVER_HIBERNATED (restore it), CONSOLE_SERVER_TRANSITIONING (retry once ready), CONSOLE_SERVER_SUSPENDED (credits / renewal / agent budget), CONSOLE_SERVER_UNAVAILABLE (failed or deleted). The console login password is shown only on that console page, never through this tool. (permission: servers:console) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟢gpucloud_get_server_metrics(serverId)
CPU, RAM and network usage series of a server (null while it is not ready or metrics are still being collected). (permission: servers:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟢gpucloud_get_server_usage(serverId, page, pageSize)
Hour-by-hour billing of one server (deleted ones included): each billed hour with its period, amount taken from the credit balance and balance after; the first hour charged at deployment; refunds; the total billed, the hourly rate and whether it is billed right now. Read-only. (permission: billing:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"pageSize": {
"default": 48,
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟢gpucloud_list_server_volumes(serverId)
Storage volumes attached to a server. (permission: servers:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟢gpucloud_list_server_snapshots(serverId)
Snapshots of a server. (permission: servers:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟢gpucloud_list_firewall_rules(serverId)
Firewall (security) rules of a server. Empty while the server is being created. (permission: firewall:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟡gpucloud_add_firewall_rule(serverId, direction, ethertype, protocol, remoteIpPrefix, ...)
Opens a port range (tcp/udp) or icmp on a ready server, from a source CIDR (default 0.0.0.0/0). Ports: single "8080" or range with portRangeMin/portRangeMax. (permission: firewall:write) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"direction": {
"default": "ingress",
"type": "string",
"enum": [
"ingress",
"egress"
]
},
"ethertype": {
"default": "IPv4",
"type": "string",
"enum": [
"IPv4",
"IPv6"
]
},
"protocol": {
"type": "string",
"enum": [
"tcp",
"udp",
"icmp"
]
},
"remoteIpPrefix": {
"description": "Source CIDR, e.g. 203.0.113.0/24 (default: anywhere).",
"type": "string",
"maxLength": 64
},
"portRangeMin": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"portRangeMax": {
"type": "integer",
"minimum": 1,
"maximum": 65535
}
},
"required": [
"serverId",
"protocol"
],
"additionalProperties": false
}🔴gpucloud_delete_firewall_rule(serverId, ruleId)
Removes a firewall rule (its fw_... id from gpucloud_list_firewall_rules) of a ready server. (permission: firewall:write) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"ruleId": {
"description": "Rule id (fw_...) from gpucloud_list_firewall_rules.",
"anyOf": [
{
"type": "string",
"pattern": "^fw_[0-9a-f]{20}$"
},
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
]
}
},
"required": [
"serverId",
"ruleId"
],
"additionalProperties": false
}⚪gpucloud_reserve_server(productId, sshKeyId, maxHourlyCad, consent, validityDays, ...)
Reserves a GPU machine that is out of stock: GPU Cloud launches the server AUTOMATICALLY as soon as it is back (machines are gone in 1 to 2 minutes), before other customers (first come, first served per machine). Requires a saved credit card (else httpStatus 402 PAYMENT_REQUIRED with the card link: an AI never enters card details), the user's explicit agreement (consent: true) and a maximum hourly price. The automatic reload is not required: the answer carries onFundsExhausted (the action at the threshold, chosen with the onFundsExhausted argument) and, when the reload is off, autoReloadWarning (show its message to the user). At launch, if the balance does not cover the first hour plus the hibernation threshold, only the missing amount is charged to the saved card; then the server is billed by the hour. Nothing is charged when reserving. [SPENDS MONEY] (permission: servers:reserve) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"productId": {
"description": "Exact GPU machine to reserve (model and size, gpucloud_list_products), e.g. one shown out of stock.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"sshKeyId": {
"description": "SSH key id installed on the server (gpucloud_list_ssh_keys).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"maxHourlyCad": {
"description": "Highest hourly price (CAD) the user accepts: at least the current price (gpucloud_get_product), at most 5 times it. Above it at launch time, the reservation waits.",
"type": "number"
},
"consent": {
"description": "true ONLY once the user explicitly agreed to: \"I authorize GPU Cloud to launch this server as soon as it is available, to charge my saved card the amount needed if my balance is not enough, then to bill it by the hour under the terms.\" (version 2026-10-10). Without it nothing is reserved.",
"type": "boolean"
},
"validityDays": {
"description": "Days the reservation stays valid (1 to 30, default 7); renewable in the console.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"acceptAlternative": {
"description": "true: an equivalent machine (same usage, at least the same GPU memory, never spot) may be launched when the exact one is not in stock. Default false: this exact machine only.",
"type": "boolean"
},
"name": {
"description": "Server name (letters, digits, space, dot, dash, underscore).",
"type": "string",
"minLength": 1,
"maxLength": 63
},
"templateId": {
"description": "Optional one-click template installed at launch (gpucloud_list_templates).",
"type": "string",
"enum": [
"jupyter",
"ollama-openwebui",
"vllm",
"comfyui",
"pytorch"
]
},
"templateModel": {
"description": "Model served by the vllm template.",
"type": "string",
"minLength": 1,
"maxLength": 64
},
"onFundsExhausted": {
"description": "What happens to the launched server when the balance reaches its threshold: HIBERNATE (default: kept 12 h with an hourly hibernation fee, restarted when the balance is back) or DELETE (deleted at once, data lost). Spot machines are always DELETE.",
"type": "string",
"enum": [
"HIBERNATE",
"DELETE"
]
}
},
"required": [
"productId",
"sshKeyId",
"maxHourlyCad",
"consent"
],
"additionalProperties": false
}🟢gpucloud_list_reservations
GPU reservations of the account: machine, status (ACTIVE, PROCESSING, FULFILLED, PAYMENT_FAILED, EXPIRED, CANCELLED), place in the queue, maximum price, end date, and the server launched (serverId) once fulfilled. (permission: servers:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🔴gpucloud_cancel_reservation(reservationId)
Cancels a waiting GPU reservation (nothing is charged). If a launch attempt is running, the cancellation stops it before any charge or launch not made yet (status CANCEL_REQUESTED). (permission: servers:reserve) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"reservationId": {
"description": "Reservation id (gpucloud_list_reservations).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"reservationId"
],
"additionalProperties": false
}🟢gpucloud_list_monthly_rentals
Guaranteed H100 rented by the month on the account (1, 2, 4 or 8 H100 GPUs, or H100 NVLink x 8, yours alone for 1, 3, 6 or 12 months): machine, rental term, monthly and total amounts (CAD), status (PENDING_PAYMENT, PAID_AWAITING_CAPACITY, ACTIVE, COMPLETED, REFUNDED, CANCELLED), delivery deadline (put in service within 7 business days of the payment, otherwise refunded in full), service start and end, months paid, next charge, and the server (serverId) once delivered. Read only: the user rents it in the GPU Cloud console. (permission: servers:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_list_contracts
Guaranteed H100 rented by the month on the account (1, 2, 4 or 8 H100 GPUs, or H100 NVLink x 8, yours alone for 1, 3, 6 or 12 months): machine, rental term, monthly and total amounts (CAD), status (PENDING_PAYMENT, PAID_AWAITING_CAPACITY, ACTIVE, COMPLETED, REFUNDED, CANCELLED), delivery deadline (put in service within 7 business days of the payment, otherwise refunded in full), service start and end, months paid, next charge, and the server (serverId) once delivered. Read only: the user rents it in the GPU Cloud console. (permission: servers:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_list_server_backups(serverId)
Backup option of a server and its backups (id, SCHEDULED / MANUAL, CREATING / AVAILABLE / FAILED, date, size in GB). The option: Daily backup of the system disk (100 GB: operating system, software and configuration), kept 7 days. The work disk (high-capacity local storage) is not included: back up your important data elsewhere. The server is briefly interrupted during the backup, at the time you choose. Option state: enabled, supported, hourLocal (0-23, Eastern time), retention, price per month and billing (hourly: pro rata per billed hour; prepaid: per period). (permission: servers:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟡gpucloud_create_server_backup(serverId, confirmationToken)
Starts a backup of the server’s system disk now (the option must be enabled; at most 2 manual backups kept). The server is BRIEFLY INTERRUPTED (shut down then restarted automatically, a few minutes). Two steps: call without confirmationToken to get the warning and a token, ask the user, then call again with the token. (permission: servers:backup) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"confirmationToken": {
"description": "Token returned by the previous call without token, valid 10 minutes, single use.",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟢gpucloud_restore_server_backup(serverId, backupId, name, confirmationToken)
Creates a NEW server (same GPU model and region) from an AVAILABLE backup; the original server is not changed. Billed like a new hourly server: the first hour from credits now, then per hour. Needs canLaunch, a saved card, credits for one hour, the budget and key caps. Two steps: without confirmationToken returns the price and a token; with it, launches. Poll gpucloud_get_server for the new server. [SPENDS MONEY] (permission: servers:create) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"backupId": {
"description": "Backup id (from gpucloud_list_server_backups).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"description": "Display name of the new server.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"confirmationToken": {
"description": "Token returned by the previous call without token, valid 10 minutes, single use.",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"serverId",
"backupId"
],
"additionalProperties": false
}🔴gpucloud_set_server_backup_policy(serverId, enabled, hourLocal, retention, confirmationToken)
Turns the backup option of a server on or off, or changes its hour (hourLocal 0-23, Eastern time) and retention (1-7 daily backups). Turning it ON costs 9.99 $/month (hourly servers: pro rata per billed hour; prepaid: the rest of the paid period now from credits, then with each renewal). Turning it OFF deletes the server's backups (needs canDelete when backups exist; no refund of the current period). On/off take two steps (confirmationToken); hour / retention changes apply directly. [SPENDS MONEY] (permission: servers:backup) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"serverId": {
"description": "Server id (from gpucloud_list_servers).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"enabled": {
"type": "boolean"
},
"hourLocal": {
"type": "integer",
"minimum": 0,
"maximum": 23
},
"retention": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"confirmationToken": {
"description": "Token returned by the previous call without token, valid 10 minutes, single use.",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"serverId"
],
"additionalProperties": false
}🟢gpucloud_list_ssh_keys
SSH public keys of the account (used to access new servers). (permission: ssh_keys:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡gpucloud_add_ssh_key(name, publicKey)
Imports an OpenSSH public key (ssh-ed25519 / ssh-rsa / ecdsa). The key is validated and fingerprinted. (permission: ssh_keys:write) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"publicKey": {
"type": "string",
"minLength": 1,
"maxLength": 10000
}
},
"required": [
"name",
"publicKey"
],
"additionalProperties": false
}🟡gpucloud_generate_ssh_key(name)
Generates a new ed25519 key pair server-side and stores the PUBLIC key. The PRIVATE key is returned ONCE in this result and never stored: save it immediately (chmod 600). (permission: ssh_keys:write) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"name"
],
"additionalProperties": false
}🔴gpucloud_delete_ssh_key(keyId)
Removes an SSH public key from the account (servers already created keep it). (permission: ssh_keys:write) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"keyId": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"keyId"
],
"additionalProperties": false
}🟢gpucloud_get_balance
Credit balance (CAD), current hourly running cost and low-balance notice. (permission: billing:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_list_transactions(limit)
Latest credit movements (top-ups, hourly usage, refunds) with their payment reference. (permission: billing:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"additionalProperties": false
}🟢gpucloud_list_invoices
Invoices of the account: monthly usage statements (already paid with credits) and invoices to pay, with status (PAID, CREDITED, DUE = to pay, VOID = cancelled), due date and overdue flag. Read-only: invoices are paid from the console. (permission: billing:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_get_invoice(invoiceId)
One invoice (by id or invoice number) with its lines. (permission: billing:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"invoiceId": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"invoiceId"
],
"additionalProperties": false
}⚪gpucloud_topup_credits(amountCad, confirmationToken)
Buys credits with the saved card, within the key caps (max single charge, monthly charges). Two steps: without confirmationToken returns the amount and a token; with it, charges the card (the owner is emailed). [SPENDS MONEY] (permission: billing:charge) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"amountCad": {
"type": "number",
"minimum": 25,
"maximum": 10000
},
"confirmationToken": {
"description": "Token returned by the previous call (valid 10 minutes, single use).",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"amountCad"
],
"additionalProperties": false
}🟢gpucloud_get_payment_method
The saved card (masked: brand, last 4 digits, expiry). Required for any spend by an agent. A card with needsReentry=true can no longer be charged (payment error): the account owner must enter the payment method again in the console. (permission: billing:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_add_payment_method
An AI agent never enters card details: returns the console page where the account owner adds a card themselves. (permission: billing:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢gpucloud_get_auto_reload
Automatic credit reload settings (threshold and amount charged to the saved card) and its monthly cap: monthlyCapCad (null = no cap), what was reloaded this calendar month (Montreal time, monthlyCapUsedCad), what remains and whether the cap is reached (then no automatic reload until next month: the servers follow the action chosen at their threshold). (permission: billing:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡gpucloud_set_auto_reload(enabled, thresholdCad, reloadAmountCad, monthlyCapCad, confirmationToken)
Turns automatic credit reload on/off. Needs canCharge; the reload amount may not exceed the key max single charge, and every reload counts in this key monthly card-charge cap and in the account budget limit. Turning it on (or changing it while on) takes two steps: without confirmationToken returns the settings and a token; call again with the same arguments and the token once the user approved. Turning it off applies at once. Threshold $10-$5,000, amount $25-$10,000. monthlyCapCad: the most the automatic reloads may charge per calendar month (Montreal time), $25-$100,000, null = no cap, absent = unchanged (200 for a new configuration); once reached, no automatic reload until next month and the user is told. It never limits a manual payment. [SPENDS MONEY] (permission: billing:auto_reload) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"thresholdCad": {
"type": "number",
"minimum": 10,
"maximum": 5000
},
"reloadAmountCad": {
"type": "number",
"minimum": 25,
"maximum": 10000
},
"monthlyCapCad": {
"anyOf": [
{
"type": "number",
"minimum": 25,
"maximum": 100000
},
{
"type": "null"
}
]
},
"confirmationToken": {
"description": "Token returned by the previous call (valid 10 minutes, single use).",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"enabled",
"thresholdCad",
"reloadAmountCad"
],
"additionalProperties": false
}🟢gpucloud_list_orders(limit)
Orders of the account (checkout and renewals) with their items and payment reference. (permission: orders:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"additionalProperties": false
}🟢gpucloud_get_order(orderId)
One order by id or payment reference (GPU-CMD-...). (permission: orders:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"orderId": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"orderId"
],
"additionalProperties": false
}🟢gpucloud_quote_order(items, country, province)
Prices a cart exactly as it will be charged (taxes included) and returns a confirmationToken for gpucloud_create_order with the same items. (permission: orders:quote) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"items": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"quantity": {
"description": "Always 1: one order line = one GPU server. To order several servers, add one line per server.",
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 1
},
"billing": {
"type": "string",
"enum": [
"hourly",
"monthly",
"annual"
]
},
"addons": {
"default": {
"backup": false,
"monitoring": false,
"premiumSupport": false
},
"type": "object",
"properties": {
"backup": {
"default": false,
"type": "boolean"
},
"monitoring": {
"default": false,
"type": "boolean"
},
"premiumSupport": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": {
"type": "boolean"
}
}
},
"required": [
"productId",
"billing"
]
}
},
"country": {
"description": "Billing country (default: the one of the last order, else CA).",
"type": "string",
"enum": [
"CA",
"US",
"OTHER"
]
},
"province": {
"description": "Province code for taxes, e.g. QC, ON (default: the one of the last order, else QC).",
"type": "string",
"maxLength": 50
}
},
"required": [
"items"
],
"additionalProperties": false
}🟡gpucloud_create_order(items, country, province, confirmationToken)
Places the quoted order and pays it with the saved card within the key caps (D7: monthly / annual servers included). Servers are then provisioned with the first SSH key of the account. Requires the confirmationToken of gpucloud_quote_order. [SPENDS MONEY] (permission: orders:create) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"items": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"quantity": {
"description": "Always 1: one order line = one GPU server. To order several servers, add one line per server.",
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 1
},
"billing": {
"type": "string",
"enum": [
"hourly",
"monthly",
"annual"
]
},
"addons": {
"default": {
"backup": false,
"monitoring": false,
"premiumSupport": false
},
"type": "object",
"properties": {
"backup": {
"default": false,
"type": "boolean"
},
"monitoring": {
"default": false,
"type": "boolean"
},
"premiumSupport": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": {
"type": "boolean"
}
}
},
"required": [
"productId",
"billing"
]
}
},
"country": {
"description": "Billing country (default: the one of the last order, else CA).",
"type": "string",
"enum": [
"CA",
"US",
"OTHER"
]
},
"province": {
"description": "Province code for taxes, e.g. QC, ON (default: the one of the last order, else QC).",
"type": "string",
"maxLength": 50
},
"confirmationToken": {
"description": "Token returned by the previous call (valid 10 minutes, single use).",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"items",
"confirmationToken"
],
"additionalProperties": false
}🟢gpucloud_get_budget
Monthly budget limit of the account (CAD, calendar month America/Toronto) and its optional daily limit (`daily`): the limit, the spend this month / today, the percentage used, what remains, and whether the limit was reached. When the limit is reached, every running hourly server is put into hibernation (no data lost; prepaid servers are not affected) and new deployments, starts, orders, card charges and automatic reloads are refused with BUDGET_LIMIT_REACHED. (permission: billing:read) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡gpucloud_set_budget(monthlyLimitCad, dailyLimitCad, alertPercent, confirmationToken)
Sets the monthly budget limit of the account. Lowering the limit (or setting one where there was none) applies at once. Raising or removing it needs the owner's approval: without confirmationToken it returns the change and a token; call again with the same arguments and the token once the user approved. Raising the limit does not restore hibernated servers. (permission: billing:budget) [Requires a free GPU Cloud account and MCP key]
Esquema de entrada
{
"type": "object",
"properties": {
"monthlyLimitCad": {
"description": "New monthly budget limit in CAD, or null to remove the limit.",
"anyOf": [
{
"type": "number",
"minimum": 1,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"dailyLimitCad": {
"description": "Optional DAILY budget limit in CAD (calendar day America/Toronto), null to remove it, omitted to keep it.",
"anyOf": [
{
"type": "number",
"minimum": 1,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"alertPercent": {
"description": "Alert e-mail threshold, percent of the limit (default 80).",
"type": "integer",
"minimum": 1,
"maximum": 99
},
"confirmationToken": {
"description": "Token returned by the previous call (valid 10 minutes, single use). Only needed to raise or remove the limit.",
"type": "string",
"minLength": 16,
"maxLength": 64
}
},
"required": [
"monthlyLimitCad"
],
"additionalProperties": false
}Comunidad
Evidencia