Skip to main content
Glama

TradeBasis US Market Appraisal

Server Details

Free US vehicle averages in USD from matched asking prices. VIN optional; limited public pilot.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 1 tool

Disambiguation5/5

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.

Naming Consistency5/5

The single name appraise_vehicle follows a clean verb_noun snake_case convention. There is nothing to be inconsistent with.

Tool Count3/5

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.

Completeness3/5

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 tool
appraise_vehicleTradeBasis US market appraisalA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
vinNoVIN-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.
makeNoConfirmed vehicle manufacturer. Required without vin; optional with vin, but must agree with the decoded make.
trimNoConfirmed 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.
yearNoConfirmed model year. Required without vin; optional with vin, but must agree with the decoded year. Ask the user if unknown.
modelNoConfirmed US model name. Required without vin; optional with vin, but must agree with the decoded model.
marketNoOptional US state name or two-letter state code, not the user's precise location. Omit for nationwide US.
fuelTypeNoOptional 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.
bodyStyleNoOptional 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.
odometerMilesYesCurrent 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

NameRequiredDescription
messageYes
outcomeYes
retryAtNo
subjectNo
currencyYes
retryableYes
nextActionYes
referralIdNo
marketScopeYes
methodologyYes
actualMarketNoGeography reported for the selected evidence; unknown listing states are explicitly identified.
calculatedAtYes
odometerUnitYes
searchMarketNoBroadest provider search scope; not a claim about every selected listing.
evidenceCountYes
excludedCountYes
schemaVersionYes
requestedMarketYes
yearBracketUsedYes
baseMarketAverageNo
mileageAdjustmentNo
clarificationFieldsNo
automaticRetryAllowedYesRecoverability never authorizes automatic paid searches.
mileageAdjustmentAvailableYes
mileageAdjustedMarketAverageNo
mileageAdjustmentUnavailableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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. 1 tool update
    • Changedappraise_vehicle22 fields changed
      • addedOutput schema / allOf
        Added 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
        +        }
        +      }
        +    }
        +  }
        +]
      • addedOutput schema / properties / actualMarket / description
        Added value: +"Geography reported for the selected evidence; unknown listing states are explicitly identified."
      • addedOutput schema / properties / actualMarket / minLength
        Added value: +1
      • addedOutput schema / properties / automaticRetryAllowed
        Added value: +{
        +  "const": false,
        +  "description": "Recoverability never authorizes automatic paid searches.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / calculatedAt / format
        Added value: +"date-time"
      • addedOutput schema / properties / marketScope
        Added value: +{
        +  "const": "US",
        +  "type": "string"
        +}
      • addedOutput schema / properties / message / minLength
        Added value: +1
      • addedOutput schema / properties / methodology / minLength
        Added value: +1
      • addedOutput schema / properties / mileageAdjustmentUnavailableReason
        Added value: +{
        +  "enum": [
        +    "NO_VALUATION",
        +    "SUBJECT_MILEAGE_ZERO",
        +    "COMPARABLE_MILEAGE_UNAVAILABLE"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / nextAction
        Added 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"
        +}
      • addedOutput schema / properties / odometerUnit
        Added value: +{
        +  "const": "miles",
        +  "type": "string"
        +}
      • addedOutput schema / properties / requestedMarket / minLength
        Added value: +1
      • addedOutput schema / properties / retryAt / format
        Added value: +"date-time"
      • addedOutput schema / properties / searchMarket
        Added value: +{
        +  "description": "Broadest provider search scope; not a claim about every selected listing.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedOutput schema / properties / subject / properties / make / minLength
        Added value: +1
      • addedOutput schema / properties / subject / properties / model / minLength
        Added value: +1
      • addedOutput schema / properties / subject / properties / odometerMiles / maximum
        Added value: +600000
      • addedOutput schema / properties / subject / properties / odometerMiles / minimum
        Added value: +0
      • addedOutput schema / properties / subject / properties / trim / minLength
        Added value: +1
      • addedOutput schema / properties / subject / properties / year / minimum
        Added value: +1886
      • changedOutput schema / properties / subject / properties / year / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / required
        Previous 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"
        +]
  2. 1 tool update
    • Changedappraise_vehicle13 fields changed
      • addedInput schema / anyOf
        Added value: +[
        +  {
        +    "required": [
        +      "year",
        +      "make",
        +      "model",
        +      "trim"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "vin"
        +    ]
        +  }
        +]
      • addedInput schema / properties / bodyStyle / description
        Added 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."
      • addedInput schema / properties / fuelType / description
        Added 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."
      • addedInput schema / properties / make / description
        Added value: +"Confirmed vehicle manufacturer. Required without vin; optional with vin, but must agree with the decoded make."
      • addedInput schema / properties / make / minLength
        Added value: +1
      • addedInput schema / properties / model / description
        Added value: +"Confirmed US model name. Required without vin; optional with vin, but must agree with the decoded model."
      • addedInput schema / properties / model / minLength
        Added value: +1
      • addedInput schema / properties / odometerMiles / description
        Added 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."
      • addedInput schema / properties / trim / description
        Added 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."
      • addedInput schema / properties / trim / minLength
        Added value: +1
      • addedInput schema / properties / vin / description
        Added 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."
      • addedInput schema / properties / vin / minLength
        Added value: +1
      • addedInput schema / properties / year / description
        Added value: +"Confirmed model year. Required without vin; optional with vin, but must agree with the decoded year. Ask the user if unknown."
  3. 1 tool update
    • First observedappraise_vehicle

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables 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.
    17
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides vehicle data tools for VIN specification decoding, used-car market valuation, license plate lookup, and vehicle history retrieval.
    244 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources