Koskamo

OpenDealer MCP Server

Provides an automotive inventory search API for AI assistants, enabling queries for vehicles, dealers, deals, and market data across public verticals. It supports structured and natural language listing searches, dealer profiles, inventory feeds, and vehicle comparisons.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

OpenDealer MCP Server logo, by OpenDealerVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by OpenDealer
MCP endpoint (Streamable HTTP)
https://mcp.opendealer.app/rpc
Vendor documentation

What its tools do

26 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

26 of 26 have a description · 26 of 26 declare behavior hints · 15 of 25 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to opendealer.app ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for vehicles using structured filters or natural language
  • Retrieve dealer profiles and nearby dealer information
  • Access paginated inventory feeds and change notifications
  • Compare vehicle listings within a specific vertical

Source and maintenance

Vendor evidenceRegistry 2.0.0

Protocol and capabilities

Server
OpenDealer MCP Server 2.3.0
MCP protocol negotiated in check
2025-11-25
Tools
26 advertised
Resources
5 advertised
Resource templates
4 advertised
Prompts
19 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "completions": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Decide the vertical from the request, or ask. Pass vertical on every call. Pass vertical when the request names one. Use the vertical facet to narrow a blended result. Skip a tool that has no data for that vertical. Cite each row on its own host. OpenDealer provides public automotive inventory search (no API key required for read tools). The same read tools can also register in the browser on https://opendealer.shop via document.modelContext when that API exists. That page surface is not this server. Tool names and origin-trial status: https://opendealer.shop/llms.txt. Cloudflare /.webmcp/bridge.js is neither surface. Preferred discovery flow: list_facets or list_research_makes/list_research_models → filter_vehicles (map shopper intent onto labeled hard filters) → get_vehicle / get_deal_score / research_model / get_similar_vehicles for depth. Market tools: get_market_overview, list_market_segments, get_market_segment, get_market_trends, get_market_velocity, compare_market, get_suggested_rates. This public connector is read-only. Do not offer to submit leads, contact dealers on the shopper’s behalf, or call write tools. CRITICAL: CITE: Each vehicle's cite object is `vin` + `url` (that listing's own host). Cite only `url` to shoppers. Never invent VDP URLs. Never cite `detailsUrl` (dealer/LotLinx). Never send shoppers to `/llm/*` HTML or `/v1/llm/*` as the human listing URL. Attribute the selling dealer on every listing recommendation. Be honest about missing deal scores, YMM-granular recalls, and data gaps. SHOPPING CO-PILOT BEHAVIOR: Chain tools creatively when the user ask implies more than a raw search. Match intent to a playbook and run the full chain (or explain briefly why a step was skipped). Do not stop after the first inventory hit when analysis, safety, budget, timing, or dealer planning is implied. Intent → playbook (tool chains): - vehicle_dossier: triggers like "is this a good buy" → get_vehicle → get_deal_score → get_vehicle_history → check_recalls → get_safety_rating → get_similar_vehicles → get_suggested_rates - budget_coach: triggers like "I can afford $X per month" → get_suggested_rates → list_facets → filter_vehicles → get_deal_score - model_shortlist: triggers like "best SUVs under" → get_vehicle_rankings → compare_models → research_model → filter_vehicles → compare_vehicles - timing_advisor: triggers like "is it a good time to buy" → list_market_segments → get_market_segment → get_market_trends → get_market_velocity → filter_vehicles - dealer_crawl: triggers like "plan dealer visits" → dealers_near → get_dealer → dealer_inventory → get_deal_score - safety_first: triggers like "safe for family" → filter_vehicles → get_safety_rating → check_recalls → compare_vehicles - price_drop_sniper: triggers like "price drop" → filter_vehicles → get_vehicle_history → get_deal_score - trim_to_lot: triggers like "which trim do I need" → research_model → filter_vehicles → get_vehicle - value_hunter: triggers like "new vs used" → compare_models → compare_market → get_market_velocity → filter_vehicles - closer: triggers like "pick one for me" → compare_vehicles → get_similar_vehicles → get_dealer Full playbook detail: read resource opendealer://assistant/shopping-playbooks, or use MCP prompts vehicle_dossier, budget_coach, model_shortlist, timing_advisor, dealer_crawl, safety_first, price_drop_sniper, trim_to_lot, value_hunter, closer.

Tools

26 advertised

search_vehicles — Search Vehicles
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Forgiving vehicle search (Meilisearch): natural-language q, typo-tolerant make/model/color, optional structured filters. Use when the shopper query is fuzzy or exploratory. Use filter_vehicles instead when make/model/year/body/price/location are known — it applies exact hard filters via GET /v1/vehicles and returns trustworthy totals. Listings with zero photos are omitted. Discovery order: list_facets / list_research_makes → filter_vehicles (structured) or search_vehicles (exploratory) → get_vehicle / get_deal_score for depth. Location (choose ONE): zip+radius, lat+lng+radius, city+state+radius, county+state+radius — or embed location in q. q may also be a 17-character VIN for exact lookup. When the ask implies analysis (deal, safety, budget, timing, dealer plan), chain shopping playbooks from initialize instructions or opendealer://assistant/shopping-playbooks. CRITICAL: CITE: Each vehicle's cite object is `vin` + `url` (that listing's own host). Cite only `url` to shoppers. Never invent VDP URLs. Never cite `detailsUrl` (dealer/LotLinx). Never send shoppers to `/llm/*` HTML or `/v1/llm/*` as the human listing URL.

