Skip to main content
Glama

Lantern Works GPU Prices: daily GPU rental price comparison

rebuild_quote

Read-only

Reopen a past quote. Pass the receipt object returned by optimize_stack, optimize_agent_stack or estimate_job_cost. Returns receipt_intact (unkeyed sha256 matches), reproduced (true only if each line's subtotal recomputes AND its rate_id and price match the pinned feed revision or that date's published daily snapshot; "arithmetic_only" with provenance_verified=false when that can't be confirmed), per-line provenance, and revalidation against today's feed: per GPU line unchanged | price_changed | evidence_changed | held_today | not_in_feed_today (flat plans: not_revalidated), with revision 'same' or 'new'. Nothing is re-ranked.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "receipt": "<receipt>"
    },
    "name": "rebuild_quote"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNofull
receiptYes

Output Schema

NameRequiredDescriptionDefault
okYes
modeNo
errorNo
linesNo
referral_disclosureNoOne-line referral disclosure, present whenever the result names a provider; each provider-naming item then has tracked_url (tagged /go/ redirect).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / referral_disclosure
      Added value: +{
      +  "description": "One-line referral disclosure, present whenever the result names a provider; each provider-naming item then has tracked_url (tagged /go/ redirect).",
      +  "type": "string"
      +}
  2. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true; the description is consistent with both and adds real context beyond them — verification is against today's live feed (explaining openWorld), provenance may fail closed to "arithmetic_only" with provenance_verified=false, and "Nothing is re-ranked" rules out side effects on stored rankings. The remaining text is largely a return-value taxonomy that the output schema likely already carries, which caps it below a 5.

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 purpose and input source are front-loaded in the first two sentences, which is good. The remainder is a dense run-on enumeration of status tokens (unchanged | price_changed | evidence_changed | held_today | not_in_feed_today) and parenthetical qualifications that would read better as a list and largely duplicate what the output schema should express.

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 verification tool with an output schema and read-only annotations, the definition covers the input source, the meaning of the key verification flags, and the revalidation outcomes — enough for correct invocation. The single meaningful hole is the undocumented `mode` parameter and the string-vs-object mismatch on `receipt`.

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 carry parameter meaning and only partly does. It explains where `receipt` comes from but calls it an "object" while the schema types it as a string, an ambiguity that risks a malformed call, and the `mode` parameter (default "full") is never mentioned at all — the agent cannot know what other modes exist or what they change.

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 and resource ("Reopen a past quote") and immediately identifies the three sibling tools whose output feeds it, so the agent can place it in the workflow without opening any schema. It is clearly distinguished from the producing tools (optimize_stack, optimize_agent_stack, estimate_job_cost) which generate rather than re-verify.

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 prerequisite is stated explicitly: pass the `receipt` object returned by one of three named tools, which tells the agent exactly when this tool is applicable. It stops short of stating when NOT to use it (e.g. what to do when no receipt exists, or whether to re-run the estimator instead), so it is strong context without explicit exclusions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.