Skip to main content
Glama

iwant.fyi - shop, price-check and keep looking

Check whether a car's asking price is a good deal

demand.price_check
Read-only

Tell the user whether the asking price on ONE specific car is a good deal. Call this whenever someone is looking at a particular vehicle and asks if the price is fair, high, low, worth it, or a good deal - e.g. 'I am thinking of a 2017 Lexus ES 350 with 80k miles for $21k, decent deal?', 'is $34,500 too much for this F-150?', or when they paste a listing link and ask what you think. Pass the whole sentence as query, plus the listing url if they gave one. Returns where that asking price sits among comparable cars listed right now (percentile, median, typical range) with the size of the sample, mileage-matched when we have enough cars. Use demand.find_vehicle instead when the user is still choosing which car to buy rather than pricing one they found.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoListing URL if they pasted one. We read the year/make/model from the link itself and never fetch the page.
vinNo17-character VIN if known
zipNo5-digit US zip. Without it the comparison is national rather than local.
makeNoManufacturer of the car being priced, e.g. "Toyota".
trimNoTrim level. Materially changes a fair price, so pass it when known.
yearNoModel year of the car being priced. Optional if `query`, `url` or `vin` identifies it.
modelNoModel line of the car being priced, e.g. "RAV4".
queryNoWhat the user said, in their words, e.g. '2017 Lexus ES 350, 80k miles, asking $21k'
mileageNoOdometer miles. The single biggest thing a used price turns on; pass it whenever the user said it.
client_refNoOptional stable, non-identifying reference for this end user (any opaque string; we hash it).
radius_milesNoComparison radius, default 100
asking_price_centsNoThe asking price in cents, if you can state it exactly

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
caveatsNo
verdictYes
headlineYes
comparisonYes
percentileNo
understoodNo
delta_centsNo
clarifying_questionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / make / description
      Added value: +"Manufacturer of the car being priced, e.g. \"Toyota\"."
    • addedInput schema / properties / model / description
      Added value: +"Model line of the car being priced, e.g. \"RAV4\"."
    • addedInput schema / properties / trim / description
      Added value: +"Trim level. Materially changes a fair price, so pass it when known."
    • addedInput schema / properties / year / description
      Added value: +"Model year of the car being priced. Optional if `query`, `url` or `vin` identifies it."
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark this as read-only, non-destructive, and open-world, and the description adds useful behavioral context beyond them: it never fetches a pasted URL, compares against currently listed cars, returns percentile/median/typical range with sample size, and mileage-matches when enough data exists.

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 core purpose is front-loaded in the first sentence, followed by examples, parameter guidance, return behavior, and the alternative tool. It is somewhat long, but every section earns its place given the 12-parameter schema and the need to disambiguate from siblings.

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?

The description is complete for an agent to select and call the tool: it covers when to use it, what to pass, what behavior to expect, and when not to use it. The output schema handles return structure details, and the description already summarizes the key return values.

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 100%, so the baseline is 3. The description adds extra value by directing the agent to pass the whole user sentence as `query`, clarifying that `url` is parsed locally and never fetched, and noting that `zip` changes the comparison from national to local.

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 ('tell the user whether the asking price on ONE specific car is a good deal') and defines the exact scope. It also distinguishes itself from demand.find_vehicle, so an agent can tell them apart without opening schemas.

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?

Explicitly states when to call it ('whenever someone is looking at a particular vehicle and asks if the price is fair...'), provides concrete user-phrase examples, and names the sibling alternative (demand.find_vehicle) with the condition that should route to that tool instead.

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.