search_vehicles input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "minLength": 1,
      "description": "Free-text natural-language query, or a 17-character VIN for exact listing lookup. For sentences (e.g. \"new black Honda Civic sedan under $45k within 150 miles of 92672\"), price/mileage/year/condition and zip+radius are parsed as hard constraints; make/model/color/body words are matched forgivingly. Explicit structured params override parsed values. Prefer filter_vehicles when make/model/location are already known."
    },
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude coordinate"
    },
    "lng": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude coordinate"
    },
    "zip": {
      "type": "string",
      "pattern": "^[0-9]{5}$",
      "description": "5-digit US ZIP code (e.g., 92688)"
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "description": "City name"
    },
    "make": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle make (e.g., Honda, Toyota, Tesla)"
    },
    "mode": {
      "enum": [
        "keyword",
        "hybrid"
      ],
      "type": "string",
      "description": "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."
    },
    "near": {
      "type": "string",
      "minLength": 1,
      "description": "Location string (ZIP or city, state). Same as GET /v1/vehicles/search near."
    },
    "page": {
      "type": "integer",
      "default": 1,
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "Page number (1-based). Same as GET /v1/vehicles/search page."
    },
    "trim": {
      "type": "string",
      "minLength": 1,
      "description": "Trim level (e.g., EX, Limited, Performance)"
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1900,
      "description": "Alias for vehicleModelDate. Same as GET /v1/vehicles/search year."
    },
    "class": {
      "enum": [
        "side-by-side",
        "atv",
        "snowmobile"
      ],
      "type": "string",
      "description": "Off-road class. Legal when vertical=offroad. side-by-side, atv, or snowmobile."
    },
    "color": {
      "type": "string",
      "minLength": 1,
      "description": "Exterior color (e.g., black, white). Resolved to color families, so \"black\" matches \"Crystal Black Pearl\". Same as GET /v1/vehicles color."
    },
    "drive": {
      "enum": [
        "2wd",
        "4wd",
        "awd"
      ],
      "type": "string",
      "description": "Drive: 2wd, 4wd, or awd. Legal when vertical=offroad. Same as GET /v2/listings/search drive."
    },
    "limit": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of results to return (1-100, default: 25)"
    },
    "model": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle model (e.g., Civic, Camry, Model 3). Broad terms match all variants (Civic -> Civic Sedan/Si/Hatchback) unless narrowed by trim."
    },
    "seats": {
      "type": "integer",
      "maximum": 12,
      "minimum": 1,
      "description": "Seating capacity. Legal when vertical=offroad. Same as GET /v2/listings/search seats."
    },
    "state": {
      "description": "2-letter US state code (e.g., CA, TX)"
    },
    "county": {
      "type": "string",
      "minLength": 1,
      "description": "County name"
    },
    "radius": {
      "type": "integer",
      "maximum": 250,
      "minimum": 1,
      "description": "Search radius in miles (1-250). Omit to use the platform default of 150 miles, the same as the shop and the Runtime API."
    },
    "sortBy": {
      "enum": [
        "price",
        "vehiclemodeldate",
        "distance",
        "updatedat",
        "mileage",
        "daysonlot",
        "pricechange"
      ],
      "type": "string",
      "description": "Sort field. Same as GET /v1/vehicles/search sortBy: price, vehiclemodeldate, distance, updatedat, mileage, daysonlot, pricechange."
    },
    "subtype": {
      "enum": [
        "sport",
        "utility",
        "youth"
      ],
      "type": "string",
      "description": "Off-road sub-type: sport, utility, or youth. Legal when vertical=offroad. Same as GET /v2/listings/search subtype."
    },
    "yearMax": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Maximum model year. Same as GET /v1/vehicles yearMax."
    },
    "yearMin": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Minimum model year. Same as GET /v1/vehicles yearMin."
    },
    "bodyType": {
      "enum": [
        "sedan",
        "suv",
        "truck",
        "coupe",
        "van",
        "wagon",
        "convertible",
        "hatchback"
      ],
      "type": "string",
      "description": "Vehicle body style. Same as GET /v1/vehicles bodyType."
    },
    "dealerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "Filter to a single dealer UUID. Same as GET /v1/vehicles/search dealerId."
    },
    "fuelType": {
      "enum": [
        "gasoline",
        "diesel",
        "electric",
        "hybrid",
        "plug-in-hybrid"
      ],
      "type": "string",
      "description": "Fuel type. Same as GET /v1/vehicles fuelType."
    },
    "priceMax": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Maximum price in USD. Same as GET /v1/vehicles priceMax."
    },
    "priceMin": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Minimum price in USD. Same as GET /v1/vehicles priceMin."
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "certified": {
      "type": "boolean",
      "description": "Certified pre-owned only. Same as GET /v1/vehicles certified."
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v1/vehicles condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    },
    "hasImages": {
      "type": "boolean",
      "description": "Listings with zero photos are omitted. Same as GET /v1/vehicles/search hasImages=true."
    },
    "sortOrder": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string",
      "description": "Sort direction. Same as GET /v1/vehicles sortOrder."
    },
    "drivetrain": {
      "enum": [
        "fwd",
        "rwd",
        "awd",
        "4wd"
      ],
      "type": "string",
      "description": "Drivetrain configuration. Same as GET /v1/vehicles drivetrain."
    },
    "mileageMax": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Maximum mileage. Same as GET /v1/vehicles mileageMax."
    },
    "transmission": {
      "enum": [
        "automatic",
        "manual",
        "cvt"
      ],
      "type": "string",
      "description": "Transmission type. Same as GET /v1/vehicles transmission."
    },
    "semanticRatio": {
      "type": "number",
      "maximum": 1,
      "minimum": 0,
      "description": "Semantic blend weight 0..1 when mode=hybrid (default 0.5). Higher = more conceptual matching."
    },
    "priceChangeMax": {
      "type": "number",
      "description": "Maximum indexed priceChange (USD delta vs first recorded ask; use -1 to exclude unchanged listings)"
    },
    "priceChangeMin": {
      "type": "number",
      "description": "Minimum indexed priceChange (USD delta vs first recorded ask; negative means a drop)"
    },
    "displacementMax": {
      "type": "number",
      "minimum": 0,
      "description": "Maximum engine displacement in cc. Legal when vertical=offroad. Same as GET /v2/listings/search displacementMax."
    },
    "displacementMin": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum engine displacement in cc. Legal when vertical=offroad. Same as GET /v2/listings/search displacementMin."
    },
    "inventoryStatus": {
      "enum": [
        "on_lot",
        "in_transit",
        "sold",
        "reserved",
        "all"
      ],
      "type": "string",
      "description": "Inventory disposition filter. Same as GET /v1/vehicles/search inventoryStatus."
    },
    "vehicleModelDate": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1900,
      "description": "Exact model year. Same as GET /v1/vehicles/search vehicleModelDate."
    }
  },
  "additionalProperties": false
}
search_vehicles output schema
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "vehicle_collection",
        "VehicleCollection"
      ],
      "type": "string"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "description": "Listings in this result. Cite each item `url`, never `detailsUrl`."
    },
    "total": {
      "type": "number"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "vehicles": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "provenance": {
      "type": "object",
      "required": [
        "asOf",
        "source"
      ],
      "properties": {
        "asOf": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "totalResults": {
      "type": "number"
    }
  },
  "additionalProperties": true
}
search_vehicles annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
filter_vehicles — Filter Vehicles (Structured)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Preferred structured inventory lookup when make/model/year/color/location are known. Exact hard filters only via GET /v1/vehicles (same Meilisearch collection as search_vehicles). Totals match the filters you pass. Listings with zero photos are omitted. fuelType is the canonical label. transmission and drivetrain match every indexed raw string in that bucket (automatic includes "8-Speed Automatic"). A 503 powertrain_filter_unavailable means that facet list could not be read, not that zero cars match. Resolve make/model with list_research_makes / list_research_models first. Map shopper prose onto labeled keys; use search_vehicles only for fuzzy NL or VIN-in-q lookup. 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: CITE: Each vehicle's cite object is `vin` + `url` (that listing's own host). Cite only `url` to shoppers. Never invent VDP URLs. Never cite `detailsUrl` (dealer/LotLinx). Never send shoppers to `/llm/*` HTML or `/v1/llm/*` as the human listing URL.

