Skip to main content
Glama

Arrakis

Search GPUs

search_gpus
Read-onlyIdempotent

Search GPU machines you can rent now at live prices: B300, B200, H200, RTX PRO 6000, RTX 5090, H100 and more. Free; changes nothing. Use it before rent_gpu and to answer what a GPU costs right now. Rows come best first: what the GPU can do (capability, H100 = 1.0), its price and how reliable its host is, with badges saying why (Reliable host, NVLink, or a warning such as a host taking it back soon); sort=price lists the cheapest first. pick is the first row with the reason, cheapest the lowest whole-machine price. Each row has node_id (for rent_gpu), gpu, gpu_count (rent_gpu rents all of them unless gpu_count says fewer; max_gpus 1 finds single-GPU machines), vram_gb per GPU, price_per_gpu_hour_usd, price_per_hour_usd for the whole machine, CPUs (and cpu, the model), RAM, disk, location, tier and network. Badges also say when renters rate a host low, it often fails to start or its GPUs are slow next to the same GPU elsewhere. Tiers: on_demand runs until its removal time; spot costs less but its host can take it back at any time, so use it only for work that saves checkpoints off the machine. Prices can move within a minute: pass the row's price to rent_gpu as max_price_per_gpu_hour. For multi-machine training add min_nic_gbps 400 and min_nics_per_gpu 1; null network fields were not reported.

Input Schema

NameRequiredDescriptionDefault
sortNorecommended (default), price (cheapest first), value (capability per dollar on a trusted host) or capability (fastest GPU first).
tierNoOnly this tier. Default: all.
limitNo
countryNoTwo-letter country code, for example US or DE.
gpu_typeNoGPU family, for example H100.
max_gpusNoOnly machines with at most this many GPUs; 1 for a single-GPU job.
min_gpusNoOnly machines with at least this many GPUs.
nic_typeNoOnly this NIC type.
min_vram_gbNoOnly GPUs with at least this much memory each.
min_nic_gbpsNoRDMA NICs at least this fast, Gb/s (400, 800).
gpudirect_rdmaNotrue: only machines whose market reports GPUDirect RDMA.
min_nics_per_gpuNoRDMA NICs per GPU; 1 = one NIC per GPU.
max_price_per_gpu_hourNoPrice ceiling in USD per GPU-hour.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations establish the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description goes well beyond them: prices can move within a minute, spot hosts can reclaim machines so checkpoints must be saved off-box, null network fields mean 'not reported', and badges warn about unreliable or slow hosts. That is exactly the operational context an agent needs to act safely.

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?

Purpose and the call-before-rent rule are front-loaded, and almost every clause carries information. It is still a dense, semicolon-chained block, and the long enumeration of row fields (CPUs, cpu model, RAM, disk, location, tier, network) is tedious even though there is no output schema to carry it.

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 13-parameter, zero-required tool with no output schema, the description covers result ordering, badge meanings, tier risk, price volatility and the multi-machine recipe. Minor gaps remain: the default limit of 10 / max 50 and the fact that results are paged are left entirely to the 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 92%, so the schema carries most of the load, yet the description adds cross-tool meaning the schema cannot: node_id feeds rent_gpu, gpu_count determines how many GPUs rent_gpu takes, max_gpus 1 finds single-GPU machines, and a row's price should be passed back as max_price_per_gpu_hour. It adds little to the enum filters themselves, which the schema already documents.

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?

Starts with a concrete verb and resource ('Search GPU machines you can rent now at live prices') and enumerates the GPU families covered, so the agent knows exactly which results to expect. It is clearly distinguishable from rent_gpu, which it explicitly names as the downstream action.

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

Usage Guidelines5/5

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

Gives an explicit sequencing rule ('Use it before rent_gpu and to answer what a GPU costs right now') and a scenario-specific recipe ('For multi-machine training add min_nic_gbps 400 and min_nics_per_gpu 1'). It also implicitly excludes itself from mutating flows by noting it is free and changes nothing.

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