GrabGPU
Server Details
Find where to rent a cloud GPU right now. find_gpu searches 22 providers for H100, H200, B200, B300, RTX 4090 and 70 more models, with the price per GPU hour and the stock each provider reported at the last daily check. Filter by model, node size and max price. Free, no key.
- Status
- Healthy
- Uptime
- 100.0% over 41 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- GrabGPU
TDQS
Scored across 1 tool
With a single tool there is nothing to confuse it with; its purpose (find rentable cloud GPU offers sorted by price) is unambiguous. An agent will never misselect here.
find_gpu follows a clear verb_noun snake_case convention. There are no other tools to introduce inconsistency, so the pattern is trivially predictable.
One tool is thin even for a narrowly scoped lookup service, but the domain (search GPU rental offers) is genuinely single-action, so it is not absurd. A bit more surface would make it feel complete rather than minimal.
The tool covers discovery of offers and includes rent_urls, so the core happy path works, but there is no way to filter by GPU model, memory, region, or provider, and no detail/history lookup. Agents asking anything beyond 'cheapest available' will hit a dead end.
Available Tools
1 toolfind_gpuFind a GPU to rentARead-onlyIdempotentInspect
Find cloud GPUs to rent now: price per GPU hour and the stock each provider reported at the last hourly check. Rentable offers come first, cheapest first. Each offer has a rent_url that opens the provider (some are referral links, same price for the buyer).
| Name | Required | Description | Default |
|---|---|---|---|
| gpu | No | GPU model, e.g. "H100", "B300", "RTX 4090". Omit for every model. | |
| limit | No | How many offers, default 20, at most 100. | |
| billing | No | Only offers billed this way, ordered by that price. Left out: the entry price, whatever the billing. | |
| in_stock | No | Default true: only offers the provider reports in stock. false: also offers that are out of stock or have unknown stock, for a full market view. | |
| min_gpus | No | Smallest node size needed, e.g. 8 for an 8x node. | |
| max_price | No | Highest USD per GPU hour. |
Output Schema
| Name | Required | Description |
|---|---|---|
| unit | Yes | |
| offers | Yes | |
| captured_at | Yes | When the prices and stock were collected |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, and non-open-world, so the description's value is in the extra context it supplies: data freshness ("the stock each provider reported at the last hourly check"), result ordering, and the referral-link disclosure with the reassurance that the price is the same for the buyer. It stops short of mentioning rate limits or what happens when no offers match, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, then ordering, then the rent_url/referral caveat. No filler and no repetition of schema content; every sentence adds a fact the agent could not get from structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 enumerated, yet the description still flags the key output field (rent_url) and its referral implication. Combined with annotations covering the safety profile and a fully documented six-parameter schema, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and every parameter has a substantive description including defaults, bounds, and enum semantics, so the schema carries the load. The description only restates the price and stock concepts at a high level (relevant to max_price and in_stock) without adding filter-combination behavior or syntax beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Find cloud GPUs to rent") plus exactly what comes back: price per GPU hour and last-reported stock. The ordering rule ("Rentable offers come first, cheapest first") and the rent_url field make the tool's output shape unambiguous, so an agent knows precisely what a call yields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The framing "rent now" and the note that rent_url opens the provider make the intent clear: this is a shopping/procurement lookup, not a monitoring tool. There are no sibling tools and no explicit exclusions, so no when-not guidance is possible, which caps this at 4 rather than 5.
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 tool update
- Changed
find_gpu12 fields changed- added
Input schema / properties / billingAdded value: +{ + "description": "Only offers billed this way, ordered by that price. Left out: the entry price, whatever the billing.", + "enum": [ + "on_demand", + "spot", + "reserved" + ], + "type": "string" +} - added
Output schema / properties / offers / items / properties / availability / descriptionAdded value: +"Stock the provider reported for this GPU" - added
Output schema / properties / offers / items / properties / on_demand_availabilityAdded value: +{ + "enum": [ + "in_stock", + "unknown", + "out_of_stock" + ], + "type": "string" +} - added
Output schema / properties / offers / items / properties / on_demand_max_gpusAdded value: +{ + "description": "Largest node sold on demand; null when the provider lists none", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / offers / items / properties / on_demand_usd_per_gpu_hourAdded value: +{ + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / offers / items / properties / reserved_availabilityAdded value: +{ + "enum": [ + "in_stock", + "unknown", + "out_of_stock" + ], + "type": "string" +} - added
Output schema / properties / offers / items / properties / reserved_max_gpusAdded value: +{ + "description": "Largest node sold reserved; null when the provider lists none", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / offers / items / properties / reserved_usd_per_gpu_hourAdded value: +{ + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / offers / items / properties / spot_availabilityAdded value: +{ + "enum": [ + "in_stock", + "unknown", + "out_of_stock" + ], + "type": "string" +} - added
Output schema / properties / offers / items / properties / spot_max_gpusAdded value: +{ + "description": "Largest node sold as spot; null when the provider lists none", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / offers / items / properties / spot_usd_per_gpu_hourAdded value: +{ + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / offers / items / properties / usd_per_gpu_hour / descriptionAdded value: +"The entry rate: the on-demand price"
1 tool update
- Changed
find_gpu1 field changed- changed
Input schema / properties / in_stock / descriptionPrevious value: -"Only offers the provider reports in stock. Default true."New value: +"Default true: only offers the provider reports in stock. false: also offers that are out of stock or have unknown stock, for a full market view."
1 tool update
- Changed
find_gpu7 fields changed- added
Input schema / properties / limit / maximumAdded value: +100 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / max_price / exclusiveMinimumAdded value: +0 - added
Input schema / properties / min_gpus / minimumAdded value: +1 - changed
Input schema / properties / min_gpus / typePrevious value: -"number"New value: +"integer" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "captured_at": { + "description": "When the prices and stock were collected", + "type": "string" + }, + "offers": { + "items": { + "properties": { + "availability": { + "enum": [ + "in_stock", + "unknown", + "out_of_stock" + ], + "type": "string" + }, + "country": { + "type": [ + "string", + "null" + ] + }, + "direct_url": { + "type": "string" + }, + "gpu": { + "description": "GPU slug, e.g. \"nvidia-h100\"", + "type": "string" + }, + "gpu_count_range": { + "type": [ + "string", + "null" + ] + }, + "gpu_name": { + "type": "string" + }, + "is_referral": { + "description": "rent_url ends in a referral link; the buyer pays the same price", + "type": "boolean" + }, + "max_gpus": { + "description": "Largest node the provider offers", + "type": [ + "number", + "null" + ] + }, + "provider": { + "description": "Provider slug", + "type": "string" + }, + "provider_name": { + "type": "string" + }, + "rent_url": { + "description": "Link to give the buyer; counts the click, then opens the provider", + "type": "string" + }, + "usd_per_gpu_hour": { + "type": [ + "number", + "null" + ] + }, + "vram_gb": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + "unit": { + "type": "string" + } + }, + "required": [ + "captured_at", + "unit", + "offers" + ], + "type": "object" +}
1 tool update
- First observed
find_gpu
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs112 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.