filter_vehicles input schema
{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude coordinate"
    },
    "lng": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude coordinate"
    },
    "zip": {
      "type": "string",
      "pattern": "^[0-9]{5}$",
      "description": "5-digit US ZIP code (e.g., 92688)"
    },
    "city": {
      "type": "string",
      "minLength": 1
    },
    "make": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle make (resolve via list_research_makes if unsure)"
    },
    "near": {
      "type": "string",
      "minLength": 1,
      "description": "Location string (ZIP or city, state). Same as GET /v1/vehicles near."
    },
    "page": {
      "type": "integer",
      "default": 1,
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "Page number (1-based). Same as GET /v1/vehicles page."
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1900,
      "description": "Alias for vehicleModelDate. Same as GET /v1/vehicles year."
    },
    "class": {
      "enum": [
        "side-by-side",
        "atv",
        "snowmobile"
      ],
      "type": "string",
      "description": "Off-road class. Legal when vertical=offroad. side-by-side, atv, or snowmobile."
    },
    "color": {
      "type": "string",
      "minLength": 1,
      "description": "Exterior color family. Same as GET /v1/vehicles color."
    },
    "drive": {
      "enum": [
        "2wd",
        "4wd",
        "awd"
      ],
      "type": "string",
      "description": "Drive: 2wd, 4wd, or awd. Legal when vertical=offroad. Same as GET /v2/listings drive."
    },
    "limit": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of results to return (1-100, default: 25)"
    },
    "model": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle model (resolve via list_research_models if unsure)"
    },
    "seats": {
      "type": "integer",
      "maximum": 12,
      "minimum": 1,
      "description": "Seating capacity. Legal when vertical=offroad. Same as GET /v2/listings seats."
    },
    "state": {
      "description": "2-letter US state code (e.g., CA, TX)"
    },
    "county": {
      "type": "string",
      "minLength": 1,
      "description": "County name"
    },
    "fields": {
      "type": "string",
      "description": "Sparse field selection (comma-separated). Same as GET /v1/vehicles fields."
    },
    "radius": {
      "type": "integer",
      "maximum": 250,
      "minimum": 1,
      "description": "Search radius in miles (1-250). Omit to use the platform default of 150 miles, the same as the shop and the Runtime API."
    },
    "sortBy": {
      "enum": [
        "price",
        "vehiclemodeldate",
        "distance",
        "updatedat",
        "mileage",
        "daysonlot",
        "make",
        "model",
        "pricechange"
      ],
      "type": "string",
      "description": "Sort field. Same as GET /v1/vehicles sortBy: price, vehiclemodeldate, distance, updatedat, mileage, daysonlot, make, model, pricechange."
    },
    "subtype": {
      "enum": [
        "sport",
        "utility",
        "youth"
      ],
      "type": "string",
      "description": "Off-road sub-type: sport, utility, or youth. Legal when vertical=offroad. Same as GET /v2/listings subtype."
    },
    "yearMax": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Maximum model year. Same as GET /v1/vehicles yearMax."
    },
    "yearMin": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Minimum model year. Same as GET /v1/vehicles yearMin."
    },
    "bodyType": {
      "enum": [
        "sedan",
        "suv",
        "truck",
        "coupe",
        "van",
        "wagon",
        "convertible",
        "hatchback"
      ],
      "type": "string",
      "description": "Vehicle body style. Same as GET /v1/vehicles bodyType."
    },
    "dealerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "Filter to a single dealer UUID. Same as GET /v1/vehicles dealerId."
    },
    "fuelType": {
      "enum": [
        "gasoline",
        "diesel",
        "electric",
        "hybrid",
        "plug-in-hybrid"
      ],
      "type": "string",
      "description": "Fuel type. Same as GET /v1/vehicles fuelType."
    },
    "priceMax": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Maximum price in USD. Same as GET /v1/vehicles priceMax."
    },
    "priceMin": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Minimum price in USD. Same as GET /v1/vehicles priceMin."
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "certified": {
      "type": "boolean",
      "description": "Certified pre-owned only. Same as GET /v1/vehicles certified."
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v1/vehicles condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    },
    "hasImages": {
      "type": "boolean",
      "description": "Listings with zero photos are omitted. Same as GET /v1/vehicles hasImages=true."
    },
    "sortOrder": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string",
      "description": "Sort direction. Same as GET /v1/vehicles sortOrder."
    },
    "dealerSlug": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Filter to a dealer slug. Same as GET /v1/vehicles dealerSlug."
    },
    "drivetrain": {
      "enum": [
        "fwd",
        "rwd",
        "awd",
        "4wd"
      ],
      "type": "string",
      "description": "Drivetrain configuration. Same as GET /v1/vehicles drivetrain."
    },
    "identifier": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "VIN, 12-character HIN, or internal id. Looks the unit up across the verticals this request searches, without a dealer. Same as GET /v2/listings identifier."
    },
    "mileageMax": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Maximum mileage. Same as GET /v1/vehicles mileageMax."
    },
    "transmission": {
      "enum": [
        "automatic",
        "manual",
        "cvt"
      ],
      "type": "string",
      "description": "Transmission type. Same as GET /v1/vehicles transmission."
    },
    "priceChangeMax": {
      "type": "number",
      "description": "Maximum indexed priceChange (USD delta vs first recorded ask; use -1 to exclude unchanged listings)"
    },
    "priceChangeMin": {
      "type": "number",
      "description": "Minimum indexed priceChange (USD delta vs first recorded ask; negative means a drop)"
    },
    "strictLocation": {
      "type": "boolean",
      "description": "When true, a bare near city that matches several states or none returns an empty collection (same as GET /v1/llm/filter). ZIP and city+state are unchanged. Omit to keep the highest-population city pick. Same as GET /v1/vehicles strictLocation."
    },
    "displacementMax": {
      "type": "number",
      "minimum": 0,
      "description": "Maximum engine displacement in cc. Legal when vertical=offroad. Same as GET /v2/listings displacementMax."
    },
    "displacementMin": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum engine displacement in cc. Legal when vertical=offroad. Same as GET /v2/listings displacementMin."
    },
    "vehicleModelDate": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1900,
      "description": "Exact model year. Same as GET /v1/vehicles vehicleModelDate."
    }
  },
  "additionalProperties": false
}
filter_vehicles output schema
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "vehicle_collection",
        "VehicleCollection"
      ],
      "type": "string"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "description": "Listings in this result. Cite each item `url`, never `detailsUrl`."
    },
    "total": {
      "type": "number"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "vehicles": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "provenance": {
      "type": "object",
      "required": [
        "asOf",
        "source"
      ],
      "properties": {
        "asOf": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "totalResults": {
      "type": "number"
    }
  },
  "additionalProperties": true
}
filter_vehicles annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_facets — List Inventory Facets
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Discover canonical filter tokens and counts from the live search index (same values GET /v1/vehicles accepts: make, bodyType e.g. suv, fuelType e.g. gasoline, transmission e.g. automatic, drivetrain e.g. awd, plus price/year ranges). Counts match filter_vehicles totals for each token under the same make, condition, and location. Call this before filter_vehicles when you need valid dimension values. Optional make, condition, certified, near, and radius scope the facet counts.

list_facets input schema
{
  "type": "object",
  "properties": {
    "make": {
      "type": "string",
      "minLength": 1
    },
    "near": {
      "type": "string",
      "minLength": 1,
      "description": "Location string (ZIP or city, state). Same as GET /v1/vehicles/facets near."
    },
    "class": {
      "type": "string",
      "minLength": 1,
      "description": "Off-road class slug: side-by-side, atv, or snowmobile. Legal when vertical=offroad. Same as GET /v2/listings/facets class."
    },
    "radius": {
      "type": "integer",
      "maximum": 250,
      "minimum": 1,
      "description": "Search radius in miles (1-250). Omit to use the platform default of 150 miles, the same as the shop and the Runtime API."
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "certified": {
      "type": "boolean"
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v1/vehicles condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    },
    "dealerSlug": {
      "type": "string",
      "minLength": 1,
      "description": "Scope off-road facets to one dealer slug. Same as GET /v2/listings/facets dealerSlug."
    }
  },
  "additionalProperties": false
}
list_facets output schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": true
}
list_facets annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_research_makes — List Research Makes
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

list_research_makes input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "minLength": 1,
      "description": "Optional substring filter on make name/slug"
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
list_research_makes output schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": true
}
list_research_makes annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_research_models — List Research Models
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

