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 it answers from 703 live rates at 63 providers across 53 GPU models, and every price comes with the page it was read from and the time it was read.
Connect
Add a remote MCP server with this address (Streamable HTTP):
https://gpueconomy.com/mcp- Claude (claude.ai, Claude Desktop): Settings → Connectors → Add custom connector, and paste the address.
- Claude Code:
claude mcp add --transport http gpueconomy https://gpueconomy.com/mcp - Cursor, or any client that reads an
mcp.json:
{
"mcpServers": {
"gpueconomy": {
"url": "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. 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 weekly 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. | none |
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. |
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
- 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). - 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: