OpenDealer MCP Server
REMOTE · MCP.OPENDEALER.APP · SCANNED AUG 3
Automotive inventory search for AI assistants: vehicles, dealers, deals, and market data.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability77
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 5705 tokens (~142/item across 40 items; 27 tools + 13 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management13
- Stability check failed: schema churn in the 5 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 2 additions. See how to fix → Fail
Tool Coverage91
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 70% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.opendealer.app
claude mcp add --transport http app-opendealer-mcp https://mcp.opendealer.app/rpc
[mcp_servers.app-opendealer-mcp] url = "https://mcp.opendealer.app/rpc"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"app-opendealer-mcp": {
"type": "remote",
"url": "https://mcp.opendealer.app/rpc",
"enabled": true
}
}
} openclaw mcp add app-opendealer-mcp --url https://mcp.opendealer.app/rpc --transport streamable-http
mcp_servers:
app-opendealer-mcp:
url: "https://mcp.opendealer.app/rpc" {
"mcpServers": {
"app-opendealer-mcp": {
"type": "http",
"url": "https://mcp.opendealer.app/rpc"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 6 to 9.
- 31 Jul 26 +4
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +46
- Transport: unverified → pass ▲ security
- Authorization: fail → partial ▲ security
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Capabilities: pass functional
- First check of Tool coverage: 72 functional
- First check of Schema quality: good functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: fail functional
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 22
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://mcp.opendealer.app/rpc
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=opendealer.app | CN=WE1,O=Google Trust Services,C=US | 31 Jul 2026 | 29 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | c3d09bda7f1136a40eb4ae3b9da03d8c |
| SANs: opendealer.app, *.opendealer.app | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of mcp.opendealer.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| opendealer.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data: https:;object-src 'none';script-src 'self' 'unsafe-inline' https://unpkg.com;script-src-attr 'none';style-src 'self' 'unsafe-inline' https://unpkg.com;upgrade-insecure-requests;connect-src 'self' https: |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | no-referrer |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.opendealer.app/rpc | Verified | 200 | |
| http (plaintext) | http://mcp.opendealer.app/rpc | HTTPS enforced | 301 | https://mcp.opendealer.app/rpc |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
check_recalls Check NHTSA Recalls ~140
Get NHTSA open safety recalls for a vehicle by VIN. Returns recall campaigns resolved at the year/make/model level (YMM-granular). A recall listed for the model year may not apply to every VIN — the response includes NHTSA's disclaimer and campaign details (component, summary, remedy status, Park It / Park Outside advisories). Use this when a shopper asks about recalls, safety campaigns, or whether a specific model has open NHTSA notices. Required step in vehicle_dossier and safety_first playbooks; always include the YMM-granularity disclaimer.
| Name | Type | Req | Description |
|---|---|---|---|
| vin | string | yes | 17-character Vehicle Identification Number |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | — | — |
| recalls | array | — | — |
| vin | string | — | — |
No examples provided.
compare_market Compare Market Segments ~68
Compare pricing across market segments. Provide modelcodes[] or make (optionally with model).
| Name | Type | Req | Description |
|---|---|---|---|
| make | string | — | — |
| model | string | — | — |
| modelcodes | array | — | — |
| type | string | — | Vehicle type (New or Used) |
| year | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
compare_models Compare Vehicle Models ~189
Compare 2-4 vehicle models side by side (model-level, not specific listings). Provide composite make-model slugs like "honda-civic" or "toyota-corolla". Returns: • Winner-by-dimension deltas: price, fuel economy, horsepower, seating, towing, NHTSA safety, live median listing price • Full research payload for each model (trims, MSRPs, specs) Use this for "Civic vs Corolla" style questions. To compare specific listed vehicles by VIN, use compare_vehicles instead. CRITICAL: Only use the 'url' field from the response for links. NEVER invent or construct URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| models | array | yes | Composite make-model slugs to compare (e.g., ["honda-civic", "toyota-corolla"]) |
| year | integer | — | Model year (defaults to the latest year with reference data) |
| Name | Type | Req | Description |
|---|---|---|---|
| dimensions | array | — | — |
| models | array | — | — |
No examples provided.
compare_vehicles Compare Vehicles ~83
Compare 2-5 vehicles side by side. Provide a list of VINs to compare. Returns a structured comparison including: • Specifications comparison (engine, MPG, features) • Price comparison with market context • Pros and cons for each vehicle • Recommendation based on value
| Name | Type | Req | Description |
|---|---|---|---|
| vins | array | yes | List of VINs to compare (2-5 vehicles) |
| Name | Type | Req | Description |
|---|---|---|---|
| comparison | object | — | — |
| vehicles | array | — | — |
No examples provided.
dealer_inventory Browse Dealer Inventory ~317
Browse the complete inventory of a specific dealership. IMPORTANT: Use the exact dealer slug from a previous dealers_near or search_vehicles response. Do NOT guess dealer IDs. Useful when a user wants to see what a particular dealer has in stock. Supports all vehicle filters (make, model, price, etc.). CRITICAL: Only use URLs from the response. NEVER invent URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| body_type | string | — | Vehicle body style |
| certified | boolean | — | Filter for CPO vehicles |
| condition | string | — | Vehicle condition |
| dealerId | string | yes | Dealer identifier (UUID or slug like "rsm-honda") |
| drivetrain | string | — | Drivetrain configuration |
| fuel_type | string | — | Fuel type |
| limit | integer | — | Maximum number of results to return (1-100, default: 25) |
| make | string | — | Vehicle make |
| mileage_max | integer | — | Maximum mileage |
| model | string | — | Vehicle model |
| offset | integer | — | Number of results to skip for pagination |
| price_max | integer | — | Maximum price in USD |
| price_min | integer | — | Minimum price in USD |
| sort | string | — | Sort order |
| transmission | string | — | Transmission type |
| trim | string | — | Trim level |
| view | string | — | Response detail: standard (features/gallery, default), llm (compact), minimal |
| year_max | integer | — | Maximum model year |
| year_min | integer | — | Minimum model year |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | — | — |
| results | array | — | — |
| total | number | — | — |
| totalResults | number | — | — |
| vehicles | array | — | — |
No examples provided.
dealers_near Find Nearby Dealers ~214
Find dealerships near a location. Location modes (choose ONE): • zip + radius (miles) • lat + lng + radius • city + state + radius • county + state + radius Returns dealer information including: • Name, address, phone, website • Distance from search location • Current inventory count • Business hours (when available)
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | — | City name |
| county | string | — | County name |
| lat | number | — | Latitude coordinate |
| limit | integer | — | Maximum number of dealers to return (1-200, default: 50) |
| lng | number | — | Longitude coordinate |
| offset | integer | — | Number of results to skip for pagination |
| radius | integer | — | Search radius in miles (1-250, default: 50) |
| state | string | — | 2-letter US state code (e.g., CA, TX) |
| zip | string | — | 5-digit US ZIP code (e.g., 92688) |
| Name | Type | Req | Description |
|---|---|---|---|
| dealers | array | — | — |
| items | array | — | — |
| total | number | — | — |
No examples provided.
filter_vehicles Filter Vehicles (Structured) ~422
Preferred structured inventory lookup when make/model/year/color/location are known. Uses exact hard filters (keyword mode, no embeddings) via the Runtime /v1/llm/filter path. Resolve exact make/model names with list_research_makes and list_research_models first. For prose or conceptual queries, use search_vehicles instead. Often the first step in shopping playbooks (budget_coach, safety_first, price_drop_sniper, dealer_crawl). After results, chain get_deal_score / get_vehicle_history / check_recalls / compare_vehicles when the user needs a recommendation, not just a list. See opendealer://assistant/shopping-playbooks. CRITICAL: Use the 'url' field from each result. NEVER invent URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| body_type | string | — | Vehicle body style |
| certified | boolean | — | — |
| city | string | — | — |
| color | string | — | — |
| condition | string | — | Vehicle condition |
| drivetrain | string | — | Drivetrain configuration |
| fuel_type | string | — | Fuel type |
| limit | integer | — | Maximum number of results to return (1-100, default: 25) |
| make | string | — | Vehicle make (resolve via list_research_makes if unsure) |
| mileage_max | integer | — | — |
| model | string | — | Vehicle model (resolve via list_research_models if unsure) |
| offset | integer | — | Number of results to skip for pagination |
| price_max | integer | — | — |
| price_min | integer | — | — |
| radius | integer | — | Search radius in miles (1-250, default: 50) |
| sort | string | — | Sort order for results |
| state | string | — | 2-letter US state code (e.g., CA, TX) |
| transmission | string | — | Transmission type |
| trim | string | — | — |
| year_max | integer | — | — |
| year_min | integer | — | — |
| zip | string | — | 5-digit US ZIP code (e.g., 92688) |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | — | — |
| results | array | — | — |
| total | number | — | — |
| totalResults | number | — | — |
| vehicles | array | — | — |
No examples provided.
get_deal_score Get Deal Score ~123
Get AI-powered deal scoring and market insights for a vehicle. Returns comprehensive analysis including: • Deal score (1-100) with rating (Great, Good, Fair, Poor) • Price comparison vs market average • Days on lot analysis • Price history and trends • Similar vehicles in the market Core step in vehicle_dossier, budget_coach, price_drop_sniper, and dealer_crawl playbooks. Pair with get_vehicle_history and check_recalls for buy/no-buy answers.
| Name | Type | Req | Description |
|---|---|---|---|
| vin | string | yes | 17-character Vehicle Identification Number |
| Name | Type | Req | Description |
|---|---|---|---|
| dealScore | object | — | — |
| priceHistory | array | — | — |
| vin | string | — | — |
No examples provided.
get_dealer Get Dealership Details ~156
Get comprehensive information about a specific dealership. Returns Google-enriched dealer knowledge optimized for assistants: • Name, address, phone, website • Google rating, review count, hours, business status • Inventory count and OpenDealer profile links • Contact points for sales / customer service Use this when a shopper asks "tell me about X dealership" or needs hours/ratings for a known dealer. Prefer a slug from dealers_near or search results. CRITICAL: Only use URL fields from the response (website, urls.*). NEVER invent or construct URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| dealerId | string | yes | Dealer identifier: UUID or slug (e.g., "rsm-honda"). Prefer the slug from dealers_near or search results. |
| Name | Type | Req | Description |
|---|---|---|---|
| aggregateRating | object | — | — |
| inventory | object | — | — |
| name | string | — | — |
| openingHours | — | — | — |
| slug | string | — | — |
| telephone | string | — | — |
| urls | object | — | — |
No examples provided.
get_market_overview Get Market Overview ~76
Get high-level automotive market statistics. Returns aggregated market data including: • Total vehicles and dealers in inventory • Average pricing by segment • Top makes by volume • Market velocity indicators • New vs Used breakdown
| Name | Type | Req | Description |
|---|---|---|---|
| make | string | — | Filter by vehicle make |
| type | string | — | Filter by vehicle type |
Structured output declared, but exposes no named fields.
No examples provided.
get_market_segment Get Market Segment Data ~132
Get detailed pricing and market data for a specific vehicle segment. Useful for understanding fair market value for a make/model/year combination. Returns pricing statistics including: • Average, median, min, max prices • Price percentiles (10th, 25th, 75th, 90th) • Average mileage and days on lot • Certified vs non-certified pricing difference
| Name | Type | Req | Description |
|---|---|---|---|
| certified | boolean | — | Filter for certified vehicles |
| modelcode | string | yes | Model code identifier (unique per make/model/year combination) |
| type | string | — | Vehicle type |
| year | integer | — | Model year |
Structured output declared, but exposes no named fields.
No examples provided.
get_market_trends Get Market Price Trends ~81
Price trends over time for a market segment (modelcode). Returns timeline of median/avg prices and days-on-lot.
| Name | Type | Req | Description |
|---|---|---|---|
| certified | boolean | — | — |
| days | integer | — | — |
| modelcode | string | yes | Market segment modelcode |
| type | string | — | Vehicle type (New or Used) |
| year | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_market_velocity Get Market Velocity ~57
How quickly vehicles sell by segment (fastest/slowest days on lot). Optional make/type filters.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| make | string | — | — |
| type | string | — | Vehicle type (New or Used) |
Structured output declared, but exposes no named fields.
No examples provided.
get_safety_rating Get NHTSA Safety Rating ~212
Get NHTSA 5-Star Safety Ratings for a year/make/model (no VIN required). Answers questions like "is a 2023 RAV4 safe for my family" with: • Overall and crash-test star ratings (when published) • Rollover rating / possibility • NHTSA-evaluated ADAS availability (ESC, FCW, LDW) Ratings are model-year granular from the NHTSA NCAP cache. If no confident rating exists, the tool reports that honestly rather than guessing. For VIN-specific listing details use get_vehicle; for open recalls use check_recalls. CRITICAL: Only use the 'sourceUrl' field from the response for NHTSA links. NEVER invent URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| make | string | yes | Vehicle make (e.g., "Toyota", "Honda") |
| model | string | yes | Vehicle model (e.g., "RAV4", "Civic") |
| year | integer | yes | Model year (e.g., 2023) |
| Name | Type | Req | Description |
|---|---|---|---|
| available | boolean | yes | — |
| make | string | — | — |
| message | string | — | — |
| model | string | — | — |
| safety | — | yes | — |
| sourceUrl | string | — | — |
| year | number | — | — |
No examples provided.
get_similar_vehicles Get Similar Vehicles ~77
Find similar on-lot vehicles for a VIN ("you may also like"). Uses semantic similarity when available, with make/model filter fallback. CRITICAL: Use the 'url' or listing fields from each result. NEVER invent URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| vin | string | yes | 17-character Vehicle Identification Number |
Structured output declared, but exposes no named fields.
No examples provided.
get_suggested_rates Get Suggested Finance Rates ~70
National average suggested auto loan APRs (not a credit offer). Optional filters: condition (new/used), term_months (36–84), credit_tier.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | — | — |
| credit_tier | string | — | — |
| term_months | number | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_vehicle Get Vehicle Details ~196
Get complete details for a specific vehicle by VIN. Returns comprehensive Schema.org Vehicle data including: • Full specifications (engine, transmission, drivetrain) • High-resolution images • Current pricing and availability • NHTSA NCAP safety rating summary (when available) • NHTSA open recall summary (YMM-granular, when available) • Dealer contact information Starting point for the vehicle_dossier playbook. For buy/no-buy questions, continue with get_deal_score → get_vehicle_history → check_recalls → get_similar_vehicles. CRITICAL: Only use the 'url' field from the response. NEVER invent URLs. NEVER construct URLs with opendealer domains - the 'url' field points to the dealer's website.
| Name | Type | Req | Description |
|---|---|---|---|
| view | string | — | Response format: llm (optimized for AI), standard (full details), minimal (compact) |
| vin | string | yes | 17-character Vehicle Identification Number |
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | — | — |
| vehicleIdentificationNumber | string | — | — |
| vin | string | — | — |
No examples provided.
get_vehicle_history Get Vehicle Price History ~168
Get OpenDealer listing history for a VIN: price changes, days on lot, and status. Answers "has this VIN dropped in price" and days-on-lot narratives from retained snapshots (including vehicles that left a dealer feed). Returns: • Chronological price history with per-snapshot changes • Days on market / lot signals and badges (price_drop, long_on_lot) • Active vs no-longer-listed status when known Does not invent a deal score for sold vehicles — use get_deal_score for live market scoring. Essential for price_drop_sniper and vehicle_dossier playbooks when shoppers ask about reductions or negotiation leverage. CRITICAL: Only use URL fields from the response when present. NEVER invent URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| vin | string | yes | 17-character Vehicle Identification Number |
| Name | Type | Req | Description |
|---|---|---|---|
| badges | array | — | — |
| priceHistory | array | — | — |
| status | string | — | — |
| summary | object | — | — |
| vin | string | yes | — |
No examples provided.
get_vehicle_rankings Get Vehicle Rankings ~149
Get data-driven vehicle rankings (e.g., best SUVs, most fuel-efficient cars). Call without arguments to list all ranking categories. Pass a category slug (e.g., "best-suvs") for the full scored ranking. Rankings are computed from public data with a published methodology: NHTSA safety ratings, EPA fuel economy, manufacturer pricing, and live market availability. There is no paid placement; each entry includes its transparent score breakdown. CRITICAL: Only use the 'url' field from the response for links. NEVER invent or construct URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | Ranking category slug (e.g., "best-suvs"). Omit to list all available categories. |
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array | — | — |
| category | string | — | — |
| rankings | array | — | — |
| url | string | — | — |
No examples provided.
list_facets List Inventory Facets ~121
Discover available filter values and counts (makes, body types, fuel types, price/year ranges) for the live inventory. Call this before filter_vehicles when you need valid dimension values. Optional make/near/radius scopes the facet counts.
| Name | Type | Req | Description |
|---|---|---|---|
| certified | boolean | — | — |
| condition | string | — | Vehicle condition |
| make | string | — | — |
| near | string | — | Location string (ZIP or city, state) for geo-scoped facets |
| radius | integer | — | Search radius in miles (1-250, default: 50) |
Structured output declared, but exposes no named fields.
No examples provided.
list_market_segments List Market Segments ~78
Browse market segments with pricing statistics (modelcode, median price, sample size). Use to discover modelcodes for get_market_segment / get_market_trends.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| make | string | — | — |
| minSampleSize | integer | — | — |
| modelcode | string | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
list_research_makes List Research Makes ~63
Browse the research catalog of vehicle makes (with model and inventory counts). Use to resolve exact make names/slugs before filter_vehicles or research_model.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| q | string | — | Optional substring filter on make name/slug |
Structured output declared, but exposes no named fields.
No examples provided.
list_research_models List Research Models ~57
List models for a make from the research catalog (MSRP/body summaries). Use before filter_vehicles or research_model when the model name is uncertain.
| Name | Type | Req | Description |
|---|---|---|---|
| make | string | yes | Make name or slug (e.g. honda) |
Structured output declared, but exposes no named fields.
No examples provided.
research_model Research a Vehicle Model ~215
Get the full research payload for a vehicle model (not a specific listing). Returns manufacturer reference data joined with live market data: • All trims with MSRPs, engine/body specs, and EPA fuel economy • NHTSA 5-Star safety ratings and open recall count • Live inventory count and price range on OpenDealer Use this when a shopper asks "tell me about the Honda Civic", "what trims does the RAV4 come in", or "how much is a 2025 F-150". For a specific listed vehicle, use get_vehicle with a VIN instead. CRITICAL: Only use the 'url' field from the response for links. NEVER invent or construct URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| make | string | yes | Vehicle make slug or name (e.g., "honda", "mercedes-benz") |
| model | string | yes | Vehicle model slug or name (e.g., "civic", "e-class") |
| year | integer | — | Model year (defaults to the latest year with reference data) |
| Name | Type | Req | Description |
|---|---|---|---|
| make | object | — | — |
| model | object | — | — |
| safety | — | — | — |
| url | string | — | — |
| year | number | — | — |
No examples provided.
search_vehicles Search Vehicles ~846
Search for vehicles across dealerships (Meilisearch-backed NL + structured filters). Preferred tool order for assistants: 1. list_facets or list_research_makes/list_research_models to discover valid values 2. filter_vehicles when make/model/year/price/location are known (exact hard filters) 3. search_vehicles with q for prose/conceptual queries (optionally useLlmSearchPath=true) 4. get_vehicle / get_deal_score / research_model for depth When the ask implies analysis (good deal?, safety, budget, timing, dealer plan), continue with a shopping playbook from initialize instructions or resource opendealer://assistant/shopping-playbooks — do not stop at raw search results. Location modes (choose ONE): zip+radius, lat+lng+radius, city+state+radius, county+state+radius — or embed location in q. Forgiving matching: model variants, color families, typo tolerance. Hard caps (price_max, year, radius) are never relaxed. mode=hybrid for conceptual queries. CRITICAL: Use the 'url' field from each result. NEVER invent URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| body_type | string | — | Vehicle body style |
| certified | boolean | — | Filter for Certified Pre-Owned vehicles only |
| city | string | — | City name |
| color | string | — | Exterior color (e.g., black, white). Resolved to color families, so "black" matches "Crystal Black Pearl". |
| condition | string | — | Vehicle condition |
| county | string | — | County name |
| drivetrain | string | — | Drivetrain configuration |
| fuel_type | string | — | Fuel type |
| lat | number | — | Latitude coordinate |
| limit | integer | — | Maximum number of results to return (1-100, default: 25) |
| lng | number | — | Longitude coordinate |
| make | string | — | Vehicle make (e.g., Honda, Toyota, Tesla) |
| mileage_max | integer | — | Maximum mileage |
| mode | string | — | Search mode. Use hybrid for conceptual queries with little keyword overlap (e.g. "family hauler good in snow"). Hard caps still apply as filters. Falls back to keyword if semantic is unavailable. |
| model | string | — | Vehicle model (e.g., Civic, Camry, Model 3). Broad terms match all variants (Civic -> Civic Sedan/Si/Hatchback) unless narrowed by trim. |
| offset | integer | — | Number of results to skip for pagination |
| price_max | integer | — | Maximum price in USD |
| price_min | integer | — | Minimum price in USD |
| q | string | — | Free-text natural-language query. You can pass a whole sentence (e.g. "new black Honda Civic sedan under $45k within 150 miles of 92672"): price/mileage/year/condition and zip+radius are parsed out a… |
| radius | integer | — | Search radius in miles (1-250, default: 50) |
| semanticRatio | number | — | Semantic blend weight 0..1 when mode=hybrid (default 0.5). Higher = more conceptual matching. |
| sort | string | — | Sort order for results |
| state | string | — | 2-letter US state code (e.g., CA, TX) |
| transmission | string | — | Transmission type |
| trim | string | — | Trim level (e.g., EX, Limited, Performance) |
| useLlmSearchPath | boolean | — | When true with q, call the preferred LLM path search (/v1/llm/search/...) which returns nextLinks guidance. Prefer filter_vehicles when make/model/year/location are already known. |
| view | string | — | Response format: llm (optimized for AI), standard (full details), minimal (compact) |
| year_max | integer | — | Maximum model year |
| year_min | integer | — | Minimum model year |
| zip | string | — | 5-digit US ZIP code (e.g., 92688) |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | — | — |
| results | array | — | — |
| total | number | — | — |
| totalResults | number | — | — |
| vehicles | array | — | — |
No examples provided.
ui_page_vehicle_results Page Vehicle Results (App) ~390
App-only: paginate or refresh vehicle results using the same Runtime paths as filter_vehicles / search_vehicles (geo-correct). No widget remount — omit resourceUri. Not for model use.
| Name | Type | Req | Description |
|---|---|---|---|
| body_type | string | — | Vehicle body style |
| certified | boolean | — | — |
| city | string | — | — |
| color | string | — | — |
| condition | string | — | Vehicle condition |
| county | string | — | — |
| drivetrain | string | — | Drivetrain configuration |
| fuel_type | string | — | Fuel type |
| lat | number | — | Latitude coordinate |
| limit | integer | — | Maximum number of results to return (1-100, default: 25) |
| lng | number | — | Longitude coordinate |
| make | string | — | — |
| mileage_max | integer | — | — |
| mode | string | — | — |
| model | string | — | — |
| offset | integer | — | Number of results to skip for pagination |
| price_max | integer | — | — |
| price_min | integer | — | — |
| q | string | — | — |
| radius | integer | — | Search radius in miles (1-250, default: 50) |
| semanticRatio | number | — | — |
| sort | string | — | Sort order for results |
| source | string | — | Which model-facing tool path to reuse for this page request |
| state | string | — | 2-letter US state code (e.g., CA, TX) |
| transmission | string | — | Transmission type |
| trim | string | — | — |
| useLlmSearchPath | boolean | — | — |
| view | string | — | Response format: llm (optimized for AI), standard (full details), minimal (compact) |
| year_max | integer | — | — |
| year_min | integer | — | — |
| zip | string | — | 5-digit US ZIP code (e.g., 92688) |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | — | — |
| results | array | — | — |
| total | number | — | — |
| totalResults | number | — | — |
| vehicles | array | — | — |
No examples provided.
ui_select_vehicle Select Vehicle (App) ~82
App-only: record a vehicle selection from the results widget. Not for model use — hosts filter via _meta.ui.visibility.
| Name | Type | Req | Description |
|---|---|---|---|
| make | string | — | — |
| model | string | — | — |
| name | string | — | — |
| url | string | — | — |
| vin | string | yes | 17-character Vehicle Identification Number |
| year | integer | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | — |
| message | string | yes | — |
| selected | object | yes | — |
No examples provided.