Skip to main content
Glama

Search used cars for sale

search_used_cars
Read-only

Search live used cars for sale from UK dealers on Autoza, with current asking prices in GBP and mileage in miles. Returns a canonical autoza.co.uk URL, the town or area, and the vehicle type for each result. Searches cars unless vehicle_type asks for vans, motorcycles or other stock. If nothing matches every filter, optional filters are relaxed one at a time and the response lists which ones. A result whose dealer title says SOLD, SALE AGREED or DEPOSIT PAID carries availability_caution; a result with no asking price has price_gbp null, and price_note flags a very low price that may be for parts or accessories rather than a vehicle. Use when someone wants to find, browse or compare actual vehicles currently for sale in the UK.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
makeNoManufacturer, e.g. "BMW", "Ford". Everyday names such as "VW" or "Merc" are understood, and the response says how the name was read (make_interpreted_as).
limitNoMax results, 1–25. Defaults to 10.
modelNoModel name, e.g. "Focus", "3 Series".
locationNoUK town, city or postcode district, e.g. "Manchester", "Bury", "SK4". A city matches its postcode areas, as its /cars/{city} page does.
max_yearNo
min_yearNo
body_typeNoOne of hatchback, saloon, suv, coupe, convertible, estate, mpv, pickup, van. Anything else is refused. For motorbikes, vans or motorhomes use vehicle_type.
fuel_typeNoe.g. "petrol", "diesel", "electric", "hybrid", "plug-in hybrid" (also "PHEV"). A plug-in hybrid is not counted as a hybrid.
max_priceNoMaximum price in GBP.
min_priceNoMinimum price in GBP.
transmissionNoe.g. "manual", "automatic".
vehicle_typeNoVehicle type. Defaults to "car". Results are filtered on the vehicle type each listing is recorded under. Pass "van", "motorcycle", "motorhome", "truck" or "caravan" for other stock.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
_noteYesWhere the figures come from: Autoza, prices in GBP, distances in miles.
resultsYes
fuel_noteNo
make_noteNo
model_noteNo
exact_matchYesTrue only when every filter given was understood and applied and something matched.
vehicle_typeYes
nothing_foundNo
tell_the_userNo
body_type_noteNo
filters_relaxedNoThe filters dropped to find any result, in the order they were dropped.
ignored_argumentsNoArguments that are not part of this tool and were not applied.
available_locationsNoTowns with stock, offered when the location asked for had none.
make_interpreted_asNo

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"
      +    },
      +    "available_locations": {
      +      "description": "Towns with stock, offered when the location asked for had none.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "body_type_note": {
      +      "type": "string"
      +    },
      +    "exact_match": {
      +      "description": "True only when every filter given was understood and applied and something matched.",
      +      "type": "boolean"
      +    },
      +    "filters_relaxed": {
      +      "description": "The filters dropped to find any result, in the order they were dropped.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "fuel_note": {
      +      "type": "string"
      +    },
      +    "ignored_arguments": {
      +      "description": "Arguments that are not part of this tool and were not applied.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "make_interpreted_as": {
      +      "type": "string"
      +    },
      +    "make_note": {
      +      "type": "string"
      +    },
      +    "model_note": {
      +      "type": "string"
      +    },
      +    "nothing_found": {
      +      "type": "string"
      +    },
      +    "results": {
      +      "items": {
      +        "properties": {
      +          "availability_caution": {
      +            "type": "string"
      +          },
      +          "body_type": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "colour": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "fuel": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "location": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "make": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "mileage_miles": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "model": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "price_gbp": {
      +            "description": "The asking price in GBP, or null when the advert has none.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "price_gbp_with_vat": {
      +            "type": "number"
      +          },
      +          "price_note": {
      +            "type": "string"
      +          },
      +          "price_text": {
      +            "type": "string"
      +          },
      +          "price_vat": {
      +            "description": "plus_vat when the advertised price is before VAT, vat_included when it includes VAT. Absent when the advert does not say.",
      +            "type": "string"
      +          },
      +          "transmission": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "updated": {
      +            "description": "When the advert was last updated, as an ISO 8601 date and time.",
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The canonical autoza.co.uk advert address. Pass it to estimate_running_costs or ask_about_car.",
      +            "type": "string"
      +          },
      +          "variant": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "vat_note": {
      +            "type": "string"
      +          },
      +          "vehicle_type": {
      +            "type": "string"
      +          },
      +          "year": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "url",
      +          "vehicle_type"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "tell_the_user": {
      +      "type": "string"
      +    },
      +    "vehicle_type": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "results",
      +    "exact_match",
      +    "vehicle_type",
      +    "_note"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / body_type / description
      Previous value: -"e.g. \"hatchback\", \"estate\", \"suv\", \"saloon\"."New value: +"One of hatchback, saloon, suv, coupe, convertible, estate, mpv, pickup, van. Anything else is refused. For motorbikes, vans or motorhomes use vehicle_type."
    • changedInput schema / properties / fuel_type / description
      Previous value: -"e.g. \"petrol\", \"diesel\", \"electric\", \"hybrid\"."New value: +"e.g. \"petrol\", \"diesel\", \"electric\", \"hybrid\", \"plug-in hybrid\" (also \"PHEV\"). A plug-in hybrid is not counted as a hybrid."
  3. Changed2 schema fields changed
    • changedInput schema / properties / location / description
      Previous value: -"UK city or region, e.g. \"Manchester\", \"Belfast\"."New value: +"UK town, city or postcode district, e.g. \"Manchester\", \"Bury\", \"SK4\". A city matches its postcode areas, as its /cars/{city} page does."
    • changedInput schema / properties / make / description
      Previous value: -"Manufacturer, e.g. \"BMW\", \"Ford\"."New value: +"Manufacturer, e.g. \"BMW\", \"Ford\". Everyday names such as \"VW\" or \"Merc\" are understood, and the response says how the name was read (make_interpreted_as)."
  4. Changed1 schema field changed
    • addedInput schema / properties / vehicle_type
      Added value: +{
      +  "description": "Vehicle type. Defaults to \"car\". Results are filtered on the vehicle type each listing is recorded under. Pass \"van\", \"motorcycle\", \"motorhome\", \"truck\" or \"caravan\" for other stock.",
      +  "enum": [
      +    "car",
      +    "van",
      +    "motorcycle",
      +    "motorhome",
      +    "truck",
      +    "caravan"
      +  ],
      +  "type": "string"
      +}
  5. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations by disclosing non-obvious behavior: optional filters are relaxed one at a time when nothing matches and the response reports which were relaxed, SOLD/SALE AGREED/DEPOSIT PAID listings carry availability_caution, and missing prices yield price_gbp null with a price_note for suspiciously low prices. These are exactly the side effects and quirks an agent cannot get from annotations or schema.

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?

Front-loaded with what it searches and for whom, then adds conditional behaviors in compact clauses. It is a long description (five sentences of dense detail), but nearly every clause carries operative information about filtering, flags or defaults.

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 12 optional parameters, a filter-relaxation policy and caution flags, this is a complex tool, and the description covers the default stock type, the relaxation fallback, and the interpretation of unusual results. Return values are also summarized even though an output schema exists, so an agent has everything needed to call and interpret it.

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 high (83%), so the schema already documents make interpretation, enum values, ranges and location formats. The description mostly reinforces existing parameter meaning ('Searches cars unless vehicle_type...') rather than adding new per-parameter syntax, so baseline 3 applies.

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?

States a specific verb (search) plus resources (live used cars for sale from UK dealers on Autoza), gives the units (GBP, miles), and scopes itself with 'searches cars unless vehicle_type asks for vans, motorcycles or other stock.' This clearly separates it from siblings like get_uk_price_guide, ask_about_car or mot_outlook.

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?

Ends with an explicit trigger: 'Use when someone wants to find, browse or compare actual vehicles currently for sale in the UK.' That is a clear usage condition, but no sibling is named as the alternative (e.g. get_uk_price_guide for valuation-only questions), so routing is left partly inferential.

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