resolve_vehicle
Vehicle data · Read-only
Resolve a VIN or year/make/model to the MOTOR vehicle identity every other tool needs.
Usage
Call this first. Every content tool requires the numeric baseVehicleId that only this tool supplies — pass the baseVehicleId field onward, never the adjacent vehicleId (MOTOR rejects it with error 400.110052).
When resolution is ambiguous the result is {ambiguous: true, candidates: [...]}. Present the candidates and let the user choose; the server never guesses a vehicle, and neither should your client.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
vehicle | Resolve by VIN, or Resolve by year/make/model | Yes | The vehicle to resolve — either {vin} or {year, make, model, trim?}. Example: {"vin": "2HGFA1F5"} |
vehicle.vin | string | Yes | Partial (3+ characters) or full 17-character VIN. Example: "2HGFA1F5" |
vehicle.year | number, or string | Yes | Model year. Sandbox covers 2010, 2015, 2016 only. Example: 2010 |
vehicle.make | string | Yes | Make name, case-insensitive. Example: "Honda" |
vehicle.model | string | Yes | Model name, case-insensitive. Example: "Civic" |
vehicle.trim | string | No | Trim/submodel, case-insensitive. Omit to see all candidates when unsure. Example: "LX" |
Description advertised to clients
The exact description a fully entitled MCP client discovers — the workflow contracts travel with the tool, so a client with no system prompt still uses it correctly. An account missing a licence for content this tool reaches sees the same text behind a [Licensed content — not enabled on this account] or [Partially available] notice:
Resolve a vehicle to its MOTOR identity from a VIN (partial, 3+ characters, or full) or year/make/model/trim. CALL THIS FIRST: every other tool on this server requires the numeric baseVehicleId that ONLY this tool's output supplies — there is no other way to obtain it. If the result is {ambiguous: true, question, candidates: [...]}, relay the question and present the candidates as a selectable list (numbered options the user can pick from, never a request to type details back). Do NOT pick a candidate yourself, do NOT retry with a guess — a confident answer about the wrong trim is the worst possible outcome. The evaluation sandbox covers model years 2010, 2015, and 2016 ONLY. Empty results for other vehicles are correct behaviour, not an error — tell the user the vehicle is not covered rather than retrying.
Example — Resolve a partial VIN
Captured from the live server, 2026-08-20.
Request
{
"vehicle": {
"vin": "2HGFA1F5"
}
}
Response
{
"ambiguous": false,
"baseVehicleId": 22124,
"vehicleId": 61013,
"description": "2010 Honda Civic LX, 1.8L L4 (R18A1) GAS FI",
"year": 2010,
"make": "Honda",
"model": "Civic",
"engineId": 2913,
"trim": "LX",
"countryCode": "USA",
"vin": "2HGFA1F5"
}
Both identifiers appear side by side. Downstream tools take baseVehicleId (22124) — vehicleId (61013) is returned for completeness and is not accepted anywhere on this surface.