Skip to main content
Glama

compare_gpu_prices

Read-only

Compare tracked GPU rental prices for one GPU model, sorted by hourly cost, and filter by on-demand rates or data freshness.

Instructions

Compare tracked GPU rental prices for one model (e.g. 'H100', 'A100 SXM', 'RTX 4090', 'L40S'), cheapest first.

Same data as https://thelanternworks.com/api/v1/gpu-prices.json. Sorted by hourly_usd ascending; each result has source_url and checked_at. 'Cheapest' means cheapest among tracked providers, not the whole market. limit 1-25. Unknown model returns not_found listing tracked models. Each result has tier_class: on-demand | community | marketplace | interruptible (spot/preemptible) | reserved | dedicated-monthly. Reserved (reservation/commitment 'starting from') rates are left out unless include_reserved=true, and even then they are never reported as cheapest. The cheapest overall can be spot or community capacity; on_demand_only=true keeps only on-demand rates, and the summary names the cheapest on-demand rate when the overall cheapest isn't. include_history=true adds each result's price_history (daily-snapshot change points) and history.recent_changes (price changes for this model among tracked providers, last 30 days) from /api/v1/gpu-prices/history.json. Each result has data_age_hours (hours since its price was last verified), degraded (> 48 h) and stale (> 7 days). max_data_age_hours (optional) drops older rates; excluded_too_old reports how many were dropped.

Input Schema

NameRequiredDescriptionDefault
gpuYes
modeNofull
limitNo
on_demand_onlyNo
include_historyNo
include_reservedNo
max_data_age_hoursNo

Output Schema

NameRequiredDescriptionDefault
okYes
modeNo
errorNo
resultsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.16

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld, and the description adds substantial behavior beyond that: 'cheapest' is scoped to tracked providers not the whole market, reserved rates are excluded by default and never ranked as cheapest, tier_class taxonomy is enumerated, data_age_hours/degraded/stale thresholds are disclosed, and excluded_too_old is reported.

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-loads the core action and scope, and nearly every sentence carries operational detail. It is dense and slightly repetitive ('cheapest among tracked providers' restated as reserved 'never reported as cheapest') with awkward mid-sentence line breaks, but nothing is filler.

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 7-parameter read tool it covers ranking semantics, tier classes, freshness cutoffs and the not_found fallback; return-field explanation is partly redundant given an output schema exists, but it doesn't hurt. The only real omission is the undocumented 'mode' parameter.

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 description coverage is 0%, so the description must carry all parameter meaning, and it does for gpu (with examples), limit (1-25), on_demand_only, include_reserved, include_history and max_data_age_hours. The 'mode' parameter (default 'full') is never mentioned, leaving one of seven parameters undocumented anywhere.

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), resource (tracked GPU rental prices), scope (one model, cheapest first) and gives example model strings. It is distinguishable from deal-oriented siblings like compare_deals and search_deals, though the overlap with get_price_changes (history/price-change data) is never explicitly addressed.

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 concrete conditions for the optional flags: on_demand_only keeps only on-demand rates, include_reserved pulls in reservation rates that are otherwise dropped, include_history adds history payloads, max_data_age_hours drops stale rates. It also states the unknown-model fallback. It stops short of naming siblings to use instead.

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