Vehicle History Report API
Order an account-owned vehicle history report by VIN, poll its status, and retrieve the available canonical JSON result.
Vehicles.dev MCP
Give your AI agent typed access to VIN identity, live listings, market value, recalls, specifications, photos, depreciation, ownership costs, and durable vehicle history reports—without writing the integration yourself.
What's a 2022 F-150 with 20k miles worth?
Request understood
get_market_value
Grounded answer
{
"name": "get_market_value",
"arguments": {
"make": "Ford",
"model": "F-150",
"year": 2022,
"miles": 20000
}
}The agent chooses the tool. Your key stays in the local MCP process.
01 / Quickstart
Install the npm package, expose one scoped Vehicles.dev key, and register the server. No source checkout or manual build required. These commands use bash or zsh on macOS and Linux.
npm install -g vehicles-dev-mcpThe published npm package includes the local MCP server. Node.js 20 or newer.
vehicles loginFirst install the CLI (npm install -g vehicles-dev-cli), then run vehicles login once. It saves your key to ~/.vehicles/credentials.json, which this server reads automatically — so the config below carries no key. On servers or CI, set VEHICLES_API_KEY instead.
Create a key in the dashboard →claude mcp add --transport stdio vehicles-dev -- vehicles-dev-mcpThat is it for Claude Code. Desktop, Cursor, and VS Code use the same server below.
Already use npx? You can skip the global install. See the versionless setup →
02 / How it works
Every tool carries a narrow input schema, an explicit data boundary, and enough context for an agent to select it from ordinary language. Responses keep the API’s source, coverage, and model assumptions intact.
Follow a complete tool call →“What is this VIN, what is it worth, and are there recalls?”
MCP exposes names, descriptions, and schemas so the model can choose and combine the right lookups.
Successful tool output preserves the API JSON. Failures include the API request ID and a concrete recovery hint.
03 / Vehicle data catalog
Compose focused identity, safety, valuation, ownership-cost, photo, and listings lookups with account-owned report ordering, recovery, polling, and result retrieval. The billable report tool is idempotent and confirmation-gated; every other tool is read-only.
Order an account-owned vehicle history report by VIN, poll its status, and retrieve the available canonical JSON result.
15 account-scoped operations
decode_vinWhat car is this VIN? Cheapest identity lookup; start here.
GET/v1/vehicles/vin/{vin}get_specificationsWhat did the factory build? Raw NHTSA vPIC spec sheet — seats, horsepower, GVWR, plant country.
GET/v1/vehicles/specifications/{vin}get_recallsHas this vehicle been recalled? Every NHTSA campaign for its year/make/model.
GET/v1/vehicles/recalls/{vin}get_vehicle_photosWhat does it look like? The captured gallery plus a link to the source listing.
GET/v1/vehicles/photos/{vin}search_listingsWhat is for sale, and what are they asking? A page of live dealer listings plus the total match count.
GET/v1/vehicles/listingsget_market_valueWhat is this car worth today? ML-predicted asking price for a year/make/model.
GET/v1/vehicles/market-valueget_depreciationHow fast does this model lose value? Model-level retention curve and decay rate.
GET/v1/vehicles/depreciationget_ownership_costsWhat does it cost to run? EPA annual and five-year fuel cost, combined MPG, CO2. Fuel only.
GET/v1/vehicles/ownership-costsget_total_cost_ownershipWhat will it really cost to own? Depreciation, fuel, upkeep, tax and finance — each labelled by how much of it we actually measured.
GET/v1/vehicles/total-cost-ownershipget_loan_paymentsWhat is the monthly payment? Amortized payment and total interest, including negative trade-in equity.
GET/v1/vehicles/loanget_purchase_costsWhat tax and fees on top? Per-state rate and trade-in credit rule, plus title, registration and doc fees.
GET/v1/vehicles/purchase-costslist_vehicle_history_reportsWhich durable reports does this account already own? Recover recent IDs, VINs, states, and polling cadence without ordering anything.
GET/v1/vehicles/history-reportsget_vehicle_history_report_statusIs this account-owned report ready? Poll its durable state without submitting or billing another report.
GET/v1/vehicles/history-reports/{id}get_vehicle_history_report_resultWhat canonical history data and VIN-bound provenance did this completed report return?
GET/v1/vehicles/history-reports/{id}/resultorder_or_resume_vehicle_history_reportOrder a confirmed Pro or Scale report, or resume the same logical order with its stable idempotency key.
POST/v1/vehicles/history-reports04 / Clients
The same local server works anywhere that can launch a stdio MCP process. Pick the configuration shape your client expects.
Register the global binary from your terminal, then confirm it with /mcp.
claude mcp add --transport stdio vehicles-dev -- vehicles-dev-mcpBoth clients accept the same local-server object and fetch the package with npx.
{
"mcpServers": {
"vehicles-dev": {
"command": "npx",
"args": ["-y", "vehicles-dev-mcp"]
}
}
}Agent mode uses a servers object and an explicit stdio transport.
{
"servers": {
"vehicles-dev": {
"type": "stdio",
"command": "npx",
"args": ["-y", "vehicles-dev-mcp"]
}
}
}Package: vehicles-dev-mcp · MIT licensed · Open the client setup guide →
05 / FAQ
For schemas, environment variables, pricing, and failure handling, the API reference carries the full contract.
Read MCP documentation →Model Context Protocol is a standard way for an AI client to discover and call tools. The Vehicles.dev server turns each supported vehicle-data endpoint into a typed tool, so the agent can choose the operation and fill its inputs from a natural-language request.
Claude Code, Claude Desktop, Cursor, VS Code Agent mode, and any client that can launch a local stdio MCP server. The package runs on Node.js 20 or newer.
Yes. Vehicles.dev uses one product-scoped vdev_ API key. Run vehicles login to save it to ~/.vehicles/credentials.json — the MCP server reads it automatically — or set VEHICLES_API_KEY for servers and CI. Either way the key is sent directly to the Vehicles.dev API; it is never added to your prompt or returned in tool output.
There is no separate MCP fee. Each successful tool call uses the same plan access, per-endpoint price, rate limit, and success-only billing rule as the REST API. Failed calls are not charged.
Only the vehicle-history ordering tool creates anything. It requires a caller-supplied idempotency UUID and explicit confirmation boolean; confirm_order=false makes no request. The other tools are read-only account-scoped lookups.
Ready when your agent is
Starter is free, includes 1,000 eligible calls each month, and gives you one key for the API and MCP server.