Skip to main content
Glama

Get model reliability and MOT pass rates

get_model_reliability
Read-only

Get known common faults, best and worst model years, and real DVSA MOT first-time pass rates for a specific used car model in the UK. The MOT pass rates are DVSA Class 4 test records for Great Britain only, age-matched against the national average; a pass with rectification at the station counts as a first-time pass (DVSA's own initial-test measure counts it as a failure and reports a lower figure). Each guide covers the generations named in its generation field; pass registration_year to get that year's DVSA pass rate and to be told when the car is from a generation the guide does not describe. Call with no model_slug to list the models covered. Use when someone asks whether a specific model is reliable, what goes wrong with it, which year to buy or avoid, or what to check before buying one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
model_slugNoModel identifier, e.g. "ford-focus-common-faults-uk", "ford-focus", "Ford Focus" or just "Focus". Call with no argument to list every available model.
registration_yearNoOptional. Year the car was FIRST registered (V5C), e.g. 2014. Returns the DVSA pass rate for that registration year and says whether the guide covers that year's generation.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoThe Autoza guide for this model.
_noteYesWhere the figures come from: Autoza, prices in GBP, distances in miles.
modelNo
summaryNo
road_taxNo
best_yearsNo
generationNo
worst_yearsNo
alternativesNo
common_faultsNo
last_reviewedNo
tell_the_userNo
why_avoid_thoseNo
why_those_yearsNo
available_modelsNoPresent when no model_slug was given.
asking_price_noteNo
registration_yearNo
this_guide_coversNo
real_world_economyNo
asking_price_on_autozaNo
guide_covers_your_yearNoNull when the guide does not date every generation it names.
mot_first_time_pass_rateNo
mot_first_time_pass_rate_for_yearNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "_note": {
      +      "description": "Where the figures come from: Autoza, prices in GBP, distances in miles.",
      +      "type": "string"
      +    },
      +    "alternatives": {
      +      "type": "array"
      +    },
      +    "asking_price_note": {
      +      "type": "string"
      +    },
      +    "asking_price_on_autoza": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "available_models": {
      +      "description": "Present when no model_slug was given.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "best_years": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "common_faults": {
      +      "items": {
      +        "properties": {
      +          "area": {
      +            "type": "string"
      +          },
      +          "severity": {
      +            "type": "string"
      +          },
      +          "symptoms": {
      +            "type": "string"
      +          },
      +          "typical_repair_cost": {
      +            "type": "string"
      +          },
      +          "what_to_check_before_buying": {
      +            "type": "string"
      +          },
      +          "years_affected": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "area"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "generation": {
      +      "type": "string"
      +    },
      +    "guide_covers_your_year": {
      +      "description": "Null when the guide does not date every generation it names.",
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "last_reviewed": {
      +      "type": "string"
      +    },
      +    "model": {
      +      "type": "string"
      +    },
      +    "mot_first_time_pass_rate": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "mot_first_time_pass_rate_for_year": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "page": {
      +      "description": "The Autoza guide for this model.",
      +      "type": "string"
      +    },
      +    "real_world_economy": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "registration_year": {
      +      "type": "integer"
      +    },
      +    "road_tax": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "summary": {
      +      "type": "string"
      +    },
      +    "tell_the_user": {
      +      "type": "string"
      +    },
      +    "this_guide_covers": {
      +      "type": "string"
      +    },
      +    "why_avoid_those": {
      +      "type": "string"
      +    },
      +    "why_those_years": {
      +      "type": "string"
      +    },
      +    "worst_years": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "_note"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / model_slug / description
      Previous value: -"Model identifier, e.g. \"ford-focus-common-faults-uk\". Call with no argument to list every available model."New value: +"Model identifier, e.g. \"ford-focus-common-faults-uk\", \"ford-focus\", \"Ford Focus\" or just \"Focus\". Call with no argument to list every available model."
    • addedInput schema / properties / registration_year
      Added value: +{
      +  "description": "Optional. Year the car was FIRST registered (V5C), e.g. 2014. Returns the DVSA pass rate for that registration year and says whether the guide covers that year's generation.",
      +  "type": "integer"
      +}
  3. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnly/non-destructive annotations, the description discloses data provenance (DVSA Class 4 test records, Great Britain only), an important methodology nuance about rectification passes counting as first-time passes versus DVSA's own initial-test measure, and generation-coverage behavior with an explicit warning when a year falls outside the guide. This is exactly the kind of interpretation-critical context annotations cannot carry.

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 opening sentence front-loads the resource and its three output types, and subsequent sentences each add distinct value (provenance, methodology caveat, generation behavior, usage triggers). It is dense at four sentences, but no sentence is filler, so it stays efficient.

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?

With an output schema present, return values need no explanation; the description instead covers scope, data source, interpretation caveats, optional-parameter behavior, and usage triggers. An agent has everything needed to decide to call it and to interpret the numbers correctly.

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 coverage is 100% and both parameters are already documented in the schema, including the flexible model_slug formats and the list-all behavior. The description largely restates that (generation coverage, per-year pass rate) rather than adding syntax or format detail the schema lacks. 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (a used car model's reliability data) and enumerates the concrete outputs: common faults, best/worst model years, and DVSA MOT first-time pass rates. The scope is narrowed to UK models and GB DVSA records, which makes it easy to separate from generic car tools. It never names a sibling like mot_outlook or check_mot_due_date, so differentiation is implied by scope rather than stated.

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?

Explicit when-to-use guidance is given: reliability questions, fault lookups, which year to buy or avoid, and pre-purchase checks. It also states the no-argument listing behavior and the registration_year use case, which is strong routing context. No when-not-use conditions or named alternatives are provided, keeping it short of a 5.

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