AI agents

Ask in plain words. Check every number.

Five tools over the Canadian vehicle record. Your agent turns the question into tool calls, and every answer names the fields it leaned on.

Cardog MCP

3 calls

What's a 2026 Honda CR-V going for right now?

resolve_entitytool call

{ query: "2026 Honda CR-V", domain: "model-year" }

best.refmodel-year:honda/cr-v/2026cited
best.confidence1
candidates.length1
market_quotetool call

{ ref: "model-year:honda/cr-v/2026", window: "1m" }

quote.liveCount1,200cited
quote.priceP25$46,125
quote.priceMedian$46,890cited
quote.priceP75$51,006
quote.avgDomDays76cited
quote.cuts30d32
history.medianChangePct-3.6cited
quote.asOf2026-09-18

The 2026 CR-V is quoting a $46,890 median across 1,200 live listings, down 3.6% over the past month, on an average 76 days on market.

From 5 of 11 returned fields · best.ref, quote.liveCount, quote.priceMedian, quote.avgDomDays, history.medianChangePct

And is anything recalled?

check_recallstool call

{ ref: "model-year:honda/cr-v/2026" }

total2cited
recalls[0].refrecall:tc/2026274cited
recalls[0].authorityLabelTransport Canadacited
recalls[0].recallDate2026-06-04cited
recalls[0].componentOther
recalls[0].unitsAffected117,350
recalls[1].refrecall:nhtsa/26v366000cited
recalls[1].componentTIRES:TEMPORARY/EMERGENCY SPARE TIRE
recalls[1].unitsAffected1,048,613cited

Two are open. Transport Canada's 2026274 was filed 2026-06-04; NHTSA's 26V366000 covers 1,048,613 vehicles.

From 6 of 9 returned fields · total, recalls[0].ref, recalls[0].authorityLabel, recalls[0].recallDate, recalls[1].ref, recalls[1].unitsAffected

Recorded from the Cardog MCP server on 18 September 2026 · every number in an answer is a field in the block above it

The tools

Five calls over one record

Text enters through exactly one of them. The other four take the refs it hands back, so a name is never guessed at twice.

A name is not a key

resolve_entity turned “2026 Honda CR-V” into model-year:honda/cr-v/2026 above. The quote and the recall check both spent that ref.

It only states what a tool returned

A fact no call returned stays out of the answer, and the answer says which returned fields it used.

resolve_entitytakes free text

The way free text comes in. Names in, canonical refs out, best first with a confidence.

identify_vehicletakes a VIN

One VIN into its full identity: every reference the platform keys on, plus spec highlights.

check_recallstakes a VIN or a ref

Transport Canada and NHTSA campaigns, fused, with the authority, the number and the date.

market_quotetakes an instrument ref

The live card for one instrument: listing count, quartiles, days on market, recent cuts.

search_inventorytakes refs and ranges

Live Canadian listings, filtered by refs and canonical spec attributes, with facets.

Unknowns

A field with no source comes back empty

This CR-V decodes to eight refs. The three the pattern cannot determine come back null, which is a different answer from an absent key and a very different one from a guess.

GET/v2/vin/2HKRS3H24TH001457200
{
  "vin": "2HKRS3H24TH001457",
  "valid": true,
  "year": 2026, "make": "Honda",
  "model": "CR-V", "trim": "LX",
  "refs": {
    "make": "make:honda",
    "model": "model:honda/cr-v",
    "modelYear": "model-year:honda/cr-v/2026",
    "fuelType": "fuel-type:gasoline",
    "electrificationLevel": null,
    "vehicleType": null,
    "country": null
  },
  "nano": "nano:2HKRS3H2TH",
  "squish": "squish:2HKRS3H2T"
}
GEThttps://cardog.app/docs/recalls.md
200content-type: text/markdown
# Recalls by VIN  ```bashcurl "https://api.cardog.app/v2/recalls/vin/2T3R1RFV7MW180266" \
The same page as HTML at /docs/recalls

Machine-readable

Docs a machine can read

Every docs page has a Markdown twin. The SDKs and the MCP server come from one API spec.

One spec, three surfaces

A tool an agent calls and a method a developer calls never disagree.

How it works

Ask, call, answer

Call

One tools/call with the ref the agent already resolved. No VIN, no free text, nothing to re-guess.

Answer

Two campaigns come back, each with its authority, its campaign number, its date and how many vehicles it covers.

tools/call
{
  "method": "tools/call",
  "params": {
    "name": "check_recalls",
    "arguments": { "ref": "model-year:honda/cr-v/2026" }
  }
}
result 2 campaigns
{
  "ref": "model-year:honda/cr-v/2026",
  "total": 2,
  "recalls": [{
    "ref": "recall:tc/2026274",
    "authority": "tc", "campaignNumber": "2026274",
    "recallDate": "2026-06-04",
    "unitsAffected": 117350
  }]
}

Related products

The platform behind the tools

Platform

One API over identity, market, recalls and specs — keys, scopes and usage in the same place.

Connect an agent today

Create an organization, get a key, connect the MCP server.