Skip to main content
Glama

estimate_out_the_door

Use this for the buyer's TOTAL price of ONE listing: an itemized out-the-door DEMO ESTIMATE for the buyer's state, county and city, built with real public tax and fee rules for the 8 covered states. Lines include the price, dealer fees, eligible incentives, state and local sales tax, title and registration fees, and a trade-in block (allowance, payoff, equity, tax credit). Every line has a source and confidence; unknowns become ranges. Read estimated_out_the_door with estimate_range and confidence. With a trade-in, estimated_out_the_door is the balance due after the trade (negative equity added); deal.vehicle_out_the_door_before_trade is the car alone. Use get_price_breakdown instead for only the dealer's listed price and fees, and get_payment_estimate to turn this total into a monthly finance payment (this tool returns payments: null). Read warnings, for example when the shopper's state differs from the store's state. Not an offer, not a quote, not penny-accurate. Inputs are not stored.

Input Schema

NameRequiredDescriptionDefault
payoffNoLoan payoff in USD still owed on the trade-in.
financedNoTrue if the purchase will be financed, false for cash. Some fees and incentives depend on it; if omitted they are flagged as uncertain.
buyer_zipNoBuyer's five-digit ZIP. Alone it resolves buyer state, county and city (echoed in tax_location.resolution with the source).
buyer_cityNoShopper's city, e.g. Chicago. Some city taxes depend on it; it can also imply the county.
listing_idYesdealer_key:VIN from search_inventory.
buyer_stateNoShopper's two-letter state; sets the tax and fee state. Defaults to the selling store's state, or the state of buyer_zip. States outside the 8 covered return a low-confidence estimate without tax and government fees.
lender_nameNoLender holding the trade-in loan (optional, not stored).
trade_valueNoTrade-in allowance in USD offered or expected for the shopper's car.
buyer_countyNoShopper's county name without the word County, e.g. Harris, Cook, Orange. Improves local tax lines.
plate_transferNoTrue to transfer existing plates where the state allows it.
registration_stateNoState where the car will be registered, if different from buyer_state.
vehicle_weight_lbsNoVehicle weight, used by weight-based registration fees.
eligible_incentive_labelsNolabel_raw values of conditional incentives from get_price_breakdown that the shopper qualifies for (case-insensitive).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / buyer_state / description
      Previous value: -"Shopper's two-letter state; sets the tax and fee state. Defaults to the selling store's state. A ZIP alone does not change it here. States outside the 8 covered return a low-confidence estimate without tax and government fees."New value: +"Shopper's two-letter state; sets the tax and fee state. Defaults to the selling store's state, or the state of buyer_zip. States outside the 8 covered return a low-confidence estimate without tax and government fees."
    • changedInput schema / properties / buyer_zip / description
      Previous value: -"Shopper's five-digit ZIP, recorded with the location. Pass buyer_state and county or city as well; the ZIP alone does not set them in this tool."New value: +"Buyer's five-digit ZIP. Alone it resolves buyer state, county and city (echoed in tax_location.resolution with the source)."
  2. Changed4 schema fields changed
    • changedInput schema / properties / buyer_city / description
      Previous value: -"Shopper's city, e.g. Chicago. Some city taxes depend on it."New value: +"Shopper's city, e.g. Chicago. Some city taxes depend on it; it can also imply the county."
    • changedInput schema / properties / buyer_state / description
      Previous value: -"Shopper's two-letter state. Defaults to the selling store's state. Other states return a low-confidence estimate without tax and government fees."New value: +"Shopper's two-letter state; sets the tax and fee state. Defaults to the selling store's state. A ZIP alone does not change it here. States outside the 8 covered return a low-confidence estimate without tax and government fees."
    • changedInput schema / properties / buyer_zip / description
      Previous value: -"Shopper's five-digit ZIP."New value: +"Shopper's five-digit ZIP, recorded with the location. Pass buyer_state and county or city as well; the ZIP alone does not set them in this tool."
    • changedInput schema / properties / financed / description
      Previous value: -"True if the purchase will be financed (some fees and incentives depend on it)."New value: +"True if the purchase will be financed, false for cash. Some fees and incentives depend on it; if omitted they are flagged as uncertain."
  3. Changed13 schema fields changed
    • addedInput schema / properties / buyer_city / description
      Added value: +"Shopper's city, e.g. Chicago. Some city taxes depend on it."
    • addedInput schema / properties / buyer_county / description
      Added value: +"Shopper's county name without the word County, e.g. Harris, Cook, Orange. Improves local tax lines."
    • addedInput schema / properties / buyer_state / description
      Added value: +"Shopper's two-letter state. Defaults to the selling store's state. Other states return a low-confidence estimate without tax and government fees."
    • addedInput schema / properties / buyer_zip / description
      Added value: +"Shopper's five-digit ZIP."
    • addedInput schema / properties / eligible_incentive_labels / description
      Added value: +"label_raw values of conditional incentives from get_price_breakdown that the shopper qualifies for (case-insensitive)."
    • addedInput schema / properties / financed / description
      Added value: +"True if the purchase will be financed (some fees and incentives depend on it)."
    • addedInput schema / properties / lender_name / description
      Added value: +"Lender holding the trade-in loan (optional, not stored)."
    • addedInput schema / properties / listing_id / description
      Added value: +"dealer_key:VIN from search_inventory."
    • addedInput schema / properties / payoff / description
      Added value: +"Loan payoff in USD still owed on the trade-in."
    • addedInput schema / properties / plate_transfer / description
      Added value: +"True to transfer existing plates where the state allows it."
    • addedInput schema / properties / registration_state / description
      Added value: +"State where the car will be registered, if different from buyer_state."
    • addedInput schema / properties / trade_value / description
      Added value: +"Trade-in allowance in USD offered or expected for the shopper's car."
    • addedInput schema / properties / vehicle_weight_lbs / description
      Added value: +"Vehicle weight, used by weight-based registration fees."
  4. First observed

TDQS

A4.6/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 so: it discloses that every line has a source and confidence, that unknowns become ranges, that payments is null, that states outside the 8 covered return a low-confidence estimate without tax and government fees, and that inputs are not stored. It also sets accuracy expectations ('not an offer, not a quote, not penny-accurate').

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 but front-loaded: the core purpose, the covered scope, and the produced lines come first, followed by output-field guidance and alternative routing. Every sentence carries information, though the middle section on output fields is packed tightly and could be marginally streamlined.

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 13-parameter tool with no annotations and no output schema, the description covers purpose, inputs' effect (trade-in, buyer location), return structure (itemized lines, sources, confidence, ranges, warnings, payments null, tax_location.resolution), limitations, and routing to siblings. Nothing essential for correct invocation appears missing.

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 100%, so the schema already documents all 13 parameters, including field-level notes like buyer_zip resolving state/county/city. The description adds little parameter-level detail beyond clarifying trade-in handling (negative equity added, balance due after trade), which is mainly output semantics. Baseline 3 is appropriate when the schema does the heavy lifting.

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 precise verb and resource: an itemized out-the-door estimate for ONE listing, scoped to the buyer's state, county and city, for the 8 covered states. It enumerates the cost lines it produces and explicitly distinguishes itself from get_price_breakdown (price/fees only) and get_payment_estimate (monthly payment). An agent can route correctly without opening any schema.

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?

It names alternatives and the exact conditions that select them: 'Use get_price_breakdown instead for only the dealer's listed price and fees, and get_payment_estimate to turn this total into a monthly finance payment.' It also tells the agent to read warnings and explains the trade-in case where the total becomes the balance due.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources