Skip to main content
Glama
aiexp1

Tanod MCP server

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

get_gpu_prices
Read-onlyIdempotent

Find cloud GPU list prices per GPU-hour across AWS, Azure, and Google Cloud. Filter by chip, memory, region, and budget; compare on-demand, spot, and rent-vs-buy.

Instructions

utilpeek: Cloud GPU prices: cheapest H100, A100, L4 per GPU-hour on AWS, Azure and Google Cloud. Returns cheapest cloud GPU list prices per GPU-hour on AWS, Azure and Google Cloud, on-demand and spot, by chip, GPU memory, region and price ceiling; optionally the month a purchase beats renting the cheapest row. Input: all optional: chip, min_gpu_mem_gb, 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

TableJSON 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.any
regionsNoRegion names, e.g. us-east-1.
providerNoAWS, Azure or Google Cloud.
rent_vs_buyNoRent-or-buy break-even against the cheapest matching row: monthly cloud cost, monthly ownership cost, break-even month and totals. Same price.
min_gpu_mem_gbNoMinimum GPU memory in GB.
max_usd_per_gpu_hourNoCeiling on the ranked price, USD.

Output Schema

TableJSON 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

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/openWorld annotations: snapshot refreshed twice a day, 36-hour staleness yielding a 503 that is not charged, spot-price volatility, exclusion of tax/egress/storage, typical latency under 0.1 s, USD 0.002 price and a 10-call free tier. This is exactly the operational context an agent needs.

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 outcome, then inputs, then operational caveats, so the agent can stop reading early. It is slightly redundant, repeating 'cheapest ... per GPU-hour on AWS, Azure and Google Cloud' from the title and again in the body, which costs a little tightness.

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?

With an output schema present, return values need no prose, and annotations already cover the safety profile. The description fills the remaining gaps — freshness, latency, cost, error semantics, docs link — leaving nothing material unsaid for an 8-parameter read-only query tool.

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 eight parameters are already documented in the schema, including the nested RentVsBuy fields. The description only restates the parameter names as 'all optional', adding no syntax or format detail beyond the structured data — the baseline 3.

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 ('Returns cheapest cloud GPU list prices per GPU-hour on AWS, Azure and Google Cloud'), with the axes of variation (chip, memory, region, price ceiling) spelled out. No sibling tool competes in this domain, so an agent can place it immediately.

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?

The description makes the use case clear (cloud GPU price comparison, optionally rent-vs-buy), and the pricing enum and filters tell the agent how to scope a query. It never states when NOT to use it or names an alternative, but no plausible alternative exists among the siblings.

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

Deploy Server

Other Tools