Skip to main content
Glama

GPU Economy - cloud GPU prices

Server Details

Hourly cloud GPU prices from 60+ providers: find, compare, cost and track GPUs.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.7/5.0

Scored across 16 tools

Disambiguation5/5

Each tool targets a distinct slice: per-GPU vs per-provider prices, list vs filter, compare vs estimate, historical vs current. Descriptions clarify boundaries (e.g., 'live quotes only', 'one GPU model across providers'). No two tools appear to do the same thing.

Naming Consistency4/5

All names use snake_case, which is consistent. However, the set mixes imperative verb phrases (compare_gpus, list_gpus) with noun phrases (price_history, provider_info), so it lacks a single uniform pattern like verb_noun throughout.

Tool Count4/5

16 tools is slightly above the typical 3-15 sweet spot, but the domain (GPU price analytics) is broad enough to justify most. The tools cover different analytical dimensions and rarely overlap, though a few could potentially be merged.

Completeness4/5

The surface covers discovery (list/find), retrieval (prices, provider info), comparison, cost estimation, and historical analysis, with search/fetch for underlying pages. A minor gap is the absence of a direct 'list all providers' tool, but search and provider_prices largely compensate.

Available Tools

16 tools
buy_vs_rentBuy or rent a GPUA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuNoGPU id or name, e.g. rtx-4090; omit for every card with a retail median.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gpuNo
pageNo
cardsNo
gpu_idNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
attributionYes
not_countedNo
data_updated_atYesNewest scrape behind the answer (ISO 8601).
hours_per_monthNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the bar is lower, and the description adds real behavioral context: median of 3+ sellers, cheapest vs median rate, the 100/70/50/25% of a 730-hour month scenarios, and explicit exclusions. It does not disclose pagination or result-size behavior when scanning all cards.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information-dense and roughly three sentences, but it opens with a noun-phrase fragment ('A card's new retail price ... against its live on-demand rental rates:') rather than a front-loaded statement of purpose, and the parentheticals make it slower to parse than necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, yet the description still spells out the methodology (rate basis, utilization levels, exclusions), which is what an agent needs to interpret the numbers. Nothing critical for correct invocation appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single optional gpu parameter, and the description's 'Without gpu, every card that has a retail median' essentially restates the schema's 'omit for every card with a retail median.' No additional syntax or format meaning is contributed, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise computation: months of rental (at cheapest and median rate) that equal a card's retail price, at four utilization levels. That is a specific verb+resource and distinguishes it in substance from siblings like gpu_prices or estimate_cost, though it never names an alternative directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: it is clearly a buy-vs-rent break-even analysis, and the 'Rental fee only - power, hosting, the server around the card and resale are not counted' line implies when NOT to rely on it for total cost of ownership. There is no explicit when-to-use guidance or named alternative (e.g., estimate_cost).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commitment_savingsWhat a 1- or 3-year commitment savesB
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuNoOptional GPU id or name; without it, every card.
termNoWhich market to pair; default any (1-year, 3-year and spot).
limitNoPairs to return, largest saving first; default 15.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gpuNo
noteNo
pageNo
termNo
pairsNo
methodNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
attributionYes
pairs_foundNo
data_updated_atYesNewest scrape behind the answer (ISO 8601).
typical_by_termNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this is a read-only, non-open-world lookup. The description adds real behavioral value beyond that: it discloses that results are anchored to the provider's own on-demand rate, reports medians, and warns that 'a commitment is paid whether the GPU runs or not' – a caveat the agent should convey when discussing savings. Sorting is disclosed, though only via schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single dense sentence built around an em-dash, and the key idea ('committed and spot rates set against the same provider's own on-demand rate') is front-loaded. However, the mid-sentence detour into 'the pairs behind the site's typical discount with the median per term across every card' burdens a tool description with site-marketing context rather than invocation guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value details need not be restated, and all parameters are schema-documented, so the description only needs to convey purpose and caveats – which it largely does, including the commitment-payment warning. The main gap is routing guidance among the many pricing siblings (buy_vs_rent, estimate_cost, gpu_prices), which remains absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (including the term enum) are already documented at the field level. The description's contribution is limited to restating that omitting gpu means 'every card' and that pairs are compared within the same card/region/scope – consistent with, but not additive to, the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific computation: committed/spot rates set against the same provider's on-demand rate for the same card, region and price scope, plus medians per term. That is concrete enough to know what the tool returns. It does not, however, distinguish itself from plausibly overlapping siblings such as buy_vs_rent or estimate_cost, which would require reading their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use statement, no conditions under which this beats buy_vs_rent or estimate_cost, and no prerequisites. Usage is only inferable from the phrase 'the pairs behind the site's typical discount'. The agent is left to guess which sibling fits a savings comparison question.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_gpusCompare two GPUsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesFirst GPU id or name (h100-sxm, "H200").
bYesSecond GPU id or name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
aNo
bNo
bothNo
noteNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
attributionYes
difference_isNo
data_updated_atYesNewest scrape behind the answer (ISO 8601).
providers_listing_bothNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond that: results come from live quotes only (no historical or retail-only fallback), and it names the exact comparison facets returned. It stops short of stating how missing data is handled (e.g. 'retail median where one exists' hints but doesn't explain).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that opens with the core action and then lists the compared fields; no filler or repetition. The list is long but each field earns its place by telling the agent what data it gets back.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, yet enumerating the compared fields helps an agent decide relevance. Combined with annotations covering the safety profile and full schema coverage, almost nothing needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are documented there, including the id-or-name format example ('h100-sxm', "H200"). The description adds nothing about parameter interpretation beyond confirming that both inputs are GPU models, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (compare) and resource (two GPU models) and enumerates exactly which attributes are put side by side (VRAM, median rate card, cheapest on-demand rate, price per GB of VRAM, retail median, provider deltas). This lets an agent distinguish it from gpu_prices (single-model pricing) and compare_providers (provider-level, not GPU-level) without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Live quotes only' scopes the tool to current pricing rather than history, which is a useful selection hint against price_history. However, it never states when to prefer this over compare_providers or gpu_prices, nor any prerequisites, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_providersCompare two providersA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesFirst provider id or name (runpod, lambda, "Google Cloud").
bYesSecond provider id or name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
aNo
bNo
gpusNo
noteNo
pageNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
lower_onNo
attributionYes
gpus_comparedNo
data_updated_atYesNewest scrape behind the answer (ISO 8601).

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds meaningful context beyond annotations: the comparison is restricted to on-demand live quotes and deliberately omits community capacity and marketplace floors, which shapes what results mean.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the comparison produces, then scope exclusions and the live-quote constraint. Dense but every clause carries information; the enumerated return fields are slightly run-on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be re-explained, and the description nonetheless frames them. Combined with the scope exclusions and short schemas, an agent has enough to invoke it correctly, with only sibling routing left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both a and b are already documented including examples (runpod, lambda, "Google Cloud"). The description adds no parameter-level detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (compare) and resource (two providers) and enumerates what the result contains: each side's cheapest on-demand rate card, the difference, which is lower, and the count. It is clearly distinguishable in spirit from compare_gpus, though it never names that sibling to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear scope context: on-demand only, live quotes only, and explicitly excludes community capacity and marketplace floors. That tells the agent when this tool applies and when to look elsewhere, though it names no alternative tool by name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_costEstimate what a workload costsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuYesGPU id or name.
gpusNoHow many GPUs; default 1.
hoursNoHours of use; default 730 (a month around the clock).
limitNoCheapest rate cards to price; default 5.
marketNoMarket; default on_demand.
regionNoRates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gpuNo
gpusNo
pageNo
hoursNo
gpu_idNo
marketNo
regionNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
at_medianNo
arithmeticNo
at_cheapestNo
attributionYes
buy_insteadNo
not_countedNo
data_updated_atYesNewest scrape behind the answer (ISO 8601).

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds real value on top by disclosing what is excluded from the estimate (storage, network egress, taxes, idle time) and that prices are listed rates rather than live availability. Those caveats are exactly the kind of assumption an agent needs before presenting a number as a cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the output shape and followed by the caveat; nothing is padded. It is dense but each clause carries distinct information, so only the slightly clipped phrasing keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description need not explain return values, and it covers the material assumptions (what is and isn't counted, listed vs available rates). The only gap is that it says nothing about how the 'median rate card' comparison is selected, but the parameter defaults in the schema largely fill that in.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents gpu, gpus, hours, limit, market, and region, making 3 the baseline. The description's mention of 'N GPUs', 'a number of hours', and 'the cheapest rate cards' loosely echoes the gpus/hours/limit parameters but adds no syntax or default detail beyond them, and market is not addressed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise computation: cost of N GPUs of one model for a number of hours, at the cheapest rate cards and the median, with the arithmetic shown. This is clearly a derived-cost tool rather than a raw price lookup, which separates it from gpu_prices. It does not name any sibling explicitly, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description defines the tool's scope ('rental fee only', 'listed rates, not availability') but never says when to reach for it instead of gpu_prices, buy_vs_rent, or token_cost. The scope limits are useful but they are boundary definitions, not use-vs-alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetchRead a GPU Economy pageA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAn id from search.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description usefully adds what the call returns: live rates with read times, as plain text, plus the page URL to cite. It stops short of mentioning rate limits or pagination, but adds genuine return-context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence, front-loaded with the resource, and every clause earns its place by clarifying id source and return shape. The parenthetical id examples make it slightly heavy but are not wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-param read tool with an output schema present, the description covers purpose, id provenance, and output form, so the agent has what it needs. Return-value detail is rightly left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single param is documented as 'An id from search'. The description goes further by illustrating the id namespace with concrete examples (gpu:h100-sxm, provider:runpod, index:h100, reserved, buy-vs-rent), which adds real meaning about valid id forms beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: reads the text of one GPU Economy page identified by an id. It also anchors where that id comes from ('an id from search'), which distinguishes it from the search sibling that produces ids. Not a full 5 because it doesn't explicitly name a competing sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the prerequisite workflow by saying the id comes from 'search', which tells the agent this is a follow-up call. However, there is no explicit when-to-use/when-not or named alternative among the many siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_gpusFind GPUs that meet a requirementA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoCards to return; default 10.
marketNoMarket of the cheapest rate; default on_demand.
regionNoRates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any.
vendorNoDefault any.
min_vram_gbNoLeast memory per GPU, in GB (24, 48, 80, 141...). Default 0.
max_usd_per_gpu_hourNoHighest acceptable rate per GPU-hour, compared with each card's cheapest rate. Optional.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gpusNo
noteNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
attributionYes
requirementNo
cards_matchingNo
data_updated_atYesNewest scrape behind the answer (ISO 8601).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint, so the description carries the behavioral load and does disclose the sort order (cheapest first), the per-card payload (cheapest live on-demand rate card with provider/read time/page, median rate card and panel size, VRAM, price per GB), and the market-exclusion rule. It stops short of noting caching staleness or pagination limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the qualifying criteria and sort order before the field enumeration, and every clause maps to real output content. It is dense and reads as one long sentence, but there is little outright waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape need not be restated, and the description still sketches the key return fields. For a zero-required-parameter filtered query tool this is close to complete, with only sibling routing left unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning beyond it: it clarifies which market defines the 'cheapest' rate (live on-demand) and that community/marketplace floors stay out unless the market parameter overrides the default. That directly explains the effect of the market parameter on results.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (find) and resource (GPU models) qualified by criteria (memory and price requirement) and sort order (cheapest first). The 'meet a requirement' framing distinguishes it from a plain list_gpus, but it never names a sibling to sharpen that contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives one conditional rule — community capacity and marketplace floors are excluded unless the market is set — which implicitly tells the agent when the default result set is narrowed. However, it offers no guidance on when to use this versus list_gpus, compare_gpus, or gpu_prices.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gpu_pricesCurrent prices for one GPUA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuYesGPU id (h100-sxm, h200, b200, rtx-4090) or a name ("H100 SXM", "RTX 4090").
limitNoRows to return, cheapest first; default 10.
marketNoMarket to keep; default on_demand. "any" keeps spot, community, serverless and reserved too.
regionNoRates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gpuNo
noteNo
pageNo
gpu_idNo
marketNo
pricesNo
quotesNo
regionNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
attributionYes
data_updated_atYesNewest scrape behind the answer (ISO 8601).

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes further by disclosing the sort order (cheapest first), freshness ('Live quotes only'), and what each row carries (read time plus a source link), which is useful behavioral context beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the resource and scope, no filler. Every clause (across providers, cheapest first, per GPU-hour, live only) carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no further explanation, and the description covers scope, ordering, currency, and freshness. Only the when-to-use routing against sibling pricing tools is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (gpu, limit, market, region) are already documented in the schema with defaults and enums. The description reinforces 'cheapest first' and 'USD per GPU-hour' but adds no syntax or format detail the schema lacks; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (current listed rental prices for one GPU model) with scope details: across providers, cheapest first, USD per GPU-hour. This is specific enough that an agent can distinguish it from price_history (historical) and price_index without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Live quotes only' implicitly excludes the history sibling, but the description never explicitly says when to use this versus provider_prices, compare_providers, or price_index. Usage context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_gpusList GPU modelsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
gpusNo
countNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
attributionYes
data_updated_atYesNewest scrape behind the answer (ISO 8601).

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds payload-level context (provider counts, median on-demand rate in USD per GPU-hour), but much of that restates return fields rather than disclosing behavior like ordering or completeness guarantees.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; every clause describes a returned attribute of value. Nothing to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't enumerate return values, and its brief preview of fields is a useful orientation. For a no-argument read-only list tool this is essentially complete, lacking only notes on ordering or scope limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the rubric the baseline is 4. There is no argument surface the description needs to explain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('list GPU models') plus the exact fields returned, so the agent knows this is a full-catalog enumeration. It doesn't explicitly contrast itself with close siblings like find_gpus or compare_gpus, but the 'every GPU model tracked' framing implies completeness versus a filtered search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: enumerating the whole tracked catalog. There is no explicit when-to-use statement, no when-not-to-use, and no named alternative among siblings such as find_gpus (search) or gpu_prices (rates).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

price_historyWeekly price history of one GPUA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuYesGPU id or name.
weeksNoWeeks per source, newest first; default 12.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gpuNo
noteNo
pageNo
gpu_idNo
seriesNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
attributionYes
data_updated_atYesNewest scrape behind the answer (ISO 8601).

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), and the description adds real context beyond them: results are newest-week-first, the two sources are kept separate rather than blended, one series is a reconstructed second-hand catalog, and each week carries a panel size. It does not discuss rate limits or caching, but the provenance disclosure is genuinely useful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with what the tool returns and from which sources. The closing clause 'read a median against it' is terse to the point of being cryptic, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A read-only query tool with a full output schema, so return-shape explanation is not required, yet the description usefully explains that medians/cheapest values are per-week and per-source with a panel size. Nothing essential for correct invocation is missing; only the alternative-tool routing is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both params (gpu, weeks) are already documented, including the default of 12 and the newest-first ordering. The description repeats the newest-first framing but adds no syntax or format detail beyond the schema, so baseline 3 applies. The 'read a median against it' note guides interpretation rather than parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: weekly median and cheapest listed on-demand rate for one GPU model. It also names the two distinct sources (own hourly reads vs. a reconstructed public-catalog second-hand series), which sharply separates it from siblings like gpu_prices, price_index, and recent_price_changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (this is the tool for weekly historical rates for a single GPU), but the description never says when to prefer it over siblings such as recent_price_changes or price_index, nor any exclusions. The agent must infer routing from the phrasing alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

price_indexCloud GPU Price Index (H100)B
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
windowNoWhich window leads the answer; default week. Every answer carries the newest value of each.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hourNo
nameNo
pageNo
methodNo
monthsNo
seriesNo
windowNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
currentNo
receiptsNo
attributionYes
data_updated_atYesNewest scrape behind the answer (ISO 8601).

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds useful shape detail (fixed panel, base-100 index, receipts, monthly averages), but says nothing about provider coverage limits, how the fixed panel is composed, or freshness beyond 'newest hourly point'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence that front-loads the resource and headline metric. It is somewhat jargon-dense ('receipts', 'base-100 index') but wastes no sentences and nothing is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value detail is not the description's burden, and the one optional enum param is fully documented in schema. For a zero-required-parameter read tool the description is nearly complete, only missing sibling routing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the enum values week/hour/month are documented in the schema, including the 'which window leads the answer' behavior. The description adds nothing parameter-specific, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: median listed on-demand H100 SXM rate across providers, this week plus eight prior weeks, with the base-100 index and monthly averages. This clearly separates it from gpu_prices and price_history, though it reads more as a content inventory than an action statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance. The description never mentions gpu_prices, price_history, or provider_prices, so the agent must infer that this is the H100-specific index view rather than a general price lookup. The 'window' default is the only steering signal, and that lives in the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

provider_infoWhat a provider is and how it is readB
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYesProvider id or name (runpod, "Google Cloud", vast-ai).

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
pageNo
readNo
typeNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
marketsNo
providerNo
attributionYes
live_quotesNo
provider_idNo
beyond_gpu_hourNo
data_updated_atYesNewest scrape behind the answer (ISO 8601).
gpu_models_liveNo
regions_or_tiersNo
cheapest_on_demand_by_gpuNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds modestly useful context by disclosing data provenance ('how GPU Economy reads its prices (pricing page, API or rendered page)') and the 'where read' qualifier implying fields may be absent, but says nothing about unknown-provider handling or freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense but front-loaded sentence that enumerates the returned content with no filler; the profile contents come first and the trailing externally-hosted page link is the only extra. It is long but every clause maps to a field an agent would care about.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 an output schema and read-only annotations, this is largely complete — and it even pre-describes return fields the output schema already covers. Only the routing against sibling provider tools is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single `provider` parameter is already documented with format examples in the schema. The description adds no syntax or matching guidance beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description plus title make clear this returns a profile of a single provider — its type, coverage, pricing-read method, model/quote counts, cheapest rate and extra billing items. It is a specific resource with a clear scope, but it never distinguishes itself from siblings like compare_providers or provider_prices, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 statement, and no alternatives are named. The agent is left to infer that this is the single-provider detail lookup and that compare_providers/provider_prices cover the multi-provider and price-only cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

provider_pricesCurrent prices at one providerA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYesProvider id (runpod, lambda, coreweave, aws, azure, gcp, vast-ai) or its name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageNo
pricesNo
quotesNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
providerNo
attributionYes
provider_idNo
data_updated_atYesNewest scrape behind the answer (ISO 8601).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral detail beyond that: the currency/unit (USD per GPU-hour), that each record carries a read time and a source-linking GPU Economy page, and that only live quotes are returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence plus a short qualifier; the key scope ('at one provider') and unit arrive first. The parenthetical provider list is slightly redundant with the schema but stays compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description need not detail return values, and it still summarizes what each record contains (price, read time, source page). Combined with the 100% covered single parameter and clear read-only annotations, nothing needed to invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the single provider parameter is already fully documented in the schema, including the id/name distinction and examples. The description echoes the same provider examples without adding new syntax or formatting guidance, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (current listed rental prices) and a clear scope constraint ('at one provider'), and the USD per GPU-hour unit anchors what a price means. It implicitly distinguishes itself from price_history and recent_price_changes via 'current' and 'Live quotes only', though it never names those siblings outright.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the agent can infer this is the tool for enumerating all listed quotes for a single provider. There is no explicit when-to-use guidance against compare_providers, gpu_prices, or price_history, and no stated exclusions beyond 'Live quotes only'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recent_price_changesRecent price changesA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuNoOptional GPU id or name.
limitNoRows; default 20.
providerNoOptional provider id or name.
include_marketplacesNoAlso list marketplace floors (Vast.ai), which move with every read; default false.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageNo
windowNo
changesNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
attributionYes
marketplacesNo
quotes_changedNo
data_updated_atYesNewest scrape behind the answer (ISO 8601).
changes_in_windowNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this read-only and closed-world, and the description adds substantive behavior on top: the 30-day window, newest-change-first ordering, omission of quotes that returned to their starting figure, and the fact that marketplace floors move on every read (which is why they're opt-in). That volatility note is exactly the kind of context annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense, front-loaded sentence leads with the resource and window, then the row shape, then exclusions. Tight with no filler, though the packed clause chain makes it slightly heavy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is unnecessary, and the description still covers scope, ordering, and exclusions. Combined with the read-only annotation and full schema coverage, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and every parameter is self-documented, so the schema already carries the load. The description reinforces the opt-in nature of marketplace floors and the filtering role of gpu/provider, but adds no new syntax, format, or default detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (listed prices that changed in the last 30 days) with the exact row granularity, ordering, and contents of each row. Exclusions and scope limits are stated, so an agent can distinguish it from price_history or price_index without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It says results can optionally be narrowed 'for one GPU or one provider,' implying how the params are used, and states two exclusion conditions. But it never says when to pick this over price_history/price_index, nor names an alternative for full history or un-changed prices.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_costCost per million output tokens (modelled)A
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuYesGPU id or name; NVIDIA publishes runs for B200, B300, H100 SXM, H200 and RTX PRO 6000.
modelNoOptional model name to keep (gpt-oss-120b, "Qwen 3.5"); default every model NVIDIA ran on the card.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gpuNo
pageNo
runsNo
ratesNo
caveatNo
gpu_idNo
cite_asYesHow to cite this answer: GPU Economy, the page, the data date.
formulaNo
modelledNo
attributionYes
data_updated_atYesNewest scrape behind the answer (ISO 8601).
throughput_sourceNo

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing that the figure is modelled rather than measured, exactly how it is derived, that NVIDIA's run conditions differ per card, and that idle GPU time is a floor rather than a bill. This is unusually rich disclosure of limitations for a read-only cost tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the key caveat 'Modelled, not measured' and tightly packed, though the second and third sentences are dense and long. Every clause carries information, but structure leans on em-dash chains rather than separate, scannable points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and it supplies the methodological context an agent needs to avoid misreading a modelled floor as an actual bill. It could still say which sibling to use for measured prices, but coverage of the conceptual model is solid.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both params (gpu, model) are already documented in the schema, including the supported card list and the default-all-models behaviour. The description adds no parameter syntax or format detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific quantity: cost per million output tokens, derived from a GPU-hour rate and published throughput. It is clearly a modelled per-token cost, not a raw price, which implicitly separates it from gpu_prices or estimate_cost, but it never names a sibling or frames its purpose in the first clause — the lead is a caveat, not a definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied through caveats: 'cards are not comparable on it' and 'a floor, never a bill' tell the agent how to read the number but not when to call this tool versus estimate_cost or gpu_prices. No explicit when-to-use/when-not or alternative tool is named.

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.

  1. 1 tool update
    • Changedprovider_info1 field changed
      • addedOutput schema / properties / beyond_gpu_hour
        Added value: +{}
  2. 16 tool updates
    • Addedbuy_vs_rent
    • Changedcommitment_savings3 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / page
        Added value: +{}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedcompare_gpus2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedcompare_providers2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedestimate_cost2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Addedfetch
    • Changedfind_gpus2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedgpu_prices2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedlist_gpus2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedprice_history2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedprice_index2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedprovider_info2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedprovider_prices2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Changedrecent_price_changes3 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / page
        Added value: +{}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
    • Addedsearch
    • Changedtoken_cost2 fields changed
      • addedOutput schema / properties / cite_as
        Added value: +{
        +  "description": "How to cite this answer: GPU Economy, the page, the data date.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_updated_at",
        -  "attribution"
        -]New value: +[
        +  "data_updated_at",
        +  "attribution",
        +  "cite_as"
        +]
  3. 13 tool updates
    • Addedcommitment_savings
    • Changedcompare_gpus1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "a": {},
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "b": {},
        +    "both": {},
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "difference_is": {},
        +    "note": {},
        +    "providers_listing_both": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Changedcompare_providers1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "a": {},
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "b": {},
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "gpus": {},
        +    "gpus_compared": {},
        +    "lower_on": {},
        +    "note": {},
        +    "page": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Changedestimate_cost2 fields changed
      • addedInput schema / properties / region
        Added value: +{
        +  "description": "Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any.",
        +  "enum": [
        +    "any",
        +    "US",
        +    "EU"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "arithmetic": {},
        +    "at_cheapest": {},
        +    "at_median": {},
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "buy_instead": {},
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "gpu": {},
        +    "gpu_id": {},
        +    "gpus": {},
        +    "hours": {},
        +    "market": {},
        +    "not_counted": {},
        +    "page": {},
        +    "region": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Changedfind_gpus2 fields changed
      • addedInput schema / properties / region
        Added value: +{
        +  "description": "Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any.",
        +  "enum": [
        +    "any",
        +    "US",
        +    "EU"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "cards_matching": {},
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "gpus": {},
        +    "note": {},
        +    "requirement": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Changedgpu_prices2 fields changed
      • addedInput schema / properties / region
        Added value: +{
        +  "description": "Rates listed in US or EU regions, plus rates that name no region (a provider's rate everywhere); default any.",
        +  "enum": [
        +    "any",
        +    "US",
        +    "EU"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "gpu": {},
        +    "gpu_id": {},
        +    "market": {},
        +    "note": {},
        +    "page": {},
        +    "prices": {},
        +    "quotes": {},
        +    "region": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_gpus1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "count": {},
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "gpus": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Changedprice_history1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "gpu": {},
        +    "gpu_id": {},
        +    "note": {},
        +    "page": {},
        +    "series": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Changedprice_index1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "current": {},
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "hour": {},
        +    "method": {},
        +    "months": {},
        +    "name": {},
        +    "page": {},
        +    "receipts": {},
        +    "series": {},
        +    "window": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Addedprovider_info
    • Changedprovider_prices1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "page": {},
        +    "prices": {},
        +    "provider": {},
        +    "provider_id": {},
        +    "quotes": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Changedrecent_price_changes1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "attribution": {
        +      "type": "string"
        +    },
        +    "changes": {},
        +    "changes_in_window": {},
        +    "data_updated_at": {
        +      "description": "Newest scrape behind the answer (ISO 8601).",
        +      "type": "string"
        +    },
        +    "marketplaces": {},
        +    "quotes_changed": {},
        +    "window": {}
        +  },
        +  "required": [
        +    "data_updated_at",
        +    "attribution"
        +  ],
        +  "type": "object"
        +}
    • Addedtoken_cost
  4. 6 tool updates
    • Addedcompare_gpus
    • Addedcompare_providers
    • Addedestimate_cost
    • Addedfind_gpus
    • Addedprice_history
    • Changedprice_index1 field changed
      • addedInput schema / properties / window
        Added value: +{
        +  "description": "Which window leads the answer; default week. Every answer carries the newest value of each.",
        +  "enum": [
        +    "week",
        +    "hour",
        +    "month"
        +  ],
        +  "type": "string"
        +}
  5. 1 tool update
    • Changedgpu_prices1 field changed
      • changedInput schema / properties / gpu / description
        Previous value: -"GPU id from list_gpus (h100-sxm, h200, b200, rtx-4090) or a name (\"H100 SXM\", \"RTX 4090\")."New value: +"GPU id (h100-sxm, h200, b200, rtx-4090) or a name (\"H100 SXM\", \"RTX 4090\")."
  6. 5 tool updates
    • First observedgpu_prices
    • First observedlist_gpus
    • First observedprice_index
    • First observedprovider_prices
    • First observedrecent_price_changes

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables users to describe an LLM fine-tuning job once and receive the cheapest, fastest, and most balanced GPU options across multiple cloud providers by calculating required VRAM and FLOPs. It aggregates live market pricing and returns ranked recommendations with clear data-source transparency.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables users to describe an LLM fine-tuning job in natural language and receive ranked GPU recommendations from a dozen cloud providers, based on estimated VRAM and FLOPs requirements. It surfaces the cheapest, fastest, and most balanced hardware options while disclosing the source and freshness of each price.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables users to describe an LLM fine-tuning job and receive ranked GPU recommendations across a dozen cloud providers based on estimated VRAM/FLOPs, live pricing, cost, and speed. It returns cheapest, fastest, and balanced hardware options without manual comparison.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources