Skip to main content
Glama

Server Details

Live GPU spot market: 1,700+ offers, 10 provider feeds. History, watches, limit orders, no fee

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
aitools420/compute-wick
GitHub Stars
0

Available Tools

25 tools
account_usageBInspect

Your metered usage ledger: placements, destroys, estimated hours and USD, and the platform fee (2.5%, $0.01 min, $5.00 cap per lease per UTC day) priced at the rate live at event time. Distinct from fee_bps, the display markup.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
account_tokenYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of explaining behavior. It does disclose the fee structure (2.5%, $0.01 min, $5.00 cap, rate live at event time) and the contents of the ledger. However, it does not state whether this is a read-only operation, whether it returns historical or current data, or what the response shape looks like, so the behavioral picture is incomplete.

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?

The description is a single dense sentence with no filler. The opening phrase 'Your metered usage ledger' immediately communicates the resource, and the fee details are relevant context. It is compact and front-loaded, though the density makes it slightly harder to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides valuable domain context around pricing and fee calculation, which helps an agent understand what this tool returns. But with no output schema and no explanation of the days parameter, the description is not fully self-sufficient for correct invocation. It is adequate for a simple two-parameter read-style tool, but gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain parameters, but it does not mention account_token or days at all. The required account_token is inferable from the tool name and schema, but the optional days parameter with default 90 is completely unexplained, leaving the agent unsure how to set time ranges. The description adds no parameter-level meaning.

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?

The description identifies the resource as a metered usage ledger and lists concrete contents: placements, destroys, estimated hours, USD, and platform fee. It also distinguishes itself from fee_bps, which helps separate it from related concepts. It lacks an explicit verb like 'retrieve' or 'list,' but the meaning is still reasonably clear.

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 signals that this tool is for metered usage accounting and explicitly contrasts itself with fee_bps, saying fee_bps is the display markup. This gives the agent some guidance on when to choose this tool versus a fee-related alternative. It does not provide full when-to-use or when-not-to-use guidance against all siblings, but the distinction is helpful.

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

best_valueAInspect

Perf-per-dollar board: for each GPU model, best live price vs its FP16 tensor throughput (dense, vendor spec sheets) -> TFLOPS per dollar-hour. The answer to 'most compute for my budget' rather than 'cheapest card'. Models without a defensible public spec figure are listed as unrated.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
min_vram_gbNo
offer_classNo

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It explains the methodology (FP16 tensor throughput from vendor spec sheets), the comparison basis (live price), and the fallback behavior for models without defensible specs (listed as unrated). It does not describe more operational behavior such as pagination or filtering, but it is transparent about the core calculation.

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?

The description is appropriately compact and front-loaded with the core concept. Each sentence adds useful information: the formula, the intended use case, and the handling of missing data. It is slightly jargon-heavy but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only board with zero required parameters, the description gives enough to understand intent, but it omits parameter behavior and any sense of what the returned list contains beyond the metric. Without an output schema, those details would have been valuable. This is an adequate but not complete definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters have 0% schema description coverage and the description does not explain how limit, min_vram_gb, or offer_class affect the calculation or the output. The names and defaults are somewhat indicative, but the description does not tie them into the board or enumerate valid offer_class values, so agents get limited semantic guidance.

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?

Describes a clear, specific deliverable: a per-GPU-model ranking of price-to-FP16-throughput performance expressed as TFLOPS per dollar-hour. It also distinguishes itself from the generic 'cheapest card' answer, making its purpose unambiguous among the sibling tools.

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?

Provides a clear use case: when the user wants the best compute per dollar rather than the lowest price. It does not name specific sibling tools or explicitly state when not to use it, so it falls just short of full explicit routing.

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

cancel_limit_orderBInspect

Cancel a limit order. Requires the order_secret from create_limit_order.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes
order_secretYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description must carry the behavioral disclosure. It states the action ('Cancel') which implies a destructive state change, but it does not mention side effects, reversibility, or what happens if the order is already filled or does not exist. The mention of the order_secret is useful but incomplete for a mutation tool with no safety annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single, front-loaded sentence that states the core action and the key prerequisite. There is no fluff or redundant information, making it highly concise and efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and no annotations, the description is incomplete. It fails to explain the role of the required order_id parameter, does not describe the expected outcome or error cases, and does not mention any consequences of cancellation. An agent calling this tool lacks sufficient information to fully understand its behavior and requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 explain both parameters. It partially explains order_secret by referencing create_limit_order, but it does not mention order_id at all. The schema only labels order_id as 'Order Id' with no type or format details, so the description fails to compensate for the missing parameter semantics. An agent would need to infer the purpose of order_id from context.

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?

The description uses a clear verb+resource structure: 'Cancel a limit order.' It is unambiguous and distinguishes itself from siblings like create_limit_order, fill_limit_order, and limit_order_status, which have different actions. The mention of the order_secret prerequisite further clarifies its specific role.

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?

The description provides a prerequisite ('Requires the order_secret from create_limit_order') that implies when it can be used, but it does not explicitly state when to use this tool versus alternatives like fill_limit_order or limit_order_status. There is no when-not-to-use guidance or comparison with other operations, leaving some inference to the agent.

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

create_limit_orderAInspect