list_research_models input schema
{
  "type": "object",
  "required": [
    "make"
  ],
  "properties": {
    "make": {
      "type": "string",
      "minLength": 1,
      "description": "Make name or slug (e.g. honda)"
    }
  },
  "additionalProperties": false
}
list_research_models output schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": true
}
list_research_models annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_vehicle — Get Vehicle Details
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Get complete details for a specific vehicle by listingId or VIN. When a VIN is listed at multiple dealer rooftops, a VIN-only lookup returns an envelope of every listing (type vehicle_listings) with no single-store price, seller, or url. Pass listingId to fetch one store. 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: CITE: Each vehicle's cite object is `vin` + `url` (that listing's own host). Cite only `url` to shoppers. Never invent VDP URLs. Never cite `detailsUrl` (dealer/LotLinx). Never send shoppers to `/llm/*` HTML or `/v1/llm/*` as the human listing URL.

get_vehicle input schema
{
  "type": "object",
  "properties": {
    "vin": {
      "description": "17-character Vehicle Identification Number"
    },
    "view": {
      "enum": [
        "minimal",
        "standard"
      ],
      "type": "string",
      "default": "standard",
      "description": "Response format: standard (full details) or minimal (compact)"
    },
    "dealerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "Scope lookup to a specific dealer when the VIN exists at multiple rooftops. Same as GET /v1/vehicles/:vin dealerId."
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "listingId": {
      "type": "string",
      "maxLength": 300,
      "minLength": 19,
      "description": "Canonical listing id (`dealerId-or-slug:VIN`). Preferred when the VIN is listed at multiple dealers."
    },
    "dealerSlug": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Scope lookup by dealer slug. Same as GET /v1/vehicles/:vin dealerSlug."
    },
    "includeSold": {
      "type": "boolean",
      "description": "When true, return sold tombstone if no live listing. Same as GET /v1/vehicles/:vin includeSold."
    }
  },
  "additionalProperties": false
}
get_vehicle output schema
{
  "type": "object",
  "required": [
    "price",
    "mileage",
    "condition",
    "feedReceivedAt",
    "lastSeenAt"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
    },
    "vin": {
      "type": "string",
      "description": "17-character VIN."
    },
    "price": {
      "type": "object",
      "required": [
        "amount",
        "currency"
      ],
      "properties": {
        "amount": {
          "type": [
            "number",
            "null"
          ]
        },
        "currency": {
          "type": "string",
          "const": "USD"
        }
      },
      "additionalProperties": false
    },
    "mileage": {
      "type": "object",
      "required": [
        "value",
        "unit",
        "status"
      ],
      "properties": {
        "unit": {
          "type": "string",
          "const": "mi"
        },
        "value": {
          "type": [
            "number",
            "null"
          ]
        },
        "status": {
          "enum": [
            "reported",
            "unknown"
          ],
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string"
    },
    "listingId": {
      "type": [
        "string",
        "null"
      ],
      "description": "Canonical rooftop listing id (`dealerId:VIN`)."
    },
    "detailsUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
    },
    "lastSeenAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "feedReceivedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "priceChangedAt": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "additionalProperties": true
}
get_vehicle annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
check_recalls — Check Recalls
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Open safety recalls for a listing. Pass vertical when the request names one. Cars use NHTSA (year, make, and model; a campaign may not apply to every VIN). Off-road uses CPSC. Call this with the off-road listing id; the tool reads GET /v2/listings/{listingId}/recalls and does not use the cars-only /v1 path for that id. Every response names the source and states one outcome in words: "confirmed for this VIN", "possible for this year, make, and model", "no matching published recall", or "coverage unavailable". An empty list is not "no recalls." Say the outcome. Do not invent a recall or a VIN range. Required step in vehicle_dossier and safety_first playbooks.

check_recalls input schema
{
  "type": "object",
  "properties": {
    "vin": {
      "description": "17-character Vehicle Identification Number"
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "listingId": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1,
      "description": "Canonical listing id (`dealerId-or-slug:VIN`). Required for an off-road unit when the VIN is listed at more than one rooftop. Same path key as GET /v2/listings/{listingId}/recalls."
    }
  },
  "additionalProperties": false
}
check_recalls output schema
{
  "type": "object",
  "properties": {
    "vin": {
      "type": "string"
    },
    "count": {
      "type": "number"
    },
    "recalls": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}
check_recalls annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_dealer — Get Dealership Details
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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. A display name binds only when it matches one rooftop. Shared names (two Jay Hatfield stores, or just "Honda") return candidate slugs instead of picking one. CRITICAL: Only use URL fields from the response (website, urls.*). NEVER invent or construct URLs.

get_dealer input schema
{
  "type": "object",
  "required": [
    "dealerId"
  ],
  "properties": {
    "dealerId": {
      "type": "string",
      "minLength": 3,
      "description": "Dealer slug (e.g. \"rsm-honda\") or the full rooftop display name. Prefer the slug from dealers_near. A display name is accepted only when it matches one rooftop; shared names return candidate slugs instead of a guess."
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    }
  },
  "additionalProperties": false
}
get_dealer output schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "slug": {
      "type": [
        "string",
        "null"
      ]
    },
    "tier": {
      "type": "string"
    },
    "@type": {
      "type": "string",
      "const": "AutoDealer"
    },
    "telephone": {
      "type": "string"
    },
    "provenance": {
      "type": "object",
      "required": [
        "asOf",
        "source"
      ],
      "properties": {
        "asOf": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "websiteUrl": {
      "type": "string"
    },
    "claimEligible": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}
get_dealer annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_safety_rating — Get NHTSA Safety Rating
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_safety_rating input schema
{
  "type": "object",
  "required": [
    "year",
    "make",
    "model"
  ],
  "properties": {
    "make": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle make (e.g., \"Toyota\", \"Honda\")"
    },
    "year": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Model year (e.g., 2023)"
    },
    "model": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle model (e.g., \"RAV4\", \"Civic\")"
    }
  },
  "additionalProperties": false
}
get_safety_rating output schema
{
  "type": "object",
  "required": [
    "available",
    "safety"
  ],
  "properties": {
    "make": {
      "type": "string"
    },
    "year": {
      "type": "number"
    },
    "model": {
      "type": "string"
    },
    "safety": {
      "anyOf": [
        {
          "type": "object",
          "properties": {},
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ]
    },
    "message": {
      "type": "string"
    },
    "available": {
      "type": "boolean"
    },
    "sourceUrl": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_safety_rating annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_vehicle_history — Get Vehicle Price History
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Pass vertical when the request names one. Use the vertical facet to narrow a blended result. Skip a tool that has no data for that vertical. Get OpenDealer listing history for a VIN or listing id: 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.

get_vehicle_history input schema
{
  "type": "object",
  "properties": {
    "vin": {
      "description": "17-character Vehicle Identification Number"
    },
    "dealerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "listingId": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1,
      "description": "Canonical listing id when scoping history to one rooftop"
    },
    "dealerSlug": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    }
  },
  "additionalProperties": false
}
get_vehicle_history output schema
{
  "type": "object",
  "required": [
    "vin"
  ],
  "properties": {
    "vin": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "const": "VehicleListingHistory"
    },
    "badges": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "status": {
      "enum": [
        "active",
        "sold"
      ],
      "type": "string"
    },
    "summary": {
      "type": "object",
      "properties": {},
      "additionalProperties": true
    },
    "priceHistory": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}
get_vehicle_history annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
dealers_near — Find Nearby Dealers
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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 • Slug (the public handle for get_dealer and dealer_inventory; the public list does not include internal dealer UUIDs) • Distance from search location • Current inventory count • Business hours (when available) Response `total` is the full match count for the query (ignores `limit`/`offset`), same population as get_market_overview inventory.activeDealers when unfiltered.

dealers_near input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 200,
      "minLength": 2,
      "description": "Whole-token filter on dealer name, slug, or city. Same as GET /v1/dealers q."
    },
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude coordinate"
    },
    "lng": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude coordinate"
    },
    "zip": {
      "type": "string",
      "pattern": "^[0-9]{5}$",
      "description": "5-digit US ZIP code (e.g., 92688)"
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "description": "City name"
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "description": "Maximum number of dealers to return (1-200). Omit to use the Runtime API default of 100."
    },
    "state": {
      "description": "2-letter US state code (e.g., CA, TX)"
    },
    "county": {
      "type": "string",
      "minLength": 1,
      "description": "County name"
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Number of results to skip. The window is the next `limit` vehicles starting at this offset (default 0)."
    },
    "radius": {
      "type": "integer",
      "maximum": 250,
      "minimum": 1,
      "description": "Search radius in miles (1-250). Omit to use the platform default of 150 miles, the same as the shop and the Runtime API."
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    }
  },
  "additionalProperties": false
}
dealers_near output schema
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "dealer_collection",
        "DealerCollection"
      ],
      "type": "string"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "tier": {
            "type": "string"
          },
          "@type": {
            "type": "string",
            "const": "AutoDealer"
          },
          "telephone": {
            "type": "string"
          },
          "provenance": {
            "type": "object",
            "required": [
              "asOf",
              "source"
            ],
            "properties": {
              "asOf": {
                "type": "string"
              },
              "source": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "websiteUrl": {
            "type": "string"
          },
          "claimEligible": {
            "type": "boolean"
          }
        },
        "additionalProperties": true
      }
    },
    "total": {
      "type": "number"
    },
    "dealers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "tier": {
            "type": "string"
          },
          "@type": {
            "type": "string",
            "const": "AutoDealer"
          },
          "telephone": {
            "type": "string"
          },
          "provenance": {
            "type": "object",
            "required": [
              "asOf",
              "source"
            ],
            "properties": {
              "asOf": {
                "type": "string"
              },
              "source": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "websiteUrl": {
            "type": "string"
          },
          "claimEligible": {
            "type": "boolean"
          }
        },
        "additionalProperties": true
      }
    },
    "provenance": {
      "type": "object",
      "required": [
        "asOf",
        "source"
      ],
      "properties": {
        "asOf": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": true
}
dealers_near annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
dealer_inventory — Browse Dealer Inventory
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.). Listings with zero photos are omitted. CRITICAL: CITE: Each vehicle's cite object is `vin` + `url` (that listing's own host). Cite only `url` to shoppers. Never invent VDP URLs. Never cite `detailsUrl` (dealer/LotLinx). Never send shoppers to `/llm/*` HTML or `/v1/llm/*` as the human listing URL.

