Cheap GPUs
Server Details
Live GPU rental and LLM inference prices across dozens of providers, plus GPU price forecasts.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 7 tools
Each tool targets a distinct question: live GPU rental prices, historical prices, forecasts, model inference pricing, model lookup, and self-host sizing. The only plausible confusion is cheapest_gpu vs cheapest_model_route, but the descriptions clearly separate per-GPU-hour rentals from per-1M-token inference costs.
All names are snake_case and resource-oriented, so the set reads predictably. The verb style varies (cheapest_*, find_*, list_*, gpu_price_*), which is a minor deviation rather than a real inconsistency.
Seven tools is well-scoped for a price-intelligence server; each covers a distinct axis (current, historical, forecast, inference, sizing) with no filler.
The surface covers the core pricing lifecycle: discovery (list_gpu_families), current quotes, history, forecasts, LLM inference routing, and self-host sizing. Minor gaps exist around provider-level detail and filtering (e.g., spot pricing history or per-provider comparison), but agents can work around these with the existing tools.
Available Tools
7 toolscheapest_gpuARead-onlyIdempotentInspect
Cheapest current rental offers for one GPU family (e.g. "H100", "RTX 5090", "b200"), in USD per GPU-hour, cheapest first, one row per provider. pricing_type is "on_demand" (default; can't be interrupted) or "spot" (cheaper, the provider can reclaim the machine). limit: 1-10.
| Name | Required | Description | Default |
|---|---|---|---|
| gpu | Yes | ||
| limit | No | ||
| pricing_type | No | on_demand |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only, idempotent and non-destructive, so the safety profile is covered. The description adds genuinely useful behavior context beyond them: the distinction that on_demand instances can't be interrupted while spot machines can be reclaimed, which materially affects the agent's choice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what the tool returns before covering pricing_type and limit. Nothing is redundant and every sentence carries new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and rich annotations, the description needn't explain return values, and it is complete enough to call correctly for all three parameters. Minor gaps remain around invalid family names and default limit behavior, but these are not blocking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry all parameter meaning and largely does: it gives family-name examples for 'gpu', defines both values of 'pricing_type' with the default, and states the 1-10 bounds for 'limit'. It omits only the default value of limit (5) and the exact accepted string format for gpu.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource ('cheapest current rental offers'), scope ('one GPU family'), unit ('USD per GPU-hour'), ordering ('cheapest first') and output grain ('one row per provider'), with concrete examples of family names like 'H100' and 'b200'. The word 'current' implicitly separates it from siblings gpu_price_history and gpu_price_forecast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the word 'current' and the per-family scoping, so an agent can infer this is the live-price lookup rather than the historical or forecast tools. However, no sibling is named and there is no explicit statement of when to prefer it over gpu_price_history or cheapest_model_route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cheapest_model_routeARead-onlyIdempotentInspect
Cheapest inference providers for one LLM (e.g. "deepseek-v3", "gpt-oss-120b"; use find_model if unsure of the name). Prices are USD per 1M tokens; estimated_cost_usd is for the given input/output token counts. One row per provider, cheapest first. limit: 1-10.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| model | Yes | ||
| input_tokens | No | ||
| output_tokens | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, and the description adds behavioral detail beyond them: pricing units (USD per 1M tokens), the meaning of estimated_cost_usd, result ordering, and a 'limit: 1-10' constraint that the schema itself does not encode. It does not discuss pagination or empty-result behavior, but the essentials are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A compact paragraph that front-loads the core purpose, followed by units, result shape, and the limit constraint in descending order of importance. Every sentence carries information; the parenthetical example list is slightly cluttered but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter read-only query tool with an output schema, the description supplies what structured fields cannot: units, ordering, and the model-name prerequisite. Only the default token counts and any zero-result behavior are left unstated, which are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage the description must carry the load, and it does for most parameters: examples for model, the 1-10 range for limit, and the role of input_tokens/output_tokens in driving estimated_cost_usd. It omits that both token counts default to 1,000,000, so the cost-estimate basis is only partly documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: 'Cheapest inference providers for one LLM', with example model identifiers and an explicit routing note ('use find_model if unsure of the name') that separates it from the sibling tool. Output shape ('one row per provider, cheapest first') and units are also given, so an agent can predict the result without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit dependency rule: call find_model first when the model name is uncertain, which is the main failure mode for this tool. It does not state any when-not-to-use condition or compare against other pricing siblings (cheapest_gpu, gpu_price_history), but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_modelARead-onlyIdempotentInspect
Search the LLM catalog by name (e.g. "deepseek v3", "gpt-oss", "llama 70b"). Returns model slugs to pass to cheapest_model_route / gpus_needed_for_model, most widely offered first. limit: 1-10.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, so the safety profile is covered. The description adds genuine value by disclosing result ordering ("most widely offered first") and that output is slugs, but it says nothing about match semantics (fuzzy vs. exact) or behavior when nothing matches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the search intent, with ordering and the limit range appended compactly. Nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A small two-parameter tool with an output schema, or annotations covering safety; the description supplies the range, examples, and downstream usage. Only search matching semantics are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden. It supplies useful query examples and bounds limit to 1-10, which the schema does not state. Still, neither parameter's matching or truncation behavior is explained, so compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Search the LLM catalog by name") and clarifies the return artifact (model slugs). It does not collide with any sibling, since none of the others perform lookup, but the differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the downstream consumers (cheapest_model_route, gpus_needed_for_model), which tells an agent this is a resolution step that must precede those calls. No explicit when-not or handling of no-match results, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gpu_price_forecastARead-onlyIdempotentInspect
Market-implied future rental price for one GPU family (USD per GPU-hour), from prediction markets (Kalshi, Polymarket) and ICE futures, plus today's compute-index benchmarks and cheap-gpus.com's own current median price. Covers H100, H200, B200, A100 and RTX 5090.
| Name | Required | Description | Default |
|---|---|---|---|
| gpu | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the remaining burden is light. The description still adds real value by disclosing data provenance (Kalshi, Polymarket, ICE futures, compute-index benchmarks, cheap-gpus.com median) and the unit of the returned number (USD per GPU-hour). It does not mention freshness/refresh cadence or how disagreement between sources is reconciled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the returned quantity and units before the source list and coverage list. Every clause (units, sources, supported families) carries information an agent needs; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with annotations and an output schema, the definition covers purpose, units, provenance, and accepted inputs, which is most of what an agent needs. Missing only edge behavior: supported-horizon assumptions, data staleness, and an unsupported-GPU error path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and no enum for the single required 'gpu' parameter, so the description carries the full burden. It effectively supplies the accepted value set by listing 'H100, H200, B200, A100 and RTX 5090'. It stops short of stating the exact string format expected or what happens for an unsupported family.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and verb-like output: 'Market-implied future rental price for one GPU family (USD per GPU-hour)'. The word 'future' plus the mention of prediction markets and today's benchmarks separates it from the sibling gpu_price_history (past) and cheapest_gpu (current cheapest), and it enumerates the covered families.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the temporality ('future', 'forecast') suggests it belongs in forward-looking questions while gpu_price_history serves backward-looking ones, but no sibling is named and there are no explicit when-not conditions (e.g., fall back to current spot price when markets are thin).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gpu_price_historyBRead-onlyIdempotentInspect
Daily price history for one GPU family: each day's median across providers of each provider's cheapest offer (USD per GPU-hour). days: 1-90.
| Name | Required | Description | Default |
|---|---|---|---|
| gpu | Yes | ||
| days | No | ||
| pricing_type | No | on_demand |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely new behavioral context by defining exactly how each daily value is computed (median of per-provider cheapest offers) and the unit (USD per GPU-hour), which an agent cannot infer from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the resource and metric front-loaded, and the days constraint appended compactly. 'Each day's median across providers of each provider's cheapest offer' is dense but earns its place by defining the metric; nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure needn't be described, and the aggregation semantics are well covered. However, for a three-parameter tool with 0% schema coverage, the silent pricing_type parameter and the absence of any sibling-oriented usage guidance leave meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It documents the gpu scope ('one GPU family') and the days bound (1-90), but pricing_type is never mentioned despite having a default of 'on_demand' and no enum, leaving one of three parameters completely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'daily price history for one GPU family.' It even defines the metric precisely (median across providers of each provider's cheapest offer, USD per GPU-hour), which clearly separates it from siblings like cheapest_gpu or gpu_price_forecast. It stops short of explicitly naming those siblings as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. With gpu_price_forecast as a sibling, an explicit 'use this for past prices, not projected prices' statement would have removed real ambiguity. The only constraint given is the days range, which is a parameter bound rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gpus_needed_for_modelARead-onlyIdempotentInspect
How many GPUs it takes to self-host an open-weight LLM at a given quantization, and the cheapest rental setups for it right now. quant is one of: fp16, bf16, fp8, mxfp8, int8, q6, fp6, q5, q4km, nvfp4, awq, mxfp4, gptq, int4, q3, q2, iq2, iq1. Estimates memory only (weights + 20% runtime overhead), not throughput. limit: 1-10.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| model | Yes | ||
| quant | No | fp8 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the bar is lower. The description still adds real value beyond them: it discloses the estimation methodology (weights + 20% runtime overhead), warns that throughput is not modeled, and signals that rental prices are current/snapshot-in-time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core question, followed by the quant enumeration, the estimation caveat, and the limit bound. The long quant list is justified because the schema supplies no enum, and no sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the methodology caveat covers the main interpretive risk. However, for a 3-parameter tool with zero schema descriptions, leaving the required model parameter's expected format unspecified is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry parameter meaning. It does well for quant — enumerating all 18 accepted values that the schema leaves as a bare string — and bounds limit to 1-10, but it never explains the format expected for model (name? ID? huggingface slug?) nor what limit actually caps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete question the tool answers — GPU count to self-host an open-weight LLM at a given quantization — plus a secondary output (cheapest rental setups). The scope ('open-weight LLM', 'estimates memory only, not throughput') is specific enough to separate it from siblings like cheapest_gpu or find_model, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: it is a sizing/costing lookup for self-hosting a model. There is no explicit when-to-use vs. when-not-to-use guidance and no routing to cheapest_gpu or find_model, so an agent must infer the boundary from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_gpu_familiesARead-onlyIdempotentInspect
List every GPU family tracked on cheap-gpus.com, with VRAM, live cheapest on-demand price (USD per GPU-hour), and how many providers currently offer it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds real behavioral context the annotations lack: prices are 'live' cheapest on-demand rates and provider counts reflect current offers, which tells the agent data freshness matters. It stops short of stating ordering, caching, or snapshot timing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the primary action, with the three returned data elements listed compactly. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read tool with a full output schema and comprehensive annotations, the description supplies what is missing: scope ('every GPU family tracked on cheap-gpus.com') and semantics of the price field. The only gap is routing guidance relative to the five sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a 0-param tool applies. The description usefully clarifies the units of the returned price (USD per GPU-hour) even though no input exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List every GPU family') and enumerates the payload (VRAM, cheapest on-demand price in USD/GPU-hour, provider count). It does not explicitly distinguish itself from siblings like cheapest_gpu or gpu_price_forecast, so an agent must infer that this is the catalog-wide enumeration rather than a single-price lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'List every GPU family' suggests a discovery/browse step before calling price or model-specific siblings, but no when-to-use, when-not-to-use, or named alternative is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
cheapest_gpu - First observed
cheapest_model_route - First observed
find_model - First observed
gpu_price_forecast - First observed
gpu_price_history - First observed
gpus_needed_for_model - First observed
list_gpu_families
Related MCP Connectors
LLM and GPU rental prices: model price lookup, GPU listings, cheapest-GPU search, price history
Cloud GPU prices with live stock from 22 providers. Find where to rent an H100 or B300 now.
Hourly cloud GPU prices from 80+ providers: find, compare, cost and track GPUs.
Compare live GPU cloud rental prices and match workloads to the cheapest provider.
Related MCP Servers
- AlicenseAqualityBmaintenanceGlobal price benchmarking for AI inference across 2,600+ SKUs from 47 vendors. Query live pricing, market indexes, and model specs via 8 tools. Free tier available.863 npmMIT

GPU Finder MCP serverofficial
AlicenseAqualityCmaintenanceEnables agents to query live cloud GPU pricing, stock availability, and up to 12 months of price history across 30+ hyperscalers, neoclouds, and marketplaces, including comparisons of cheapest listed versus cheapest in-stock offers. All tools are read-only, with provider listings and GPU catalogs available at no cost.8348 npmMIT- AlicenseAqualityBmaintenanceLive LLM API pricing: current token prices, model comparisons, cheapest-model lookups, and The LLM Price Index for 150+ models across 20+ providers, re-verified daily. No API key required.41MIT
- AlicenseNot gradedqualityDmaintenanceCompare AI inference pricing across 9 providers in real time. Routing recommendations, spend tracking, and budget alerts for AI agents.47 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.