Place a standing LIMIT ORDER: when the best live fee-adjusted price for gpu (and optional offer_class) trades at or under max_price_per_gpu_hr, the station cuts a signed FILL TICKET naming the exact offer. The station never holds your provider key — the ticket is executed by whoever does: the open-source keyholder sidecar (/agents/#sidecar), your own agent long-polling POST /api/orders/{id}/ticket, or a human with curl. Returns the order with order_secret SHOWN ONCE — it authenticates ticket reads and the fill call for this order only and can rent nothing by itself. Triggers are checked on the poll cadence (~5-min bars, not tick-by-tick); orders expire in 30 days; a ticket lasts ~4 minutes then the order re-arms.

standing=true makes it a STANDING order — compute that survives: after a
live fill the sidecar keeps watching the machine, and when it is preempted
or dies the order re-arms and refills from the CURRENT best offer, up to
max_refills times with cooloff_seconds between death and refill. Honest
limits: this re-provisions the MACHINE, not the WORK (GPU memory is not
portable — resume from your own checkpoints); refills need your sidecar
alive (it is both witness and executor); cancelling stops supervision but
cannot destroy a running machine (the station holds no key). Watchdog:
spend_alert_usd / age_alert_hours fire a "still yours?" webhook once per
machine when the spend ESTIMATE (uptime x price; the provider's bill is
authoritative) or age crosses your line — auto_destroy_budget_usd remains
the hard stop.
ParametersJSON Schema
NameRequiredDescriptionDefault
gpuYes
standingNo
max_refillsNo
min_vram_gbNo
offer_classNo
webhook_urlNo
min_gpu_countNo
age_alert_hoursNo
cooloff_secondsNo
spend_alert_usdNo
max_price_per_gpu_hrYes
auto_destroy_budget_usdNo

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and delivers an exceptional disclosure: security model (station never holds the provider key), return contract (order_secret shown once), timing cadence (5-min bars, 30-day expiry, ~4-minute ticked), standing re-arming semantics, and honest caveats (re-provisions machine not work, sidecar must stay alive, cancelling cannot destroy a running machine).

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 core mechanism first, then standing semantics, then watchdog behavior. It is long (~260 words), but for a 12-param tool with zero schema documentation nearly every sentence carries distinct information; only minor redundancy like 'standing=true makes it a STANDING order' could be trimmed.

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 high-complexity tool with no annotations and no output schema, the description covers trigger, security, return contract, timing, failure modes, refill semantics, and alerts. The remaining gaps — two GPU filter parameters and an explicit webhook_url mapping — prevent a 5.

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 0%, so the description must compensate, and it explains 9 of 12 params in depth: trigger price, optional offer_class, standing flag, max_refills, cooloff_seconds, spend/age alert thresholds, and auto_destroy as hard stop. But min_vram_gb and min_gpu_count are never mentioned, and webhook_url is only imlised by the webhook behavior.

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?

The description opens with a specific verb and resource — 'Place a standing LIMIT ORDER' — and specifies the exact trigger mechanism (best fee-adjusted price at or under max_price_per_gpu_hr). This clearly distinguishes it from direct-rental siblings like rent_best, rent_offer, and rent_x402, and from fill_limit_order, which exists to execute the ticked this tool produces.

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?

Clear context for conditional, price-capped compute acquisition with optional standing behavior, and explicit detail on how the resulting ticked gets executed (sidecar, agent polling, or curl). However, it never names the immediate-rental alternatives or states when not to use this tool, leaving that routing to inference.

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

create_watchAInspect

Create a price watch (tripwire): fires when the best live fee-adjusted price per GPU-hour matching gpu (and optional offer_class) drops to or under max_price_per_gpu_hr. Checked every poll (~5 min). Returns the watch with its id — the id is the only key; poll it with watch_status, or give a public webhook_url to be POSTed on each trip. Watches re-arm when the price climbs 2% back over the line.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuYes
offer_classNo
webhook_urlNo
max_price_per_gpu_hrYes

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly: it discloses polling frequency (~5 min), the webhook POST behavior, the fact that the returned id is the only key, and re-arm behavior after a 2% price climb. This gives an agent a strong model of the operation's runtime behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is dense but tightly organized, front-loading the core purpose and then efficiently covering trigger conditions, polling, return value, webhook behavior, and re-arming. Every sentence earns its place, with no filler.

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?

Despite having no output schema and no annotations, the description explains the return value (the watch with its id), how to use that id, the webhook alternative, and lifecycle behavior. It is complete enough for an agent to call the tool correctly and know what to expect next.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/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 compensate, and it does: it explains gpu as the matching target, offer_class as optional, max_price_per_gpu_hr as the trigger threshold, and webhook_url as the public endpoint for trip notifications. Every parameter is given meaningful semantic context beyond its bare schema title.

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?

Description uses a specific verb and resource ('Create a price watch (tripwire)') and precisely defines the trigger condition. It clearly distinguishes this from siblings like watch_status and delete_watch by describing what creation accomplishes.

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 gives clear context: it creates a tripwire that fires when price drops to or under a threshold, and it explains how to consume results via watch_status or a webhook. It does not explicitly state when not to use this tool versus alternatives like create_limit_order, but the usage context is clear.

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

delete_watchAInspect

Delete a watch by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
watch_idYes

TDQS

A3.8/5.0
Behavior3/5

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

The description clearly signals a destructive operation by using the word 'Delete'. With no annotations present, the description carries the full burden, but it does not disclose whether deletion is permanent, reversible, or has side effects on related resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single sentence with no wasted words. It is immediately readable and upfront about the core operation and the key parameter.

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 simple single-parameter delete operation, the description is nearly complete. It tells the agent what action to perform and what input is required. It does not describe the return value or side effects, but no output schema exists and the operation is straightforward.

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 0%, but the description partially compensates by clarifying that watch_id is the identifier of the watch being deleted. Still, it adds little beyond the parameter name and title, and provides no format, example, or additional context for what makes a valid watch_id.

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?

The description states a specific verb ('Delete'), a clear resource ('a watch'), and the selection mechanism ('by id'). This cleanly differentiates it from siblings like create_watch and watch_status, all at a glance.

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?

The intended use is implied directly by the purpose: use this tool to delete a watch by its id. However, the description does not explicitly mention alternatives, prerequisites, or when not to use it, leaving the when-to-use guidance to inference.

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

destroy_rentalAInspect

Destroy an instance previously placed on your account (vast or runpod). Your key passes through and is never stored.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes
providerYes
provider_instance_idYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description must carry the burden of behavioral disclosure. It communicates that this is a destructive operation and adds a security-relevant detail ('Your key passes through and is never stored'). However, it does not explain whether the action is irreversible, whether it stops billing, or what happens if the instance is not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

Two short sentences with no filler. The primary action is front-loaded, and the security-relevant behavior about key handling is presented as a separate concise statement. Every sentence earns its place.

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 simple destruction tool with only three required parameters and no output schema, the description provides enough to understand scope and interesting constraints. It is not fully complete because it omits behavior such as irreversibility or error cases, but little is needed for this API shape.

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?

The schema has 0% description coverage, so the description must compensate. It partially does by naming the allowed providers and clarifying the api_key is passed through and not persisted. The parameter names are mostly self-explanatory, but the description does not explain where provider_instance_id comes from or whether exact provider string values are required.

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?

The description states a specific verb ('Destroy') and exact resource ('an instance previously placed on your account'), and even scopes it to specific providers ('vast or runpod'). This clearly separates it from the rental, status, and market-related sibling tools.

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?

It gives clear context for when to invoke the tool: an instance that was previously placed on the account. It does not explicitly name alternatives or exclusions, but the lifecycle language ('previously placed') makes the intended usage obvious alongside sibling tools like rent_best and rental_status.

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

fill_limit_orderAInspect

Execute a limit order's live fill ticket on YOUR provider key (used for this one call, never stored). Only works while the order is ticketed; the offer is re-quoted live and refused above the order's line. Idempotent per order — a retry returns the first receipt rather than renting a second machine. The order's auto_destroy_budget_usd (if set) arms the budget guard exactly as rent_offer does.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageNo
api_keyYes
confirmNo
disk_gbNo
dry_runNo
order_idYes
order_secretYes
account_tokenNo

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It covers key handling ('never stored'), temporal validity, price refusal above the line, idempotency (retry returns first receipt), and budget guard arming. This is thorough and transparent for a live-action tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a compact three-sentence paragraph with no fluff. The primary action is front-loaded, and all additional information (temporal, idempotency, budget) is relevant and tightly packed. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the core behavior is well documented, the tool has 8 parameters and no output schema, and the description does not address the optional parameters at all. The description is complete for the primary use case but incomplete for full parameter understanding, which is necessary for correct invocation.

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?

The schema has zero parameter descriptions, so the description must compensate. It gives context about order_id and order_secret implications (idempotency, retry) and the api_key as 'provider key', but does not explain the remaining five optional parameters (image, confirm, disk_gb, dry_run, account_token). This leaves gaps for the agent to guess, warranting a middle score.

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?

The description specifies a precise verb-action ('Execute a limit order's live fill ticket') on a specific resource (a limit order). This clearly separates it from sibling tools like create_limit_order and cancel_limit_order, so an agent can immediately understand its role.

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 states a clear temporal constraint ('Only works while the order is ticketed') and explains when it is applicable. It does not explicitly name alternatives, but the context makes it evident this is for filling an existing order, and the idempotency note implies safe retry behavior. Since it does not mention when to use siblings, it gets a 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.

get_offerAInspect

Fetch one offer by its id (from search_offers).

ParametersJSON Schema
NameRequiredDescriptionDefault
offer_idYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. 'Fetch' implies a read-only operation, which is useful, but the description does not disclose what happens when the offer_id is not found, whether errors are raised, or what the return shape is. Adequate but minimal for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

A single, direct sentence with no filler. The core purpose is front-loaded, and the provenance hint is appended without redundancy.

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 simple single-parameter lookup, the definition is largely complete. It explains what the tool does and where the parameter value comes from. The main missing piece is return-value or not-found behavior, but the tool is simple enough that this is a minor gap.

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 0%, so the description must compensate. It does implicitly explain that offer_id identifies an offer and that the id comes from search_offers, which adds some provenance. However, it adds no format, example, or guidance beyond that.

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?

The description states a clear verb ('Fetch') and resource ('one offer') with an explicit id lookup. The parenthetical '(from search_offers)' gives provenance and distinguishes it from sibling search_offers and other tools.

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 note '(from search_offers)' implies the correct usage context: call this after search_offers to fetch a specific offer. It does not explicitly state when not to use it, but the context is clear for an agent.

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

idle_historyBInspect

The idle-capacity index over time: share of listed GPU capacity that is interruptible (spot/bid) — idle hardware looking for work. Points are [ts, idle_share, idle_offers, total_offers].

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It does add useful context about what the points represent and the output format, but it does not disclose behaviors like how the hours parameter affects the time window, whether results are aggregated, or what the default behavior is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

Two sentences carry a large amount of context: the metric is defined in plain language, and the exact point shape is listed. No fluff or redundant restatement exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although the tool is simple with one optional parameter, the description's lack of parameter semantics leaves an agent without enough information to confidently choose the right time range. The output format is partly covered by 'points are ...', but the API's behavior over time remains under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes only the field name, type, and default for hours, with 0% coverage from the description. The description never explains what 'hours' controls, how it affects the returned time series, or why the default is 168.

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?

The description specifies a clear, measurable resource: the idle-capacity index over time, capturing the share of listed GPU capacity that is interruptible. It also defines the exact point format [ts, idle_share, idle_offers, total_offers], making the tool's function unambiguous and distinguishing it from siblings like price_history or market_stats.

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

Usage Guidelines2/5

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

There is no guidance on when to use idle_history versus alternatives such as market_stats or price_history. The usage context is only implicit: it is a history tool for idle capacity, but no explicit when-to-use or when-not-to-use guidance is given.

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

limit_order_statusBInspect

State of a limit order (armed/ticketed/filled/cancelled/expired), last price seen, recent events. Pass order_secret to also read the live fill ticket when one is cut.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes
order_secretNo

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns state, last price, events, and optionally a live fill ticket if order_secret is provided. However, it does not explicitly state that the tool is read-only or has no side effects, nor does it mention authentication or rate limits. The behavioral profile is partially transparent but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is two sentences, efficiently packed. It front-loads the main output and adds a conditional for the optional parameter. No redundant words or over-explanation. Perfectly concise and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 0% schema coverage, the description should provide more context. It mentions the output categories but does not describe the response structure, error handling, or when to use it. The lack of detail on the behavior when order_id is invalid or how the live fill ticket is delivered makes it incomplete for an agent to confidently invoke.

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 0%, so the description must compensate. It explains the purpose of order_secret (to read the live fill ticket) but does not elaborate on order_id beyond the schema's minimal title 'Order Id'. While the name implies order_id, the description adds some value for order_secret but not for order_id, leaving a gap.

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?

Description clearly states the tool reads the state of a limit order, listing possible states (armed/ticketed/filled/cancelled/expired) and additional info (last price, events). It identifies the specific resource and operation. However, it does not explicitly differentiate from sibling tools like fill_limit_order or cancel_limit_order, so it's clear but lacks sibling distinction.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. While it mentions passing order_secret for an additional capability, it does not state when to choose limit_order_status over other tools or any exclusions. The context of checking status is implied but not directly stated.

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

market_statsAInspect

Live market snapshot: total offers, GPU models, idle-capacity share, per-provider freshness/health, cheapest price per model, current fee_bps.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

There are no annotations, so the description must carry behavioral context. It does convey that this is a live, current snapshot and names the expected output fields. It does not explicitly disclose that it is read-only/side-effect-free, nor does it explain error conditions or usage limitations, which would strengthen transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single compact sentence that front-loads the main concept, 'Live market snapshot', and then gives a structured list of the included data points. It contains no filler, redundant phrasing, or unnecessary background.

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?

Given the zero-parameter surface and simple snapshot behavior, the description covers the essential context an agent needs: what kind of data is returned and which market segments it spans. Some terms, such as 'freshness/health' and 'fee_bps', are not fully defined, so an agent might still need to inspect actual response shape, but the tool is usable as described.

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?

The tool accepts zero parameters and the schema description coverage is 100%, so there are no parameter details for the description to add. The description correctly focuses on what the snapshot contains rather than on nonexistent inputs. This matches the zero-parameter baseline.

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?

The description specifies exactly what the tool returns: a live market snapshot with total offers, GPU models, idle-capacity share, provider freshness/health, cheapest price per model, and current fee_bps. This clearly identifies the aggregate market-overview purpose. It does not start with an explicit verb, but the resource and scope are still evident.

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?

The 'live / snapshot' framing and aggregate field list imply this is the current market-overview tool, as opposed to offer-level tools, history tools, or watch-management tools. However, it does not explicitly state when to prefer this tool over siblings or mention any exclusions, so the usage guidance remains implied rather than direct.

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

price_historyAInspect

Price history for one GPU model (exact name from search_offers/market_stats, e.g. 'RTX 4090'). offer_class: on_demand | interruptible. Returns per-provider series of [ts, min_price_per_gpu_hr, median_price_per_gpu_hr, offer_count]; ranges past 3 days are bucketed (hourly, then 6-hourly past a week).

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuNo
hoursNo
gpu_modelNo
offer_classNoon_demand

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It transparently describes the return format (per-provider series of [ts, min, median, offer_count]), the bucketing behavior (hourly then 6-hourly past a week), and the time ranges. This goes beyond just saying 'returns price history' and informs the agent about the data structure and granularity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is highly efficient: two sentences that front-load the core purpose and example, then detail output format and bucketing. No fluff or unnecessary repetition. Every phrase adds value.

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 tool with no output schema, the description effectively communicates the return shape and behavior. It covers key aspects like data structure, bucketing, and the required exactness of the GPU name. Potential gaps: error cases or specifics about the hours parameter (e.g., if 168 default maps to a week) are not explicitly stated, but the core usage is covered.

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 explain each parameter. It explicitly defines offer_class as 'on_demand | interruptible' and clarifies the gpu parameter requires an exact name from search_offers/market_stats. The hours parameter is implicitly tied to 'past 3 days' bucketing, but the exact unit (hours) is not restated. This compensates for the missing schema descriptions.

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?

The description clearly states the tool's purpose: 'Price history for one GPU model' with an example format (e.g., 'RTX 4090'). It specifies the resource (GPU model) and the action (returns price history). The mention of exact name from search_offers/market_stats also differentiates it from sibling tools that might provide current prices or aggregated stats.

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?

The description implicitly conveys when to use this tool (to get historical price data for a specific GPU) but does not explicitly compare with alternatives like market_stats or price_position. It provides context like exact name requirement and offer_class, but exclusions or when-not-to-use are missing.

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

price_positionAInspect

Rent-now-or-wait context: where the current best price for one GPU model sits inside its own trailing 7/30-day range (percentile, 24h trend, verdict). Descriptive, not a forecast.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuNo
gpu_modelNo
offer_classNoon_demand

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the tool is descriptive rather than predictive, which is a key behavioral trait. It also lists the return components (percentile, trend, verdict), giving the agent a clear expectation of the response shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the purpose and includes a clarifying disclaimer. Every word adds value, with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose and output but omits parameter details and the meaning of 'verdict' or how the percentile is computed. Since there is no output schema, the agent relies on the description to understand the response format, which is only partially addressed. The tool seems simple, so this level of detail is adequate but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. It mentions 'one GPU model' but does not map this to the gpu and gpu_model parameters, nor does it explain offer_class or its default. The agent cannot infer parameter meanings or valid values from the description alone.

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?

The description clearly states the tool provides context on the current best price position within a trailing 7/30-day range, including percentile, 24h trend, and verdict. It specifies the resource (one GPU model's best price) and the output elements, making it distinct from siblings like price_history (historical data) and market_stats (broader metrics).

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 phrase 'Rent-now-or-wait context' gives a clear use case for decision-making. It also explicitly states 'Descriptive, not a forecast,' which effectively tells the agent when not to use it (for predictive purposes). While it doesn't name alternative tools, the context is sufficient to guide selection.

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

provider_reliabilityAInspect

How dependable each provider's data feed has been for this station (poll success over the trailing window), plus the provider's own average machine reliability where reported. feed_score is about the DATA, not their hardware.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of explaining the tool's behavior. It adds useful nuance, especially that feed_score is about data quality, not hardware, and that machine reliability is only included where reported. However, it does not explain units, likely output shape, or whether missing values appear as null, an omission that keeps this at the middle range.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is economical, front-loaded with the core purpose, and every phrase earns its place. The caveat that feed_score is about data rather than hardware is valuable and uses no words. No filler, redundancy, or unnecessary detail.

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 low-complexity query-like tool with one parameter and no annotation, the description is almost enough: it defines scope, the underlying metric, the optional 'machine reliability' component, and the crucial nuance about what feed_score is not. It does not state default behavior for days or expected output shape, but the input schema provides the default and low complexity reduces the need for more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, days, has zero schema description coverage, so the description must compensate. It mentions a 'trailing window' but never explicitly connects that window to the days parameter, nor does it clarify that changing days changes the reliability window. The relationship is implausible but not stated, which is a meaningful gap for a single-parameter tool.

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?

The description clearly identifies the resource: provider reliability for this station over a trailing window, and even clarifies that feed_score concerns data dependability rather than hardware. It lacks a direct verb like 'returns' or 'gets', and it does not explicitly distinguish itself from sibling tools, so it stops short of a 5.

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 gives clear context for when the tool is relevant: evaluating how dependable each provider's data feed has been for this station. It does not list exclusions or explicitly compare against alternatives like market_stats or price_history, so it lacks the 'use this instead of X' guidance that would make it a 5.

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

register_accountAInspect

Create a metering account: returns a bearer token (shown once, we keep only a hash). Pass it as account_token on rent calls to build a usage ledger you can read back with account_usage. Optional — renting works without one.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo

TDQS

A4.6/5.0
Behavior5/5

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

No annotations are present, so the description carries the full burden. It discloses that a bearer token is returned and shown only once, that only a hash is stored, and that the token is reused as account_token on rent calls. This is strong behavioral context for a state-creating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

Three short sentences deliver purpose, return behavior, token usage, ledger purpose, and optionality without unnecessary words. The most important information is front-loaded and every sentence earns its place.

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?

This tool has only one optional parameter and no output schema, but the description still explains the return value, its security properties, how to use it later, and the sibling tool for reading results. For the complexity level, nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter, label, with zero schema-level description and 0% schema coverage. The tool description does not mention the label at all, so an agent cannot tell what values are meaningful or whether it affects account identification. Since the description does not compensate for the coverage gap, this is lacking.

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?

The description states a specific verb and resource: 'Create a metering account.' It clearly differentiates from the read-back tool account_usage by framing registration as the setup step that returns a token. The intent is unmistakable and not a tautology.

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?

The description gives both when-to-use and when-not-to-use guidance: create the account when you want a usage ledger, and note that it is optional since renting works without one. It also ties the returned token to rent calls and account_usage, which gives the agent a clear usage path.

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

rental_statusAInspect

Live state of an instance on your account: running/starting/stopped/ gone, uptime, price, estimated spend so far, and the budget guard's state if one is armed. Read-only; your key passes through and is never stored.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes
providerYes
provider_instance_idYes

TDQS

A3.8/5.0
Behavior5/5

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

There are no annotations, so the description carries the full behavioral burden. It does this well by explicitly declaring 'Read-only', stating that the API key passes through and is never stored, and noting the conditional nature of the budget guard output. This gives the agent important side-effect and auth-handling information that is not available elsewhere.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

Two sentences with no filler. The return value list is front-loaded, the resource scope is stated immediately, and the useful security/read-only note is packed compactly into the second sentence. Every part earns its place.

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?

Without an output schema, the description usefully enumerates the major return fields and possible state values, which is most of what the agent needs. The main gaps are parameter formats and provider identifiers, but the core behavior is adequately specified for a status tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate for entirely undocumented parameters. It does this only for api_key via 'your key passes through', and only partially for provider_instance_id via 'an instance on your account'. The provider parameter is given no meaning, format, or allowed-value context, and no enum guidance exists.

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?

The description clearly identifies the resource ('an instance on your account') and lists the exact fields returned: running/starting/stopped/gone, uptime, price, estimated spend, and budget guard state. It stops short of an explicit verb like 'get' or 'retrieve', and it does not explicitly distinguish itself from siblings such as watch_status or account_usage, though the instance-specific scope is implied.

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?

The purpose is clear enough that an agent can infer when to call it: when it needs the live status and cost of a rental instance. However, no explicit guidance is given about when to prefer this over account_usage or watch_status, and no alternatives are named or excluded.

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

rent_bestAInspect

One-shot rent: search the live book with these filters and place on the best (cheapest) matching offer — 'cheapest H100 under $2/hr, go'. Same guarantees as rent_offer (dry-run default, live re-quote, your max_price_per_gpu_hr is absolute). If the best offer is already gone it walks to the next, at most 3, and reports what it skipped.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuNo
imageNo
labelNo
api_keyYes
confirmNo
countryNo
disk_gbNo
dry_runNo
providerNo
min_vram_gbNo
offer_classNo
account_tokenNo
min_gpu_countNo
idempotency_keyNo
max_price_per_gpu_hrYes
auto_destroy_budget_usdNo

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It discloses dry-run default behavior, absolute price enforcement, the fallback walk to the next best offer, the maximum number of retries, and that skipped offers are reported. This is unusually transparent for a rental-placement tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is compact, uses a realistic user example, and front-loads the core purpose. It references rent_offer for shared guarantees instead of duplicating them, and the two-sentence structure keeps the most important behavioral details close together.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description captures the main decision logic, pricing guarantee, dry-run behavior, and fallback behavior, which makes it a viable tool description. However, with no annotations and no output schema, it lacks details about the full response, errors, and the significance of the 'confirm' and other optional parameters, leaving gaps for an agent needing complete invocation context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are 16 parameters and 0% schema description coverage, so the description is the primary source of parameter meaning. It only meaningfully explains max_price_per_gpu_hr as an absolute limit and refers to the others generically as 'filters'. Most parameters remain effectively undisclosed in semantics.

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?

The description states a specific action ('One-shot rent: search the live book with these filters and place on the best matching offer') and supports it with a concrete example intent ('cheapest H100 under $2/hr, go'). It clearly signals that this tool is for automatically choosing the cheapest matching offer, which separates it from manually selecting a specific offer via rent_offer.

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 conveys the intended use case: rent immediately on the cheapest matching offer without manually reviewing choices. It does not explicitly say 'use this instead of rent_offer or search_offers when you don't care which exact offer', but the wording makes that decision fairly clear.

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

rent_offerAInspect

Place a rental on YOUR provider account (BYO key — it is used for this one call and never stored). Default is a DRY RUN returning exactly what would be executed; a live placement needs dry_run=false AND confirm=true. The offer is re-quoted live first and refused if its price exceeds max_price_per_gpu_hr. Executes on vast and runpod offers. Pass an idempotency_key so retries return the first receipt instead of renting twice. auto_destroy_budget_usd arms the budget guard: this station then holds your key in PROCESS MEMORY ONLY and destroys the rental when estimated spend reaches the cap (a station restart drops the guard — the receipt says so; poll rental_status as backstop). account_token (from register_account) attributes the rental to your usage ledger.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageNo
labelNo
api_keyYes
confirmNo
disk_gbNo
dry_runNo
offer_idYes
account_tokenNo
idempotency_keyNo
max_price_per_gpu_hrYes
auto_destroy_budget_usdNo

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does it well. It reveals that the API key is never stored, the offer is re-quoted and can be refused above max_price_per_gpu_hr, the budget guard holds the key in process memory only, a restart drops the guard, and rental_status should be polled as a backstop.

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?

The description is dense and mostly front-loaded with the core operation and then moves into safety, idempotency, and budget behavior. It earns most of its length, though it is a single long paragraph and would be easier to scan with brief sections or line breaks.

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 complex mutation with 11 parameters, no annotations, and no output schema, it covers the key operational contract extremely well. The remaining gaps are the exact success response shape plus image semantics, label, and disk_gb, which an invoking agent would still need to infer.

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 compensate. It explains the central parameters: api_key, max_price_per_gpu_hr, dry_run, confirm, idempotency_key, auto_destroy_budget_usd, and account_token. The optional image, label, and disk_gb parameters are left unexplained, so compensation is strong but not complete.

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?

The description clearly states the operation: place a rental on your own provider account using a BYO key, and scopes it to vast and runpod offers. It is much clearer than the name alone, but it does not explicitly contrast itself with the sibling rent_best, so an agent must infer the difference.

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?

It gives concrete usage directives: dry_run is the default, live placement requires dry_run=false AND confirm=true, retries need an idempotency_key, account_token comes from register_account, and auto_destroy_budget_usd changes key handling and requires polling rental_status as a backstop. It stops short of saying when to prefer this tool over rent_best or other siblings.

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

rent_x402AInspect

Rent a prepaid block of GPU time with a wallet and NO account, NO API key and no human, over x402 (HTTP 402 micropayments, USDC on Base).

Call it with no arguments and you get the payment challenge: an x402
PaymentRequirementsResponse whose accepts[0].extra.x402_fee states the block
price, the platform fee IN DOLLARS, that there are no refunds, and that you
are charged only after the lease is live. Sign the EIP-3009
transferWithAuthorization it describes, then call again with x_payment set to
the base64 PaymentPayload (the same value the HTTP rail sends as X-PAYMENT).

`ssh_pubkey` is HOW YOU GET IN, and is required on the paying call: pass the
public half of your ssh key (one line, the contents of id_ed25519.pub). It is
written into the rented container's authorized_keys and nowhere else, and the
receipt comes back with the host and port to connect to. A block nobody can
enter is not sold.

`lease_id` is minted by the challenge — send back the one you were given; it
is the accrual key for the daily fee cap and this station refuses ids it did
not mint or that belong to another payer.

`originator` is an OPTIONAL opaque attribution label (<=64 chars, e.g. a
handle or a reverse-DNS name) naming the client implementation that produced
the fill. It is carried unmodified onto the receipt and onto the public
ledger row, and it never affects the price, the fee, verification or
settlement — the same block costs the same either way.

Returns the receipt on success. Every fill is published at /api/receipts.
Wire contract: docs/X402-FEE-0.1.md, frozen as x402-fee/0.1.

Note for x402 MCP-transport clients: this tool takes the payment as an
ARGUMENT rather than in _meta["x402/payment"]. The payload is byte-identical;
only the channel differs, because a tool argument is the one place every MCP
client can portably put it. The HTTP rail is fully transport-conformant.
ParametersJSON Schema
NameRequiredDescriptionDefault
blocksNo
lease_idNo
x_paymentNo
originatorNo
ssh_pubkeyNo

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries full responsibility and does an excellent job. It discloses billing behavior ('no refunds', 'charged only after the lease is live'), fee presentation 'IN DOLLARS', SSH key handling ('written into the rented container's authorized_keys and nowhere else'), lease_id minting and refusal behavior, and the fact that originator never affects settlement. It even notes receipts are published at /api/receipts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is long but appropriately structured: purpose first, then the payment flow, then parameter detail, then a transport note. Each paragraph earns its place, and no sentence is filler. The density is justified by the complexity of the x402 payment protocol and the absence of annotations.

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?

For a complex payment-gated tool with no output schema and no annotations, this description is remarkably complete. It covers the full call sequence, authentication model, payment payload, required SSH access, fee/refund policy, lease ID semantics, optional attribution, success return, public receipt endpoint, and the transport deviation for MCP clients. Nothing critical is missing.

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?

Since schema description coverage is 0%, the description is the only source of parameter meaning. It thoroughly explains x_payment, ssh_pubkey, lease_id, and originator. However, blocks is only implied via 'prepaid block' and 'block price'; its exact semantics, such as how block count affects the payment challenge or whether the default of 1 can be changed on the first call, are not made explicit.

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?

The description opens with a precise verb and resource: 'Rent a prepaid block of GPU time' via x402, and immediately distinguishes this tool from account/API-key-based rentals by stating 'NO account, NO API key and no human.' The payment-flow context makes it clearly distinct from siblings like rent_best or rent_offer, even without naming them.

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 gives an explicit two-phase usage procedure: call with no arguments to receive the payment challenge, sign the EIP-3009 authorization, then call again with x_payment set. It also clearly states prerequisites such as a wallet and ssh_pubkey, and marks originator as optional. It does not explicitly name alternatives or exclusion conditions, but the usage context is unambiguous.

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

search_offersAInspect

Search live GPU offers. gpu matches the model name (e.g. '4090', 'H100'). offer_class: on_demand | interruptible | reserved. country: ISO-2 (e.g. US), a comma list ('DE,NL'), or 'EU' for the 27 member states. min_gpu_count filters to multi-GPU configs (8 = full 8x nodes). region substring-matches the provider's region/datacenter label. Returns offers ranked cheapest-first by price_per_gpu_hr.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpuNo
limitNo
regionNo
countryNo
providerNo
min_vram_gbNo
offer_classNo
min_gpu_countNo
min_reliabilityNo
max_price_per_gpu_hrNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With zero annotations, the description carries the full disclosure burden and does it well: it reveals matching semantics ('gpu matches the model name', 'region substring-matches'), special handling ('EU' expands to 27 member states), device semantics (8 = full 8x nodes), and most importantly the output ordering (cheapest-first by price_per_gpu_hr). It does not mention pagination, rate limits, or the min_reliability scale, but the known-read-only search behavior is largely transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

About six sentences, with the primary action front-loaded and every subsequent sentence delivering a distinct fact (format, examples, special values, ranking). No filler, no vowel loops; the colon-separated format is scannable and machine-agent-friendly.

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?

Given there is an output schema and 10 parameters, the description covers the essential disambiguation: filter syntax, special-case values, and result ordering. The only residual gaps are details like price_per_gpu_hr units and min_reliability scale, which are arguably fine to leave to the output schema. Overall it is complete enough to invoke correctly on a first attempt.

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 the parameter meaning — and it does for the least obvious params: enumerated allowed values for offer_class, exact formats for country (ISO-2, comma list, 'EU'), concrete examples for gpu, and a non-obvious interpretation of min_gpu_count. min_vram_gb, min_reliability, and price caps are left to their self-explanatory prefixes, so a small gap remains, but the intended majors advice is compensation.

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?

Opens with a specific verb+resource pair — 'Search live GPU offers' — then sharpens the purpose by enumerating the filter dimensions (gpu, offer_class, country, region, min_gpu_count) and the ranking rule. This is clearly distinguishable from siblings like get_offer (single offer lookup), market_stats/price_history (aggregate/historical data), and rent_best (renting workflow), even though those aren't named.

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 gives clear contextual timing: this is the live-offer search with filters, ranked cheapest-first, useful when an agent wants a broad filtered listing of available GPUs. However, it never explicitly says when NOT to use it or names alternatives (e.g., get_offer for a single offer's details, best_value for a pre-computed choice), so the agent has to infer the routing.

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

spot_spreadBInspect

On-demand vs interruptible spread: the live discount for idle capacity per model; pass gpu_model for its history too.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNo
gpu_modelNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description has to carry the behavioral load. It does reveal an important behavior: calling the tool without gpu_model returns the live spread/discount, while passing gpu_model extends it to include historical data. However, it does not mention that the operation is read-only, and doesn't cover rate limits, defaults, or the effect of the 'hours' parameter. Some behavioral context is provided but not complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is one tightly written sentence, with the central concept placed first. Every word contributes to understanding the metric and the optional history behavior. No fluff, no irrelevant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The core idea condition is communicated, and the optional model parameter for history is a useful context cue. However, there is no schema documentation, no output schema, and no explanation of what 'hours' does or what shape the output takes. For a tool that apparently returns real-time and possibly historical data, this is a noticeable gap: an agent still might wonder whether the response is a single number, a table, or a time series.

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 0%, so the description is expected to clarify parameters. The gpu_model parameter is meaningfully explained ('for its history too'), but the hours parameter is entirely unexplained. This is partial support for the two parameters; the description would be much stronger if it also outlined the hour window default or behavior.

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?

Clear and satisfying about what appears to provide: the live discounted price between on-demand and interruptible capacity per model. However, it lacks an explicit verb (e.g. 'return', 'show') and does not pointedly differentiate itself from sibling tools like price_history or idle_history.

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

Usage Guidelines2/5

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

The only usage cue is the optional 'pass gpu_model for its history too' note, which tells agents when an optional argument matters for history, but gives no guidance on when this tool is preferred over alternatives such as price_history, idle_history, or market_stats. There is no when-to-use, when-not-to-use, or alternatively-vs guidance.

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

true_cost_notesAInspect

The billing fine print behind the $/hr, verified per provider from their own published pages (source URL + date on every claim): billing granularity (per-second vs per-minute), whether storage bills while stopped, bandwidth/egress fees, and the commonly-missed gotchas (e.g. Vast bandwidth never appears in $/hr; RunPod stopped volume disk costs double). Providers we have not verified are listed with NO claims.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that claims are 'verified per provider from their own published pages' with 'source URL + date on every claim', which sets expectations for reliability. It also transparently states that unverified providers are 'listed with NO claims', showing honesty about coverage. It does not mention update frequency or output format, but for a reference tool this is adequate.

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?

The description is a single dense paragraph that front-loads the core idea ('billing fine print behind the $/hr') before listing specifics. It uses a colon and semicolon-separated examples that are efficient and avoid redundancy. It is slightly long, but every clause contributes either to scope, content, or the verification caveat, so it is appropriately sized for the complexity of the topic.

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?

Given no parameters and no output schema, the description must stand alone. It fully explains what the tool provides (fine-print cost details), how it is sourced (verified pages with URLs and dates), and what is excluded (unverified providers have no claims). It does not specify the exact return shape, but since this is a reference tool, the description is sufficient for an agent to understand its purpose and invoke it correctly.

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?

There are zero parameters, so the baseline is 4. The input schema is empty and coverage is 100% by default. The description adds meaning by explaining the content of the tool's output (the fine-print details), which is relevant even without parameters. No further parameter documentation is needed.

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?

The description states a specific purpose: providing the 'billing fine print behind the $/hr' for providers, covering granularity, storage billing, bandwidth fees, and gotchas. It includes concrete examples (Vast bandwidth, RunPod stopped volume) that make the resource unmistakable. It clearly differentiates from siblings like market_stats or best_value by focusing on non-obvious cost details rather than price listings.

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?

It implies when to use this tool—whenever an agent needs to understand hidden billing details beyond the advertised hourly rate. The description enumerates specific cost factors, which tells the agent to consult it for those concerns. It does not explicitly name alternatives or state when not to use, but the content is self-evident given the sibling tool names, so this is a minor gap rather than a failure.

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

watch_statusBInspect

Current state of a watch: armed/tripped, last price seen, recent events, and the best matching offer right now.

ParametersJSON Schema
NameRequiredDescriptionDefault
watch_idYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of explaining behavior. It clearly conveys a read-only snapshot operation and lists the data the caller can expect. However, it does not mention what happens for invalid or missing watch IDs, how fresh the data is, or any side effects or special access requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single compact sentence that front-loads the purpose and then lists the returned data components. Every phrase contributes useful information and there is no redundant 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 simple one-parameter read tool, the description is largely complete: there is no output schema, but the description enumerates the return contents. Minor gaps around invalid IDs, freshness guarantees, and permission requirements remain, but they are not critical for choosing or invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate by explaining watch_id semantics beyond the obvious. It says 'state of a watch' but does not clarify what identifiers are valid, where watch_id comes from, or any expected format, so the schema remains the only meaningful information.

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?

The description identifies the resource (a watch) and specifies the contents of the status lookup: armed/tripped state, last price, recent events, and current best matching offer. It is specific and distinguishes itself from sibling tools like price_history and get_offer, though it lacks a direct verb such as 'gets' or 'returns.'

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?

The phrase 'right now' implies this is for current/point-in-time status rather than historical analysis, giving some usage context. However, the description never explicitly says when to prefer this over alternatives like get_offer, idle_history, or price_history, nor does it state any exclusions.

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

will_it_fitBInspect

Will this model fit, and what does a fitting machine cost right now? Deterministic VRAM arithmetic — weights (params x bytes/precision) + KV cache (2 x layers x kv_heads x head_dim x context x batch) + stated overhead — checked against the live book, cheapest fitting offers first. Pass a known model slug (llama-3.1-8b/70b/405b, mistral-7b, mixtral-8x7b, qwen2.5-7b/32b/72b, gemma-2-9b/27b) OR params_b for a stated Llama-like guess. precision: fp16/int8/int4. If you pass tokens_per_s (YOUR measured throughput — we never invent one), each offer gains usd_per_m_tokens. Every approximation is in the assumptions list, not fine print.

ParametersJSON Schema
NameRequiredDescriptionDefault
batchNo
limitNo
modelNo
contextNo
params_bNo
precisionNofp16
offer_classNo
tokens_per_sNo

TDQS

B3.3/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses determinism ('Deterministic VRAM arithmetic'), data source ('live book'), ordering ('cheapest fitting offers first'), and that throughput is never invented ('we never invent one'). It also points to an 'assumptions list' for approximations, which is transparent, though it could state read-only behavior more explicitly.

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 description front-loads the purpose but then contains a long, run-on sentence with many details (e.g., the entire KV cache formula). It is informative but could be structured more cleanly with bullet points or shorter sentences. Every sentence contributes, but the density reduces readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no output schema, no annotations), the description covers the core algorithm and key params, but it omits several parameters (batch, context, limit, offer_class) and does not describe the output format or the 'assumptions list' contents. An agent would need to infer or hunt for additional info to call it correctly in all scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. It explains model, params_b, precision, and tokens_per_s, but ignores batch, context, limit, and offer_class. These are left undefined in both schema and description, so the agent lacks sufficient meaning for a quarter of the parameters, which is a significant gap even though defaults exist.

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?

The opening line asks 'Will this model fit, and what does a fitting machine cost right now?' which clearly states a specific function: checking VRAM fit and surfacing live cost offers. It distinguishes itself from siblings like search_offers and get_offer by focusing on fit arithmetic and cheapest fitting offers, though it does not explicitly name alternatives.

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?

The description gives concrete input guidance: pass a known model slug or params_b, choose precision, optionally provide tokens_per_s. However, it does not explicitly state when to use this tool versus siblings (e.g., 'use search_offers for general filtering'). Usage context is implied but alternatives are not named.

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. Dates show when Glama detected each change.

  1. 1 tool update
    • Changedrent_x4021 field changed
      • addedInput schema / properties / ssh_pubkey
        Added value: +{
        +  "default": "",
        +  "title": "Ssh Pubkey",
        +  "type": "string"
        +}
  2. 1 tool update
    • Addedrent_x402
  3. 3 tool updates
    • Changedcreate_limit_order2 fields changed
      • addedInput schema / properties / age_alert_hours
        Added value: +{
        +  "default": 0,
        +  "title": "Age Alert Hours",
        +  "type": "number"
        +}
      • addedInput schema / properties / spend_alert_usd
        Added value: +{
        +  "default": 0,
        +  "title": "Spend Alert Usd",
        +  "type": "number"
        +}
    • Addedtrue_cost_notes
    • Addedwill_it_fit
  4. 3 tool updates
    • Changedcreate_limit_order3 fields changed
      • addedInput schema / properties / cooloff_seconds
        Added value: +{
        +  "default": 120,
        +  "title": "Cooloff Seconds",
        +  "type": "integer"
        +}
      • addedInput schema / properties / max_refills
        Added value: +{
        +  "default": 5,
        +  "title": "Max Refills",
        +  "type": "integer"
        +}
      • addedInput schema / properties / standing
        Added value: +{
        +  "default": false,
        +  "title": "Standing",
        +  "type": "boolean"
        +}
    • Changedprice_history3 fields changed
      • addedInput schema / properties / gpu
        Added value: +{
        +  "default": "",
        +  "title": "Gpu",
        +  "type": "string"
        +}
      • addedInput schema / properties / gpu_model / default
        Added value: +""
      • removedInput schema / required
        Removed value: -[
        -  "gpu_model"
        -]
    • Changedprice_position3 fields changed
      • addedInput schema / properties / gpu
        Added value: +{
        +  "default": "",
        +  "title": "Gpu",
        +  "type": "string"
        +}
      • addedInput schema / properties / gpu_model / default
        Added value: +""
      • removedInput schema / required
        Removed value: -[
        -  "gpu_model"
        -]
  5. 4 tool updates
    • Addedcancel_limit_order
    • Addedcreate_limit_order
    • Addedfill_limit_order
    • Addedlimit_order_status
  6. 11 tool updates
    • Addedaccount_usage
    • Addedbest_value
    • Addeddestroy_rental
    • Addedprice_position
    • Addedprovider_reliability
    • Addedregister_account
    • Addedrent_best
    • Addedrent_offer
    • Addedrental_status
    • Changedsearch_offers2 fields changed
      • addedInput schema / properties / min_gpu_count
        Added value: +{
        +  "default": 0,
        +  "title": "Min Gpu Count",
        +  "type": "integer"
        +}
      • addedInput schema / properties / region
        Added value: +{
        +  "default": "",
        +  "title": "Region",
        +  "type": "string"
        +}
    • Addedspot_spread
  7. 8 tool updates
    • First observedcreate_watch
    • First observeddelete_watch
    • First observedget_offer
    • First observedidle_history
    • First observedmarket_stats
    • First observedprice_history
    • First observedsearch_offers
    • First observedwatch_status

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Global price benchmarking for AI inference across 2,600+ SKUs from 47 vendors. Query live pricing, market indexes, and model specs via 8 tools. Free tier available.
    8
    103
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides public price indices for GPU rentals (spot, on-demand, DePIN) with verify URLs, enabling agents and users to query and verify compute economics rates.
    5
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for renting real GPUs from the terminal. Enables browsing, renting, chatting, managing, and pooling GPU instances with per-second billing, designed for AI agents.
    112
    1
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.7/5.0
Disambiguation5/5

Each tool maps cleanly to a distinct task: search, rent, status, watch, destroy, or a specific market-data view. Overlapping-looking tools like rent_offer vs rent_best and market_stats vs provider_reliability are clearly separated by their stated purposes.

Naming Consistency4/5

Names are uniformly snake_case and follow a sensible split: action tools use verb_noun (create_watch, delete_watch, rent_offer, search_offers) while data/tracking tools use noun_noun or adjective_noun (market_stats, idle_history, spot_spread). Minor deviations like watch_status and rental_status rather than get_watch/get_rental keep it from being perfect.

Tool Count4/5

At 18 tools this is slightly heavier than the typical well-scoped range, but every tool earns its place across distinct functions: offer discovery, rental lifecycle, price watching, market analytics, and usage metering. It feels comprehensive rather than bloated.

Completeness4/5

Core flows are well covered: search/get offers, rent via specific or best offer, track and destroy rentals, register accounts and read usage, and create/check/delete watches. The main gap is no update-watch or list-watches endpoint, which forces recreate instead of adjust but is not an actual blocker.