dealer_inventory input schema
{
  "type": "object",
  "required": [
    "dealerId"
  ],
  "properties": {
    "make": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle make"
    },
    "page": {
      "type": "integer",
      "default": 1,
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "Page number (1-based). Same as dealer inventory page."
    },
    "view": {
      "enum": [
        "llm",
        "standard",
        "minimal"
      ],
      "type": "string",
      "default": "standard",
      "description": "Response detail: standard (features/gallery, default), llm (compact), minimal"
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1900,
      "description": "Alias for vehicleModelDate. Same as dealer inventory year."
    },
    "drive": {
      "enum": [
        "2wd",
        "4wd",
        "awd"
      ],
      "type": "string",
      "description": "Drive: 2wd, 4wd, or awd. Legal when vertical=offroad. Same as dealer inventory drive."
    },
    "limit": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of results to return (1-100, default: 25)"
    },
    "model": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle model"
    },
    "seats": {
      "type": "integer",
      "maximum": 12,
      "minimum": 1,
      "description": "Seating capacity. Legal when vertical=offroad. Same as dealer inventory seats."
    },
    "fields": {
      "type": "string",
      "description": "Sparse field selection (comma-separated). Same as dealer inventory fields."
    },
    "sortBy": {
      "enum": [
        "price",
        "vehiclemodeldate",
        "distance",
        "updatedat",
        "mileage",
        "daysonlot",
        "make",
        "model",
        "pricechange"
      ],
      "type": "string",
      "description": "Sort field. Same as GET /v1/vehicles sortBy: price, vehiclemodeldate, distance, updatedat, mileage, daysonlot, make, model, pricechange."
    },
    "subtype": {
      "enum": [
        "sport",
        "utility",
        "youth"
      ],
      "type": "string",
      "description": "Off-road sub-type: sport, utility, or youth. Legal when vertical=offroad. Same as dealer inventory subtype."
    },
    "yearMax": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Maximum model year. Same as GET /v1/vehicles yearMax."
    },
    "yearMin": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Minimum model year. Same as GET /v1/vehicles yearMin."
    },
    "bodyType": {
      "enum": [
        "sedan",
        "suv",
        "truck",
        "coupe",
        "van",
        "wagon",
        "convertible",
        "hatchback"
      ],
      "type": "string",
      "description": "Vehicle body style. Same as GET /v1/vehicles bodyType."
    },
    "dealerId": {
      "type": "string",
      "minLength": 3,
      "description": "Dealer identifier (UUID or slug like \"rsm-honda\")"
    },
    "fuelType": {
      "enum": [
        "gasoline",
        "diesel",
        "electric",
        "hybrid",
        "plug-in-hybrid"
      ],
      "type": "string",
      "description": "Fuel type. Same as GET /v1/vehicles fuelType."
    },
    "priceMax": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Maximum price in USD. Same as GET /v1/vehicles priceMax."
    },
    "priceMin": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Minimum price in USD. Same as GET /v1/vehicles priceMin."
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "certified": {
      "type": "boolean",
      "description": "Certified pre-owned only. Same as GET /v1/vehicles certified."
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v1/vehicles condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    },
    "sortOrder": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string",
      "description": "Sort direction. Same as GET /v1/vehicles sortOrder."
    },
    "drivetrain": {
      "enum": [
        "fwd",
        "rwd",
        "awd",
        "4wd"
      ],
      "type": "string",
      "description": "Drivetrain configuration. Same as GET /v1/vehicles drivetrain."
    },
    "mileageMax": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Maximum mileage. Same as GET /v1/vehicles mileageMax."
    },
    "transmission": {
      "enum": [
        "automatic",
        "manual",
        "cvt"
      ],
      "type": "string",
      "description": "Transmission type. Same as GET /v1/vehicles transmission."
    },
    "displacementMax": {
      "type": "number",
      "minimum": 0,
      "description": "Maximum engine displacement in cc. Legal when vertical=offroad. Same as dealer inventory displacementMax."
    },
    "displacementMin": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum engine displacement in cc. Legal when vertical=offroad. Same as dealer inventory displacementMin."
    },
    "vehicleModelDate": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1900,
      "description": "Exact model year. Same as dealer inventory vehicleModelDate."
    }
  },
  "additionalProperties": false
}
dealer_inventory output schema
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "vehicle_collection",
        "VehicleCollection"
      ],
      "type": "string"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "description": "Listings in this result. Cite each item `url`, never `detailsUrl`."
    },
    "total": {
      "type": "number"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "vehicles": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "provenance": {
      "type": "object",
      "required": [
        "asOf",
        "source"
      ],
      "properties": {
        "asOf": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "totalResults": {
      "type": "number"
    }
  },
  "additionalProperties": true
}
dealer_inventory annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_vehicles — Compare Vehicles
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Compare 2-5 vehicles side by side. Returns a structured comparison including specs, price context, and per-vehicle cite fields (vin + shop url). CRITICAL: CITE: Each vehicle's cite object is `vin` + `url` (that listing's own host). Cite only `url` to shoppers. Never invent VDP URLs. Never cite `detailsUrl` (dealer/LotLinx). Never send shoppers to `/llm/*` HTML or `/v1/llm/*` as the human listing URL.

