Skip to main content
Glama

GPU Rental Prices (Tanod)

utilpeek: cheapest GPU per hour on AWS, Azure, Google Cloud and Akash, on-demand, spot and marketplace bids, by chip, memory and region

get_gpu_prices
Read-onlyIdempotent

utilpeek: GPU prices: cheapest H100, A100, L4 per GPU-hour on AWS, Azure, Google Cloud, Akash. Returns cheapest GPU prices per GPU-hour on AWS, Azure and Google Cloud (list prices) and Akash (marketplace bids with GPUs free), by chip, memory, minimum GPUs per cloud machine, region and price ceiling; returns USD per machine-hour or null for unknown shape and an unknown-shape exclusion count; optionally rent-or-buy break-even. Input: all optional: chip, min_gpu_mem_gb, min_gpus_per_machine, provider, regions, pricing, max_usd_per_gpu_hour, limit, rent_vs_buy. List prices from a snapshot refreshed twice a day, excluding tax, egress and storage; spot changes often. A snapshot over 36 hours old is a 503 (not charged). Typically under 0.1 s. Price: USD 0.002. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/cloud-gpu-price-api.html

Input Schema

NameRequiredDescriptionDefault
chipNoGPU chip, any case, e.g. H100 or A100 80GB.
limitNoRows to return, 1-100.
pricingNoPrice to rank by; any is the lower of the two and also includes Akash marketplace rows (ranked by median bid); on_demand and spot are cloud list prices only.any
regionsNoRegion names, e.g. us-east-1.
providerNoAWS, Azure, Google Cloud or Akash (marketplace bids, with GPUs free).
rent_vs_buyNoRent-or-buy break-even against the cheapest matching row: monthly cloud cost, monthly ownership cost, break-even month and totals. When min_gpus_per_machine is set and rent_vs_buy.gpus is omitted, compares all GPUs of that machine; an explicit gpus overrides it. Same price.
min_gpu_mem_gbNoMinimum GPU memory in GB.
max_usd_per_gpu_hourNoCeiling on the ranked price, USD.
min_gpus_per_machineNoMinimum GPUs in one cloud machine (1-16). Excludes rows without a known machine shape, including Akash marketplace inventory; count_excluded_unknown_machine_shape reports otherwise-matching rows excluded.

Output Schema

NameRequiredDescriptionDefault
noteNo
rowsNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
pricingNo
sourcesNo
rent_vs_buyNoOnly with the rent_vs_buy input: break-even against the cheapest matching row; null when no row matches (see rent_vs_buy_unavailable).
generated_atNo
count_matchedNo
count_returnedNo
rent_vs_buy_unavailableNo
count_excluded_unknown_machine_shapeNoOtherwise-matching priced rows excluded because min_gpus_per_machine is set and their machine shape is unknown (including Akash inventory). Before limit; zero without the filter. Only rows available from the snapshot and best-effort Akash read are counted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Annotations cover the safety profile, and the description then adds genuinely operational context: data is a snapshot refreshed twice a day, excludes tax, egress and storage, spot moves often, a snapshot older than 36 hours returns 503 (not charged), typical latency under 0.1 s, the price is USD 0.002 per call, and there is a free tier of 10 calls per IP per UTC day. Those cost, rate-limit and failure-mode details are exactly what 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.

Conciseness3/5

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

The core purpose is front-loaded, and most of the length is earned operational detail. However, the first sentence repeats what the second sentence says, listing the same providers, chips and pricing unit twice, which is wasted space in an already dense run-on.

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?

Given an output schema exists, the description need not explain return shape, yet it still notes machine-hour versus GPU-hour pricing, null for unknown shape, and the exclusion count. Combined with freshness, pricing, latency, cost, and docs URL, 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%, so every parameter is already documented in the schema, which sets the baseline at 3. The description restates the optional parameter names and adds meaning for a few (rent_vs_buy break-even, per-machine vs total GPU semantics) and for the unknown-shape exclusion count, but most parameters add no detail 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 and resource: cheapest GPU price per GPU-hour across AWS, Azure, Google Cloud and Akash, filtered by chip, memory, machine shape, region and price ceiling. Scope and dimensions are unambiguous. It does not acknowledge the similarly named sibling get_gpu_price_index, so the agent must infer the split between a price lookup and a price index.

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 by the strong purpose statement and the pricing enum note ('on_demand and spot are cloud list prices only'), which helps the agent choose a mode. However, there is no explicit when-to-use, when-not-to-use, or pointer to an alternative tool such as get_gpu_price_index for historical/index data. Guidance is inferable but not stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources