GPU Economy - cloud GPU prices
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Hourly cloud GPU prices from 60+ providers: find, compare, cost and track GPUs.
| Author | io.github.laserodds21 |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2770 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"GPU Economy - cloud GPU prices": {
"url": "https://gpueconomy.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (16)
list_gpusread-onlyEvery GPU model tracked, with its id, VRAM, how many providers list it and the median on-demand rate card in USD per GPU-hour.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
gpu_pricesread-onlyCurrent listed rental prices for one GPU model across providers, cheapest first, in USD per GPU-hour, each with the time it was read and the GPU Economy page that links its source. Live quotes only.
Parameters:
gpu(required) — string — GPU id (h100-sxm, h200, b200, rtx-4090) or a name ("H100 SXM", "RTX 4090").limit— integer — Rows to return, cheapest first; default 10.market— string — Market to keep; default on_demand. "any" keeps spot, community, serverless and reserved too.region— string — Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
provider_pricesread-onlyEvery current listed rental price at one provider (runpod, lambda, aws, vast-ai, ...), in USD per GPU-hour, each with its read time and the GPU Economy page that links its source. Live quotes only.
Parameters:
provider(required) — string — Provider id (runpod, lambda, coreweave, aws, azure, gcp, vast-ai) or its name.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
price_indexread-onlyThe Cloud GPU Price Index: median listed on-demand H100 SXM rate across providers, this week and the last eight weeks, with the base-100 index and the receipts; also the newest hourly point and the monthly averages over a fixed panel.
Parameters:
window— string — Which window leads the answer; default week. Every answer carries the newest value of each.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
recent_price_changesread-onlyListed prices that changed in the last 30 days, one row per quote, newest change first: the figure before its first change in the window, the figure now, and how many times it changed. A quote back at its starting figure is left out, and so are marketplace floors unless asked for. Optionally for one GPU or one provider.
Parameters:
gpu— string — Optional GPU id or name.limit— integer — Rows; default 20.provider— string — Optional provider id or name.include_marketplaces— boolean — Also list marketplace floors (Vast.ai), which move with every read; default false.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
find_gpusread-onlyGPU models that meet a memory and price requirement, cheapest first: for each card its cheapest live on-demand rate card (provider, read time, page), its median rate card and panel size, VRAM and price per GB of VRAM. Community capacity and marketplace floors are out unless the market is set.
Parameters:
limit— integer — Cards to return; default 10.market— string — Market of the cheapest rate; default on_demand.region— string — Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any.vendor— string — Default any.min_vram_gb— number — Least memory per GPU, in GB (24, 48, 80, 141...). Default 0.max_usd_per_gpu_hour— number — Highest acceptable rate per GPU-hour, compared with each card's cheapest rate. Optional.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
compare_gpusread-onlyTwo GPU models side by side: VRAM, median rate card and panel size, cheapest on-demand rate, price per GB of VRAM, retail median where one exists, and every provider that lists both on-demand with the signed difference. Live quotes only.
Parameters:
a(required) — string — First GPU id or name (h100-sxm, "H200").b(required) — string — Second GPU id or name.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
compare_providersread-onlyTwo providers on every GPU both list on-demand today: each side's cheapest on-demand rate card, the difference and which is lower, and the count. Community capacity and marketplace floors are left out of the comparison. Live quotes only.
Parameters:
a(required) — string — First provider id or name (runpod, lambda, "Google Cloud").b(required) — string — Second provider id or name.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
estimate_costread-onlyWhat N GPUs of one model cost for a number of hours at listed rates: at each of the cheapest rate cards and at the median rate card, with the arithmetic. Rental fee only - storage, network egress, taxes and idle time are not counted - and listed rates, not availability.
Parameters:
gpu(required) — string — GPU id or name.gpus— integer — How many GPUs; default 1.hours— number — Hours of use; default 730 (a month around the clock).limit— integer — Cheapest rate cards to price; default 5.market— string — Market; default on_demand.region— string — Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
price_historyread-onlyWeekly median and cheapest listed on-demand rate for one GPU model, newest week first, from two sources kept apart: our own hourly reads, and a series reconstructed from a public price catalog (second-hand). Each week carries its panel size; read a median against it.
Parameters:
gpu(required) — string — GPU id or name.weeks— integer — Weeks per source, newest first; default 12.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
commitment_savingsread-onlyCommitted and spot rates for one GPU (or every GPU) set against the same provider's own on-demand rate for the same card, region and price scope - the pairs behind the site's typical discount - with the median per term across every card. A commitment is paid whether the GPU runs or not.
Parameters:
gpu— string — Optional GPU id or name; without it, every card.term— string — Which market to pair; default any (1-year, 3-year and spot).limit— integer — Pairs to return, largest saving first; default 15.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
provider_inforead-onlyOne provider: its type (hyperscaler, specialist GPU cloud or marketplace), the regions or tiers it names, how GPU Economy reads its prices (pricing page, API or rendered page), how many GPU models and live quotes it has, a one-line note for a reader, its cheapest on-demand rate per card, and what it bills beyond the GPU-hour where read (what the rate includes, data out, storage, stopped instances, billing step). Links its GPU Economy page.
Parameters:
provider(required) — string — Provider id or name (runpod, "Google Cloud", vast-ai).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
token_costread-onlyModelled, not measured: a listed GPU-hour rate divided by the output throughput NVIDIA published for that card and model, per million output tokens, at the cheapest live on-demand rate card and at the median, with NVIDIA's run (model, framework, precision, sequence, concurrency, date). Cards are not comparable on it - NVIDIA runs each card differently - and an idle GPU costs the same and produces nothing: a floor, never a bill.
Parameters:
gpu(required) — string — GPU id or name; NVIDIA publishes runs for B200, B300, H100 SXM, H200 and RTX PRO 6000.model— string — Optional model name to keep (gpt-oss-120b, "Qwen 3.5"); default every model NVIDIA ran on the card.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
buy_vs_rentread-onlyA card's new retail price (median of 3+ sellers) against its live on-demand rental rates: months of rental, at the cheapest rate card and at the median, that equal the purchase price, at 100%, 70%, 50% and 25% of a 730-hour month. Rental fee only - power, hosting, the server around the card and resale are not counted. Without gpu, every card that has a retail median.
Parameters:
gpu— string — GPU id or name, e.g. rtx-4090; omit for every card with a retail median.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
searchread-onlyFind GPU Economy pages for a query - a GPU, a provider, the price index, reserved rates, buy vs rent. Returns ids for fetch, with each page's title and URL.
Parameters:
query(required) — string — What to look for, e.g. "H100 SXM", "runpod", "reserved H200", "price index".
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
fetchread-onlyThe text of one GPU Economy page by an id from search (gpu:h100-sxm, provider:runpod, index:h100, reserved, buy-vs-rent): its live rates with read times, as plain text, with the page URL to cite.
Parameters:
id(required) — string — An id from search.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.