compare_vehicles input schema
{
  "type": "object",
  "properties": {
    "vins": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300,
        "minLength": 1,
        "description": "17-character VIN or listingId (`dealerUuid:VIN` or `dealer-slug:VIN`)"
      },
      "maxItems": 5,
      "description": "VINs and/or listingIds to compare (2-5 vehicles total with listingIds)"
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "listingIds": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300,
        "minLength": 1,
        "description": "17-character VIN or listingId (`dealerUuid:VIN` or `dealer-slug:VIN`)"
      },
      "maxItems": 5,
      "description": "Optional listingIds; may be combined with vins (2-5 vehicles total)"
    }
  },
  "additionalProperties": false
}
compare_vehicles output schema
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "vehicle_comparison",
        "vehicle_listings"
      ],
      "type": "string"
    },
    "summary": {
      "type": "object",
      "properties": {},
      "additionalProperties": true
    },
    "vehicles": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "mileage",
          "condition",
          "feedReceivedAt",
          "lastSeenAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "Canonical opendealer.shop VDP. Cite this URL only. Never cite detailsUrl."
          },
          "vin": {
            "type": "string",
            "description": "17-character VIN."
          },
          "price": {
            "type": "object",
            "required": [
              "amount",
              "currency"
            ],
            "properties": {
              "amount": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "currency": {
                "type": "string",
                "const": "USD"
              }
            },
            "additionalProperties": false
          },
          "mileage": {
            "type": "object",
            "required": [
              "value",
              "unit",
              "status"
            ],
            "properties": {
              "unit": {
                "type": "string",
                "const": "mi"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "reported",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "condition": {
            "enum": [
              "new",
              "used",
              "cpo"
            ],
            "type": "string"
          },
          "listingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Canonical rooftop listing id (`dealerId:VIN`)."
          },
          "detailsUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dealer or LotLinx vehicle page. NOT the cite URL. Cite `url` only."
          },
          "lastSeenAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "feedReceivedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "priceChangedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "comparisonMatrix": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "array",
        "items": {}
      }
    }
  },
  "additionalProperties": true
}
compare_vehicles annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_deal_score — Get Deal Score
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Pass vertical when the request names one. Use the vertical facet to narrow a blended result. Skip a tool that has no data for that vertical. 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.

