GPU Economy
Current cloud GPU rental prices from 80+ providers (AWS, Azure, GCP, Lambda, CoreWeave, RunPod, Vast.ai...) in USD per GPU-hour, read hourly: find, compare, cost and track GPUs. Each price carries its read time and the page that links its source. Free, no key.
Hosted MCP Server
npx add-mcp 'https://gpueconomy.com/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
GPU prices for AI agents: the MCP server
The same prices as this site, as tools an AI agent can call. https://gpueconomy.com/mcp is a read-only Model Context Protocol server: no key, no account, free. As of October 26, 2026 it answers from 1056 live rates at 105 providers across 81 GPU models, and every price comes with the page it was read from and the time it was read. Version 1.5.1: 16 tools, 4 prompts and the data files as resources.
Install in one click
- Claude (claude.ai, Claude Desktop, mobile, Claude Code): GPU Economy is in the Connectors Directory since September 30, 2026. Open Customize → Connectors, search for GPU Economy and connect. No account with us, no key.
- Cursor: Add GPU Economy to Cursor (opens Cursor and adds the server).
- VS Code (Copilot agent mode): Add GPU Economy to VS Code, or to VS Code Insiders (opens VS Code and adds the server).
The links open an app on your computer, so they do nothing on a phone; there, connect it in the Claude app from the directory.
Connect by address
Any other client, or by hand: add a remote MCP server with this address (Streamable HTTP):
https://gpueconomy.com/mcp
- Claude, as a custom connector instead of from the directory: Settings → Connectors → Add custom connector, and paste the address.
- Claude Code:
claude mcp add --transport http gpueconomy https://gpueconomy.com/mcp - ChatGPT, where your plan lets you add a custom connector (MCP): add it with this address. Its
searchandfetchtools take the shape ChatGPT's connectors and deep research call. - VS Code from a terminal:
code --add-mcp '{"name":"gpueconomy","type":"http","url":"https://gpueconomy.com/mcp"}' - Cursor, or any client that reads an
mcp.json:
{
"mcpServers": {
"gpueconomy": {
"url": "https://gpueconomy.com/mcp"
}
}
}
Windsurf (mcp_config.json) names a remote server's address serverUrl:
{
"mcpServers": {
"gpueconomy": {
"serverUrl": "https://gpueconomy.com/mcp"
}
}
}
A client that only starts local servers can reach it through mcp-remote:
{
"mcpServers": {
"gpueconomy": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://gpueconomy.com/mcp"
]
}
}
}
Tools
| Tool | What it answers | Arguments |
|---|---|---|
list_gpus | Every GPU model tracked, with its id, VRAM, how many providers list it and the median on-demand rate card in USD per GPU-hour. | none |
gpu_prices | Current 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. | gpu: GPU id (h100-sxm, h200, b200, rtx-4090) or a name ("H100 SXM", "RTX 4090"). market (optional): Market to keep; default on_demand. "any" keeps spot, community, serverless and reserved too. region (optional): Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any. limit (optional): Rows to return, cheapest first; default 10. |
provider_prices | Every 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. | provider: Provider id (runpod, lambda, coreweave, aws, azure, gcp, vast-ai) or its name. |
price_index | The 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. | window (optional): Which window leads the answer; default week. Every answer carries the newest value of each. |
recent_price_changes | Listed 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. | gpu (optional): Optional GPU id or name. provider (optional): Optional provider id or name. limit (optional): Rows; default 20. include_marketplaces (optional): Also list marketplace floors (Vast.ai), which move with every read; default false. |
find_gpus | GPU 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. | min_vram_gb (optional): Least memory per GPU, in GB (24, 48, 80, 141...). Default 0. max_usd_per_gpu_hour (optional): Highest acceptable rate per GPU-hour, compared with each card's cheapest rate. Optional. vendor (optional): Default any. market (optional): Market of the cheapest rate; default on_demand. region (optional): Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any. limit (optional): Cards to return; default 10. |
compare_gpus | Two 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. | a: First GPU id or name (h100-sxm, "H200"). b: Second GPU id or name. |
compare_providers | Two 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. | a: First provider id or name (runpod, lambda, "Google Cloud"). b: Second provider id or name. |
estimate_cost | What 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. | gpu: GPU id or name. gpus (optional): How many GPUs; default 1. hours (optional): Hours of use; default 730 (a month around the clock). market (optional): Market; default on_demand. region (optional): Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any. limit (optional): Cheapest rate cards to price; default 5. |
price_history | Weekly 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. | gpu: GPU id or name. weeks (optional): Weeks per source, newest first; default 12. |
commitment_savings | Committed 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. | gpu (optional): Optional GPU id or name; without it, every card. term (optional): Which market to pair; default any (1-year, 3-year and spot). limit (optional): Pairs to return, largest saving first; default 15. |
provider_info | One 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. | provider: Provider id or name (runpod, "Google Cloud", vast-ai). |
token_cost | Modelled, 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. | gpu: GPU id or name; NVIDIA publishes runs for B200, B300, H100 SXM, H200 and RTX PRO 6000. model (optional): Optional model name to keep (gpt-oss-120b, "Qwen 3.5"); default every model NVIDIA ran on the card. |
buy_vs_rent | A 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. | gpu (optional): GPU id or name, e.g. rtx-4090; omit for every card with a retail median. |
search | Find 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. | query: What to look for, e.g. "H100 SXM", "runpod", "reserved H200", "price index". |
fetch | The 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. | id: An id from search. |
Prompts and resources
A client that shows prompts offers these four by name; each only asks the model to use the tools above, and the server suggests GPU and provider ids as you type an argument.
| Prompt | What it asks | Arguments |
|---|---|---|
cheapest_gpu_for | Find the cheapest cloud GPU that fits a workload, at the hourly rates GPU Economy read. | workload region (optional) |
compare_clouds | Two providers side by side, card by card, on the GPUs both list. | provider_a provider_b |
budget_workload | The cost of N GPUs for H hours at the cheapest and the median rate card. | gpu gpus (optional) hours (optional) |
gpu_price_trend | How a card's rental price moved, week by week. | gpu |
Resources a client can attach whole: gpus.json, providers.json, price-index.json, token-cost.json, llms.txt; and, by template, gpueconomy://gpu/{gpu} and gpueconomy://provider/{provider} - the live rates of one card, or one provider card by card.
Try it without a client - a tool call is one JSON-RPC request:
curl -s https://gpueconomy.com/mcp -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"gpu_prices","arguments":{"gpu":"h100-sxm","limit":3}}}'
What an answer carries
- A first line in words, and how to cite it. Every answer starts with one sentence - the figure, who lists it, when it was read, the page to cite - and carries
cite_as, a ready citation: GPU Economy, the page, the data date. - The source of every price, one click away. Each row has
scraped_at, the time it was read, andpage, the GPU Economy page that lists the same price beside a link to the provider page or API it was read from. The answer links our pages only - no provider link of its own. Cite that page, and GPU Economy as the compiler. - Live rates only. A price not confirmed in the last 48 hours is left out, as everywhere on this site.
- Listed rates, not availability. A rate is what the provider publishes;
price_scopesays what it covers (a whole instance, the GPU only, a marketplace floor, a “from” price). - Links to our pages are tagged. Links to our pages in an answer carry
utm_source=mcp, so we can tell that a person opened a page from an MCP answer; the citation and the first line keep the plain address. - What the server records. The time, the tool, the GPU or provider asked about, the name your client gives itself, a random session code, and whether the request could be answered - never the conversation, your IP address or a cookie (privacy).
- No data of its own. The server reads the public files described on /data and nothing else: the numbers, rules and licence (CC BY 4.0) are theirs.
Data updated: October 26, 2026