TradeBasis US Market Appraisal
Server Details
Free US vehicle averages in USD from matched asking prices. VIN optional; limited public pilot.
- Status
- Healthy
- Uptime
- 99.9% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of misselection between tools. Its purpose (deriving a TradeBasis asking-price market average) is stated clearly and unambiguously.
The single name appraise_vehicle follows a clean verb_noun snake_case convention. There is nothing to be inconsistent with.
One tool is thin for an appraisal service; supporting operations like VIN decode, trim/fuelType lookup, or batch appraisal are absent. However, the tool does cover the server's narrow headline operation, so it is not a severe mismatch.
The core appraisal operation is present and well-specified, including input requirements and edge cases (VIN conflicts, nationwide omission). Gaps remain: no tool to resolve vehicle identity/trim, no history or comparison of valuations, and no trade-in/completed-sale valuation despite being mentioned as out of scope.
Available Tools
1 toolappraise_vehicleTradeBasis US market appraisalARead-onlyInspect
A derived TradeBasis asking-price market average. Supply odometerMiles plus either vin or all of year, make, model and trim. Ask the user for missing details; never invent vehicle identity or mileage. VIN-assisted decoding may still require a confirmed trim, fuelType or bodyStyle. If supplied identity conflicts with the VIN, ask the user to verify the VIN and conflicting fields; do not choose silently or retry unchanged. Omit market for nationwide US. Not a trade-in offer or completed-sale value.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | VIN-assisted input: provide the vehicle's 17-character VIN with odometerMiles. Optional for complete manual input. Decoding may leave trim, fuelType or bodyStyle unresolved; ask the user to confirm them, never guess. If decoding fails, confirm the VIN or omit vin and use complete manual input. Supplied identity must agree with the VIN. | |
| make | No | Confirmed vehicle manufacturer. Required without vin; optional with vin, but must agree with the decoded make. | |
| trim | No | Confirmed exact trim, including meaningful +, hyphens and powertrain qualifiers. Required without vin. With vin, supply it if decoding does not identify one unambiguous trim; never assume Base or choose from a decoded list. | |
| year | No | Confirmed model year. Required without vin; optional with vin, but must agree with the decoded year. Ask the user if unknown. | |
| model | No | Confirmed US model name. Required without vin; optional with vin, but must agree with the decoded model. | |
| market | No | Optional US state name or two-letter state code, not the user's precise location. Omit for nationwide US. | |
| fuelType | No | Optional confirmed powertrain/fuel type. Required later if identity is ambiguous. Ask the user rather than selecting a default; must agree with a reported VIN powertrain. | |
| bodyStyle | No | Optional confirmed body style: sedan, hatchback, coupe, convertible, SUV, pickup, wagon, minivan or van. Required later if identity is ambiguous; ask the user and do not contradict the VIN. | |
| odometerMiles | Yes | Current odometer reading in miles, required for BOTH input paths. Ask the user; never estimate mileage from the VIN or model year. Zero is valid only when actually reported. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| outcome | Yes | |
| retryAt | No | |
| subject | No | |
| currency | Yes | |
| retryable | Yes | |
| nextAction | Yes | |
| referralId | No | |
| marketScope | Yes | |
| methodology | Yes | |
| actualMarket | No | Geography reported for the selected evidence; unknown listing states are explicitly identified. |
| calculatedAt | Yes | |
| odometerUnit | Yes | |
| searchMarket | No | Broadest provider search scope; not a claim about every selected listing. |
| evidenceCount | Yes | |
| excludedCount | Yes | |
| schemaVersion | Yes | |
| requestedMarket | Yes | |
| yearBracketUsed | Yes | |
| baseMarketAverage | No | |
| mileageAdjustment | No | |
| clarificationFields | No | |
| automaticRetryAllowed | Yes | Recoverability never authorizes automatic paid searches. |
| mileageAdjustmentAvailable | Yes | |
| mileageAdjustedMarketAverage | No | |
| mileageAdjustmentUnavailableReason | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly, openWorld, and non-destructive behavior. The description adds critical behavioral context: the result is a derived asking-price average rather than a trade-in or sale value, VIN decoding may require user confirmation of trim/fuelType/bodyStyle, and conflicts must be surfaced rather than silently resolved or retried unchanged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded, starting with what the tool returns before moving into input requirements and behavioral constraints. Every sentence addresses a real selection or invocation concern, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, read-only/open-world annotations, and an existing output schema, the description supplies the remaining decision-relevant context: input path requirements, conflict handling, no-invention rules, and scope exclusions. Nothing needed to call the tool correctly appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains each parameter, including the VIN-assisted versus manual input paths and conflict rules. The description reinforces these semantics but adds little parameter-specific meaning beyond what the schema already documents, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and derived value: a TradeBasis asking-price market average. It also explicitly distinguishes the result from a trade-in offer or completed-sale value, so an agent understands what the tool does and does not produce.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit input paths (odometerMiles plus vin or complete year/make/model/trim), instructs the agent to ask for missing details, forbids inventing identity or mileage, and describes conflict handling when VIN data disagrees. It also states when to omit market for nationwide US.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
appraise_vehicle22 fields changed- added
Output schema / allOfAdded value: +[ + { + "else": { + "properties": { + "baseMarketAverage": false, + "mileageAdjustedMarketAverage": false, + "mileageAdjustment": false, + "mileageAdjustmentAvailable": { + "const": false + }, + "mileageAdjustmentUnavailableReason": { + "const": "NO_VALUATION" + } + }, + "required": [ + "mileageAdjustmentUnavailableReason" + ] + }, + "if": { + "properties": { + "outcome": { + "const": "COMPLETE" + } + } + }, + "then": { + "properties": { + "evidenceCount": { + "minimum": 5 + }, + "mileageAdjustmentUnavailableReason": { + "enum": [ + "SUBJECT_MILEAGE_ZERO", + "COMPARABLE_MILEAGE_UNAVAILABLE" + ] + } + }, + "required": [ + "subject", + "actualMarket", + "baseMarketAverage" + ] + } + }, + { + "else": { + "properties": { + "mileageAdjustedMarketAverage": false, + "mileageAdjustment": false + }, + "required": [ + "mileageAdjustmentUnavailableReason" + ] + }, + "if": { + "properties": { + "mileageAdjustmentAvailable": { + "const": true + } + } + }, + "then": { + "properties": { + "mileageAdjustmentUnavailableReason": false, + "outcome": { + "const": "COMPLETE" + } + }, + "required": [ + "mileageAdjustment", + "mileageAdjustedMarketAverage" + ] + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "COMPLETE" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "NONE" + } + } + }, + "retryable": { + "const": false + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "INVALID_INPUT" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "ASK_USER" + } + } + }, + "retryable": { + "const": false + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "CLARIFICATION_REQUIRED" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "ASK_USER" + } + } + }, + "retryable": { + "const": false + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "INPUT_CONFLICT" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "ASK_USER" + } + } + }, + "retryable": { + "const": false + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "NO_MATCHES" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "REVIEW_INPUT" + } + } + }, + "retryable": { + "const": false + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "INSUFFICIENT_EVIDENCE" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "REVIEW_INPUT" + } + } + }, + "retryable": { + "const": false + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "PROVIDER_FAILURE" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "RETRY_LATER" + } + } + }, + "retryable": { + "const": true + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "TIMEOUT" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "RETRY_LATER" + } + } + }, + "retryable": { + "const": true + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "CANCELLED" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "STOP" + } + } + }, + "retryable": { + "const": false + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "DISABLED" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "USE_WEBSITE" + } + } + }, + "retryable": { + "const": false + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "DAILY_LIMIT" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "WAIT_FOR_RESET" + } + } + }, + "retryable": { + "const": true + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "ATTEMPT_LIMIT" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "REVIEW_INPUT" + } + } + }, + "retryable": { + "const": false + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "BUSY" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "RETRY_LATER" + } + } + }, + "retryable": { + "const": true + } + } + } + }, + { + "if": { + "properties": { + "outcome": { + "const": "METER_UNAVAILABLE" + } + } + }, + "then": { + "properties": { + "nextAction": { + "properties": { + "type": { + "const": "RETRY_LATER" + } + } + }, + "retryable": { + "const": true + } + } + } + } +] - added
Output schema / properties / actualMarket / descriptionAdded value: +"Geography reported for the selected evidence; unknown listing states are explicitly identified." - added
Output schema / properties / actualMarket / minLengthAdded value: +1 - added
Output schema / properties / automaticRetryAllowedAdded value: +{ + "const": false, + "description": "Recoverability never authorizes automatic paid searches.", + "type": "boolean" +} - added
Output schema / properties / calculatedAt / formatAdded value: +"date-time" - added
Output schema / properties / marketScopeAdded value: +{ + "const": "US", + "type": "string" +} - added
Output schema / properties / message / minLengthAdded value: +1 - added
Output schema / properties / methodology / minLengthAdded value: +1 - added
Output schema / properties / mileageAdjustmentUnavailableReasonAdded value: +{ + "enum": [ + "NO_VALUATION", + "SUBJECT_MILEAGE_ZERO", + "COMPARABLE_MILEAGE_UNAVAILABLE" + ], + "type": "string" +} - added
Output schema / properties / nextActionAdded value: +{ + "additionalProperties": false, + "properties": { + "message": { + "minLength": 1, + "type": "string" + }, + "type": { + "enum": [ + "NONE", + "ASK_USER", + "REVIEW_INPUT", + "RETRY_LATER", + "STOP", + "USE_WEBSITE", + "WAIT_FOR_RESET" + ], + "type": "string" + } + }, + "required": [ + "type", + "message" + ], + "type": "object" +} - added
Output schema / properties / odometerUnitAdded value: +{ + "const": "miles", + "type": "string" +} - added
Output schema / properties / requestedMarket / minLengthAdded value: +1 - added
Output schema / properties / retryAt / formatAdded value: +"date-time" - added
Output schema / properties / searchMarketAdded value: +{ + "description": "Broadest provider search scope; not a claim about every selected listing.", + "minLength": 1, + "type": "string" +} - added
Output schema / properties / subject / properties / make / minLengthAdded value: +1 - added
Output schema / properties / subject / properties / model / minLengthAdded value: +1 - added
Output schema / properties / subject / properties / odometerMiles / maximumAdded value: +600000 - added
Output schema / properties / subject / properties / odometerMiles / minimumAdded value: +0 - added
Output schema / properties / subject / properties / trim / minLengthAdded value: +1 - added
Output schema / properties / subject / properties / year / minimumAdded value: +1886 - changed
Output schema / properties / subject / properties / year / typePrevious value: -"number"New value: +"integer" - changed
Output schema / requiredPrevious value: -[ - "schemaVersion", - "outcome", - "message", - "retryable", - "currency", - "requestedMarket", - "calculatedAt", - "evidenceCount", - "mileageAdjustmentAvailable", - "yearBracketUsed", - "excludedCount", - "methodology" -]New value: +[ + "schemaVersion", + "outcome", + "message", + "retryable", + "automaticRetryAllowed", + "nextAction", + "currency", + "odometerUnit", + "marketScope", + "requestedMarket", + "calculatedAt", + "evidenceCount", + "mileageAdjustmentAvailable", + "yearBracketUsed", + "excludedCount", + "methodology" +]
1 tool update
- Changed
appraise_vehicle13 fields changed- added
Input schema / anyOfAdded value: +[ + { + "required": [ + "year", + "make", + "model", + "trim" + ] + }, + { + "required": [ + "vin" + ] + } +] - added
Input schema / properties / bodyStyle / descriptionAdded value: +"Optional confirmed body style: sedan, hatchback, coupe, convertible, SUV, pickup, wagon, minivan or van. Required later if identity is ambiguous; ask the user and do not contradict the VIN." - added
Input schema / properties / fuelType / descriptionAdded value: +"Optional confirmed powertrain/fuel type. Required later if identity is ambiguous. Ask the user rather than selecting a default; must agree with a reported VIN powertrain." - added
Input schema / properties / make / descriptionAdded value: +"Confirmed vehicle manufacturer. Required without vin; optional with vin, but must agree with the decoded make." - added
Input schema / properties / make / minLengthAdded value: +1 - added
Input schema / properties / model / descriptionAdded value: +"Confirmed US model name. Required without vin; optional with vin, but must agree with the decoded model." - added
Input schema / properties / model / minLengthAdded value: +1 - added
Input schema / properties / odometerMiles / descriptionAdded value: +"Current odometer reading in miles, required for BOTH input paths. Ask the user; never estimate mileage from the VIN or model year. Zero is valid only when actually reported." - added
Input schema / properties / trim / descriptionAdded value: +"Confirmed exact trim, including meaningful +, hyphens and powertrain qualifiers. Required without vin. With vin, supply it if decoding does not identify one unambiguous trim; never assume Base or choose from a decoded list." - added
Input schema / properties / trim / minLengthAdded value: +1 - added
Input schema / properties / vin / descriptionAdded value: +"VIN-assisted input: provide the vehicle's 17-character VIN with odometerMiles. Optional for complete manual input. Decoding may leave trim, fuelType or bodyStyle unresolved; ask the user to confirm them, never guess. If decoding fails, confirm the VIN or omit vin and use complete manual input. Supplied identity must agree with the VIN." - added
Input schema / properties / vin / minLengthAdded value: +1 - added
Input schema / properties / year / descriptionAdded value: +"Confirmed model year. Required without vin; optional with vin, but must agree with the decoded year. Ask the user if unknown."
1 tool update
- First observed
appraise_vehicle
Related MCP Connectors
Free US VIN decoding and research; VIN-optional market appraisals via a separate pilot endpoint.
Search live US dealership inventory, get market prices, and send buyer inquiries. Free, no API key.
For AI agents: grade a used car's asking price vs live market comps.
MarketCheck automotive data: search US/UK listings, predict prices, decode VINs, market history.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables decoding VINs into complete vehicle specifications, searching active used car listings from US dealers, and retrieving vehicle valuations with total cost of ownership estimates.223 npmMIT- AlicenseAqualityBmaintenanceEnables searching over 1.8 million live Brazilian used-car and motorcycle listings with FIPE reference prices and market analytics, and provides per-listing tools for valuation, market position, and price distribution.17MIT
- AlicenseNot gradedqualityBmaintenanceProvides vehicle data tools for VIN specification decoding, used-car market valuation, license plate lookup, and vehicle history retrieval.244 npmMIT
- AlicenseAqualityDmaintenanceEnables AI assistants to search and aggregate used-vehicle listings across Cars.com, Autotrader, and KBB, with filters for price, mileage, dealer information, and CARFAX-style history conditions.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.