get_deal_score input schema
{
  "type": "object",
  "properties": {
    "vin": {
      "description": "17-character Vehicle Identification Number"
    },
    "dealerId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "Score this dealer when the VIN is listed at more than one rooftop. Same as GET /v1/vehicles/:vin/insights dealerId."
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "listingId": {
      "type": "string",
      "maxLength": 300,
      "minLength": 19,
      "description": "Canonical listing id (`dealerId-or-slug:VIN`). Scores that rooftop when the VIN is listed at more than one store."
    },
    "dealerSlug": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Score this rooftop slug when the VIN is listed at more than one store. Same as insights dealerSlug."
    }
  },
  "additionalProperties": false
}
get_deal_score output schema
{
  "type": "object",
  "properties": {
    "vin": {
      "type": "string"
    },
    "dealScore": {
      "type": "object",
      "properties": {},
      "additionalProperties": true
    },
    "priceHistory": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}
get_deal_score annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_market_overview — Get Market Overview
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Pass vertical when the request names one. Use the vertical facet to narrow a blended result. Skip a tool that has no data for that vertical. Get high-level market statistics for one vertical. Off-road segments are that vertical's classes. Returns aggregated market data including: • inventory.totalVehicles — searchable listings on the live index (priced, not sold) • inventory.activeDealers — active dealers with at least one priced vehicle (internet price or MSRP greater than 0). Same population as dealers_near and Shop, not every status=active account • marketData — YMM cohort snapshot medians and sample sizes • Top makes by segment volume (canonical make labels) • New vs Used vs CPO breakdown

get_market_overview input schema
{
  "type": "object",
  "properties": {
    "make": {
      "type": "string",
      "minLength": 1,
      "description": "Filter by vehicle make"
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v2/market/* condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    }
  },
  "additionalProperties": false
}
get_market_overview output schema
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "const": "MarketOverview"
    },
    "provenance": {
      "type": "object",
      "required": [
        "asOf",
        "source"
      ],
      "properties": {
        "asOf": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": true
}
get_market_overview annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_market_segment — Get Market Segment Data
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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

get_market_segment input schema
{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Model year"
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "certified": {
      "type": "boolean",
      "description": "Filter for certified vehicles"
    },
    "cohortKey": {
      "type": "string",
      "minLength": 1,
      "description": "Cohort key (ymm:… or ymmt:…) from list_market_segments"
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v2/market/* condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    }
  },
  "additionalProperties": false
}
get_market_segment output schema
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "const": "MarketSegment"
    },
    "cohortKey": {
      "type": "string"
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string"
    },
    "modelcode": {
      "type": [
        "string",
        "null"
      ]
    },
    "provenance": {
      "type": "object",
      "required": [
        "asOf",
        "source"
      ],
      "properties": {
        "asOf": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "cohortGrain": {
      "anyOf": [
        {
          "enum": [
            "ymm",
            "ymmt"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "additionalProperties": true
}
get_market_segment annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_market_segments — List Market Segments
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Browse market segments with pricing statistics (cohortKey, median price, sample size). Use cohortKey with get_market_segment / get_market_trends.

list_market_segments input schema
{
  "type": "object",
  "properties": {
    "make": {
      "type": "string",
      "minLength": 1
    },
    "page": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1
    },
    "year": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Filter by year. Same as GET /v1/market/segments year."
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1
    },
    "model": {
      "type": "string",
      "minLength": 1,
      "description": "Filter by model. Same as GET /v1/market/segments model."
    },
    "yearMax": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Maximum year. Same as GET /v1/market/segments yearMax."
    },
    "yearMin": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Minimum year. Same as GET /v1/market/segments yearMin."
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "certified": {
      "type": "boolean",
      "description": "Filter by certified status. Same as GET /v1/market/segments certified."
    },
    "cohortKey": {
      "type": "string",
      "minLength": 1
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v2/market/* condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    },
    "minSampleSize": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
list_market_segments output schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": true
}
list_market_segments annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_market_trends — Get Market Price Trends
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Price trends over time for a market segment (cohortKey). Returns timeline of median/avg prices and days-on-lot.

get_market_trends input schema
{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "default": 30,
      "maximum": 90,
      "minimum": 7
    },
    "year": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "certified": {
      "type": "boolean"
    },
    "cohortKey": {
      "type": "string",
      "minLength": 1,
      "description": "Cohort key (ymm:… or ymmt:…)"
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v2/market/* condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    },
    "cohortGrain": {
      "enum": [
        "ymm",
        "ymmt"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_market_trends output schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": true
}
get_market_trends annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_market_velocity — Get Market Velocity
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

How quickly vehicles sell by segment (fastest/slowest days on lot). Optional make/type filters.

get_market_velocity input schema
{
  "type": "object",
  "properties": {
    "make": {
      "type": "string",
      "minLength": 1
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v2/market/* condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    }
  },
  "additionalProperties": false
}
get_market_velocity output schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": true
}
get_market_velocity annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_market — Compare Market Segments
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Compare pricing across market segments. Provide cohortKeys or make (optionally with model).

compare_market input schema
{
  "type": "object",
  "properties": {
    "make": {
      "type": "string",
      "minLength": 1
    },
    "year": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990
    },
    "model": {
      "type": "string",
      "minLength": 1
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    },
    "condition": {
      "enum": [
        "new",
        "used",
        "cpo"
      ],
      "type": "string",
      "description": "Listing condition. Same as GET /v2/market/* condition: new, used, or cpo. The value certified is a deprecated alias of cpo."
    },
    "cohortKeys": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "maxItems": 10,
      "minItems": 1
    }
  },
  "additionalProperties": false
}
compare_market output schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": true
}
compare_market annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_suggested_rates — Get Suggested Finance Rates
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

National average suggested auto loan APRs for cars (not a credit offer). Other verticals return "Not available for this vertical" until that vertical has a rate source. Optional filters: condition (new/used), termMonths (36–84), creditTier.

get_suggested_rates input schema
{
  "type": "object",
  "properties": {
    "condition": {
      "enum": [
        "new",
        "used"
      ],
      "type": "string"
    },
    "creditTier": {
      "enum": [
        "excellent",
        "good",
        "average",
        "fair"
      ],
      "type": "string",
      "description": "Credit tier. Same as GET /v1/finance/suggested-rates creditTier."
    },
    "termMonths": {
      "enum": [
        36,
        48,
        60,
        72,
        84
      ],
      "type": "integer",
      "description": "Loan term in months. Same as GET /v1/finance/suggested-rates termMonths."
    }
  },
  "additionalProperties": false
}
get_suggested_rates output schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": true
}
get_suggested_rates annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
research_model — Research a Vehicle Model
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

research_model input schema
{
  "type": "object",
  "required": [
    "make",
    "model"
  ],
  "properties": {
    "make": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle make slug or name (e.g., \"honda\", \"mercedes-benz\")"
    },
    "year": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Model year (defaults to the latest year with reference data)"
    },
    "model": {
      "type": "string",
      "minLength": 1,
      "description": "Vehicle model slug or name (e.g., \"civic\", \"e-class\")"
    }
  },
  "additionalProperties": false
}
research_model output schema
{
  "type": "object",
  "properties": {
    "make": {
      "type": "object",
      "properties": {},
      "additionalProperties": true
    },
    "type": {
      "type": "string",
      "const": "ResearchModel"
    },
    "year": {
      "type": "number"
    },
    "model": {
      "type": "object",
      "properties": {},
      "additionalProperties": true
    },
    "safety": {
      "anyOf": [
        {
          "type": "object",
          "properties": {},
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ]
    },
    "shopUrl": {
      "type": "string"
    },
    "attribution": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
research_model annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_models — Compare Vehicle Models
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

compare_models input schema
{
  "type": "object",
  "required": [
    "models"
  ],
  "properties": {
    "year": {
      "type": "integer",
      "maximum": 2030,
      "minimum": 1990,
      "description": "Model year (defaults to the latest year with reference data)"
    },
    "models": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 3
      },
      "maxItems": 4,
      "minItems": 2,
      "description": "Composite make-model slugs to compare (e.g., [\"honda-civic\", \"toyota-corolla\"])"
    }
  },
  "additionalProperties": false
}
compare_models output schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "ResearchComparison"
    },
    "models": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": true
      }
    },
    "shopUrl": {
      "type": "string"
    },
    "dimensions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": true
      }
    },
    "attribution": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
compare_models annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_vehicle_rankings — Get Vehicle Rankings
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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., "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.

get_vehicle_rankings input schema
{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "minLength": 1,
      "description": "Ranking category slug (e.g., \"suvs\"). Omit to list all available categories."
    }
  },
  "additionalProperties": false
}
get_vehicle_rankings output schema
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "ResearchRankingCategoryCollection",
        "ResearchRanking"
      ],
      "type": "string"
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": true
      }
    },
    "shopUrl": {
      "type": "string"
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": true
      }
    },
    "attribution": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
get_vehicle_rankings annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_similar_vehicles — Get Similar Vehicles
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Find similar on-lot vehicles for a VIN ("you may also like"). Same make/model keyword comps as the shop VDP rail (not semantic embeddings). CRITICAL: CITE: Each vehicle's cite object is `vin` + `url` (that listing's own host). Cite only `url` to shoppers. Never invent VDP URLs. Never cite `detailsUrl` (dealer/LotLinx). Never send shoppers to `/llm/*` HTML or `/v1/llm/*` as the human listing URL.

get_similar_vehicles input schema
{
  "type": "object",
  "required": [
    "vin"
  ],
  "properties": {
    "vin": {
      "description": "17-character Vehicle Identification Number"
    },
    "limit": {
      "type": "integer",
      "default": 6,
      "maximum": 24,
      "minimum": 1
    },
    "vertical": {
      "type": "string",
      "minLength": 1,
      "description": "Shopper vertical. Omit for every public vertical (cars today). Live verticals come from list_verticals."
    }
  },
  "additionalProperties": false
}
get_similar_vehicles output schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": true
}
get_similar_vehicles annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_verticals — List Verticals
Advertised by the server during the last successful anonymous check.
Advertised read-only

Live shopper verticals: key, label, host, identifier kind, example classes, which tool families work, and whether the vertical is public. Reserved hosts are omitted. Omit vertical on other tools for every public vertical (cars today).

list_verticals input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_verticals output schema
{
  "type": "object",
  "required": [
    "verticals"
  ],
  "properties": {
    "verticals": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "key",
          "label",
          "host",
          "identifierKind",
          "exampleClasses",
          "public",
          "toolFamilies"
        ],
        "properties": {
          "key": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "public": {
            "type": "boolean"
          },
          "toolFamilies": {
            "type": "object",
            "required": [
              "inventory",
              "research"
            ],
            "properties": {
              "research": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "inventory": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "exampleClasses": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "identifierKind": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
list_verticals annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

19 advertised

search_cars — Search for Cars

Advertised by the server during the last successful anonymous check.

Search for vehicles near a location with optional filters

location
ZIP code, city/state, or address (e.g., "92688" or "Irvine, CA") (required)
criteria
What you are looking for (e.g., "Honda Civic under $25,000" or "SUV with AWD")
find_dealers — Find Dealers

Advertised by the server during the last successful anonymous check.

Find car dealerships near a location

location
ZIP code, city/state, or address (required)
check_deal — Check if Deal is Good

Advertised by the server during the last successful anonymous check.

Analyze if a vehicle is priced fairly compared to market

vin
The 17-character VIN of the vehicle to analyze (required)
compare_cars — Compare Vehicles

Advertised by the server during the last successful anonymous check.

Compare 2-5 vehicles side by side

vins
Comma-separated list of VINs to compare (e.g., "VIN1,VIN2,VIN3") (required)
market_insights — Market Insights

Advertised by the server during the last successful anonymous check.

Get market pricing data for a specific vehicle type

vehicle
The make, model, and year (e.g., "2024 Honda Civic" or "Toyota RAV4") (required)
vehicle_details — Vehicle Details

Advertised by the server during the last successful anonymous check.

Get full details for a specific vehicle by VIN

vin
The 17-character VIN of the vehicle (required)
dealer_stock — Dealer Stock

Advertised by the server during the last successful anonymous check.

Browse inventory at a specific dealership

dealer
The dealer name or slug (e.g., "rancho-santa-margarita-honda") (required)
filters
Optional filters like make, model, price range (e.g., "Honda under $30,000")
market_overview — Market Overview

Advertised by the server during the last successful anonymous check.

Get overall automotive market statistics and trends

filter
Optional filter by make or vehicle type (e.g., "Honda" or "Used")
check_recalls — Check Safety Recalls

Advertised by the server during the last successful anonymous check.

Look up open safety recalls for a vehicle. NHTSA for cars, CPSC for off-road.

vin
The 17-character VIN of the vehicle to check for recalls (required)
vehicle_dossier — VIN Buy / No-Buy Dossier

Advertised by the server during the last successful anonymous check.

Full shopping dossier for a VIN: deal score, price history, recalls, safety, similar listings, and rough payment estimate

vin
The 17-character VIN to evaluate (required)
location
Optional ZIP or city/state for similar nearby alternatives
budget_coach — Budget / Payment Coach

Advertised by the server during the last successful anonymous check.

Turn a monthly payment into a local inventory shortlist with deal scores (national avg APR guidance)

location
ZIP code or city/state (required)
monthlyPayment
Target monthly payment in USD (e.g., "350") (required)
criteria
Optional vehicle criteria (e.g., "used AWD SUV" or "Honda CR-V")
creditTier
Optional credit tier for rate guidance (e.g., "good", "excellent")
model_shortlist — Model Shortlist → Inventory

Advertised by the server during the last successful anonymous check.

Rank and compare models, then pull live local listings and VIN-compare finalists

location
ZIP code or city/state for local inventory (required)
need
What they need (e.g., "family SUVs under $35k" or "efficient sedans") (required)
timing_advisor — Buy Now vs Wait

Advertised by the server during the last successful anonymous check.

Use market trends and velocity to advise whether to buy now or wait, then show local inventory

vehicle
Make/model or segment (e.g., "used Toyota RAV4") (required)
location
Optional ZIP or city/state for local listings
dealer_crawl — Dealer Visit Planner

Advertised by the server during the last successful anonymous check.

Plan a multi-dealer shopping route with hours, ratings, and must-see VINs at each stop

location
ZIP code or city/state (required)
criteria
What to look for in stock (e.g., "AWD SUVs under $28k") (required)
stops
Optional max number of dealer stops (default 3)
safety_first — Safety-First Shortlist

Advertised by the server during the last successful anonymous check.

Filter inventory then rank by NHTSA safety ratings and open recalls

location
ZIP code or city/state (required)
criteria
Vehicle criteria (e.g., "3-row SUV under $40k") (required)
price_drop_sniper — Price-Drop Targets

Advertised by the server during the last successful anonymous check.

Find local listings with price-drop or long-on-lot signals, then score the deals

location
ZIP code or city/state (required)
criteria
Vehicle criteria (e.g., "Honda CR-V under $30k") (required)
trim_to_lot — Trim Guide → Local Stock

Advertised by the server during the last successful anonymous check.

Explain which trim fits the need, then show matching local inventory

make
Vehicle make (e.g., "Honda") (required)
model
Vehicle model (e.g., "CR-V") (required)
needs
Must-have features (e.g., "CarPlay and AWD") (required)
location
ZIP code or city/state (required)
value_hunter — Cross-Segment Value Hunter

Advertised by the server during the last successful anonymous check.

Compare competing models/segments on fit, price, and velocity, then show undervalued local stock

options
Options to compare (e.g., "used Mazda CX-5 vs new Honda CR-V") (required)
location
ZIP code or city/state (required)
closer — Final Pick + Plan B

Advertised by the server during the last successful anonymous check.

Recommend a primary VIN and backup, with dealer hours/contact (read-only; no lead submission)

vins
Comma-separated shortlist of VINs (2–5) (required)
priorities
What matters most (e.g., "lowest mileage, AWD, under $25k")

Resources

5 advertised

Shopping Playbooks

Advertised by the server during the last successful anonymous check.

Multi-tool shopping playbooks for AI assistants: VIN dossier, budget coach, model shortlist, timing advisor, dealer crawl, safety-first, price-drop sniper, trim-to-lot, value hunter, and closer. Read this to chain OpenDealer tools creatively.

Shopping Playbooks URI
opendealer://assistant/shopping-playbooks

MIME type: text/markdown

Inventory Overview

Advertised by the server during the last successful anonymous check.

High-level statistics about the current vehicle inventory including total count, price ranges, and popular makes.

Inventory Overview URI
opendealer://inventory/overview

MIME type: application/json

Market Overview

Advertised by the server during the last successful anonymous check.

Aggregated market statistics including pricing trends, velocity metrics, and segment analysis.

Market Overview URI
opendealer://market/overview

MIME type: application/json

Available Makes

Advertised by the server during the last successful anonymous check.

List of all vehicle makes available in the inventory with counts.

Available Makes URI
opendealer://makes

MIME type: application/json

Body Types

Advertised by the server during the last successful anonymous check.

List of all vehicle body types available with counts.

Body Types URI
opendealer://body-types

MIME type: application/json

Vehicle Details

Advertised by the server during the last successful anonymous check.

Complete details for a specific vehicle by VIN

Vehicle Details URI template
opendealer://vehicles/{vin}

MIME type: application/json

Dealer Profile

Advertised by the server during the last successful anonymous check.

Complete profile for a specific dealership

Dealer Profile URI template
opendealer://dealers/{dealerId}

MIME type: application/json

Dealer Inventory

Advertised by the server during the last successful anonymous check.

Current inventory for a specific dealership

Dealer Inventory URI template
opendealer://dealers/{dealerId}/inventory

MIME type: application/json

Market Segment

Advertised by the server during the last successful anonymous check.

Market pricing data for a specific vehicle segment

Market Segment URI template
opendealer://market/segments/{cohortKey}

MIME type: application/json

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
390 ms
95th percentile latency
390 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 390 ms · metadata changed · 26 tool(s), 5 resource(s), 4 resource template(s), 19 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http opendealer-mcp-server https://mcp.opendealer.app/rpc

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add opendealer-mcp-server --url https://mcp.opendealer.app/rpc

Cursor

Merge this server into .cursor/mcp.json in your project, then enable opendealer-mcp-server in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "opendealer-mcp-server": {
      "url": "https://mcp.opendealer.app/rpc"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "opendealer-mcp-server": {
      "type": "streamableHttp",
      "url": "https://mcp.opendealer.app/rpc",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start opendealer-mcp-server and inspect its tools.
VS Code configuration
{
  "servers": {
    "opendealer-mcp-server": {
      "type": "http",
      "url": "https://mcp.opendealer.app/rpc"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http opendealer-mcp-server https://mcp.opendealer.app/rpc

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.opendealer.app/rpc

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "opendealer-mcp-server": {
      "serverUrl": "https://mcp.opendealer.app/rpc"
    }
  }
}

Let your agent find its tools

Find servers like OpenDealer MCP Server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run OpenDealer MCP Server?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing