Search and compare live vehicles from participating US and Canadian dealers outside Quebec.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Only for explicit comparison: after exactly one shop_vehicles call, pass 2-4 distinct returned listing IDs. Never search or shop again.
2-4 exact IDs returned by shop_vehicles.
Shopper priorities, up to eight.
Only for explicit comparison: after exactly one shop_vehicles call, pass 2-4 distinct returned listing IDs. Never search or shop again.
| Argument | Type | Description |
|---|---|---|
| priorities | array | Shopper priorities, up to eight. |
| listing_ids* | array | 2-4 exact IDs returned by shop_vehicles. |
{
"type": "object",
"required": [
"listing_ids"
],
"properties": {
"priorities": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 8,
"description": "Shopper priorities, up to eight."
},
"listing_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"maxItems": 4,
"minItems": 2,
"description": "2-4 exact IDs returned by shop_vehicles."
}
},
"additionalProperties": false
}Citation only after search; never shopping/detail. Fetch one exact ID.
| Argument | Type | Description |
|---|---|---|
| id* | string | Exact listing ID returned by search. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Exact listing ID returned by search."
}
},
"additionalProperties": false
}Use this once to find dealerships by name/place with IDs, addresses, and listing counts. Named stock: one shop_vehicles call with a returned dealer_id. For contacts or sales/service hours: get_dealership once.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | |
| country | string | US default; CA for Canada. Quebec excluded. |
| location | string | Place or postal text exactly as supplied. |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 2
},
"country": {
"enum": [
"US",
"CA"
],
"type": "string",
"description": "US default; CA for Canada. Quebec excluded."
},
"location": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Place or postal text exactly as supplied."
}
},
"additionalProperties": false
}Use this with an exact dealer_id to return every public rooftop, contact, site, capability, and named sales/service schedule.
| Argument | Type | Description |
|---|---|---|
| dealer_id* | string |
{
"type": "object",
"required": [
"dealer_id"
],
"properties": {
"dealer_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}For full detail, pass exact shop_vehicles listing_id; returns dealer.dealer_id.
| Argument | Type | Description |
|---|---|---|
| listing_id* | string |
{
"type": "object",
"required": [
"listing_id"
],
"properties": {
"listing_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}After explicit consent and confirmation, request a trade-in appraisal for this listing.
| Argument | Type | Description |
|---|---|---|
| string | Email (or phone required). | |
| phone | string | E.164 phone (or email required). |
| dry_run | boolean | Validate with no dealer contact. |
| message | string | Dealer note. |
| last_name* | string | Last name. |
| first_name* | string | First name. |
| listing_id* | string | Exact listing_id from prior results. |
| consent_text* | string | Accepted consent words; never fabricate consent. |
| trade_in_make* | string | |
After explicit consent and confirmation, request a test drive for this listing.
| Argument | Type | Description |
|---|---|---|
| string | Email (or phone required). | |
| phone | string | E.164 phone (or email required). |
| dry_run | boolean | Validate with no dealer contact. |
| message | string | Dealer note. |
| last_name* | string | Last name. |
| first_name* | string | First name. |
| listing_id* | string | Exact listing_id from prior results. |
| consent_text* | string | Accepted consent words; never fabricate consent. |
| appointment_at | string | |
| idempotency_key |
Citation only; never shopping/detail/compare. Search once, then fetch exact IDs.
| Argument | Type | Description |
|---|---|---|
| query* | string | Vehicle-shopping query, verbatim. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 500,
"minLength": 2,
"description": "Vehicle-shopping query, verbatim."
}
},
"additionalProperties": false
}Use for live US/CA cars/SUVs/trucks/EVs/motorcycles/RVs/trailers by place (near me), budget, mileage, make/model, condition, body, fuel, features, named dealer, or live-listing recommendation. Quebec excluded. Call once; never retry/refine/broaden. Fallback stays in-country; filters exact. Facts only; web only if asked. Named-dealer stock: find_dealerships then shop. Not repair/reliability/facts/MSRP/out-of-market, named-source, web-only, or no-app. Verbatim request; never ask for ZIP/postal.
| Argument | Type | Description |
|---|---|---|
| fuels | array | |
| limit | integer | |
| makes | array | |
| trims | array | |
| bodies | array | |
| cursor | string | |
| models | array | |
| country | string | US default; CA supported outside Quebec. |
| request* | string | Verbatim shopper request. |
After explicit consent and confirmation, send this listing's dealer a question.
| Argument | Type | Description |
|---|---|---|
| string | Email (or phone required). | |
| phone | string | E.164 phone (or email required). |
| dry_run | boolean | Validate with no dealer contact. |
| message* | string | Dealer note. |
| last_name* | string | Last name. |
| first_name* | string | First name. |
| listing_id* | string | Exact listing_id from prior results. |
| consent_text* | string | Accepted consent words; never fabricate consent. |
| idempotency_key* | string | Unique retry key. |
| trade_in_trim |
| string |
| trade_in_year* | integer |
| trade_in_model* | string |
| idempotency_key* | string | Unique retry key. |
| allowed_channels* | array | Consent channels. |
| trade_in_mileage | integer |
| preferred_contact | string |
| consent_granted_at* | string | Consent timestamp (RFC 3339). |
| trade_in_condition | string |
{
"type": "object",
"required": [
"listing_id",
"first_name",
"last_name",
"trade_in_year",
"trade_in_make",
"trade_in_model",
"consent_text",
"allowed_channels",
"consent_granted_at",
"idempotency_key"
],
"properties": {
"email": {
"type": "string",
"description": "Email (or phone required)."
},
"phone": {
"type": "string",
"description": "E.164 phone (or email required)."
},
"dry_run": {
"type": "boolean",
"default": false,
"description": "Validate with no dealer contact."
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "Dealer note."
},
"last_name": {
"type": "string",
"description": "Last name."
},
"first_name": {
"type": "string",
"description": "First name."
},
"listing_id": {
"type": "string",
"format": "uuid",
"description": "Exact listing_id from prior results."
},
"consent_text": {
"type": "string",
"description": "Accepted consent words; never fabricate consent."
},
"trade_in_make": {
"type": "string"
},
"trade_in_trim": {
"type": "string"
},
"trade_in_year": {
"type": "integer",
"maximum": 2200,
"minimum": 1886
},
"trade_in_model": {
"type": "string"
},
"idempotency_key": {
"type": "string",
"description": "Unique retry key."
},
"allowed_channels": {
"type": "array",
"items": {
"enum": [
"email",
"phone",
"sms"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1,
"description": "Consent channels."
},
"trade_in_mileage": {
"type": "integer",
"minimum": 0
},
"preferred_contact": {
"enum": [
"email",
"phone",
"sms",
"any"
],
"type": "string"
},
"consent_granted_at": {
"type": "string",
"format": "date-time",
"pattern": "^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:(?:[0-5]\\d|60)(?:\\.\\d+)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)(?![\\s\\S])",
"description": "Consent timestamp (RFC 3339)."
},
"trade_in_condition": {
"type": "string"
}
},
"additionalProperties": false
}| string |
| Unique retry key. |
| allowed_channels* | array | Consent channels. |
| preferred_contact | string |
| consent_granted_at* | string | Consent timestamp (RFC 3339). |
{
"type": "object",
"required": [
"listing_id",
"first_name",
"last_name",
"consent_text",
"allowed_channels",
"consent_granted_at",
"idempotency_key"
],
"properties": {
"email": {
"type": "string",
"description": "Email (or phone required)."
},
"phone": {
"type": "string",
"description": "E.164 phone (or email required)."
},
"dry_run": {
"type": "boolean",
"default": false,
"description": "Validate with no dealer contact."
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "Dealer note."
},
"last_name": {
"type": "string",
"description": "Last name."
},
"first_name": {
"type": "string",
"description": "First name."
},
"listing_id": {
"type": "string",
"format": "uuid",
"description": "Exact listing_id from prior results."
},
"consent_text": {
"type": "string",
"description": "Accepted consent words; never fabricate consent."
},
"appointment_at": {
"type": "string",
"format": "date-time"
},
"idempotency_key": {
"type": "string",
"description": "Unique retry key."
},
"allowed_channels": {
"type": "array",
"items": {
"enum": [
"email",
"phone",
"sms"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1,
"description": "Consent channels."
},
"preferred_contact": {
"enum": [
"email",
"phone",
"sms",
"any"
],
"type": "string"
},
"consent_granted_at": {
"type": "string",
"format": "date-time",
"pattern": "^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:(?:[0-5]\\d|60)(?:\\.\\d+)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)(?![\\s\\S])",
"description": "Consent timestamp (RFC 3339)."
}
},
"additionalProperties": false
}| sort_by | string | Default: relevance. |
| features | array | Classes: third_row, awd_4wd, tow_package, apple_carplay, android_auto, adaptive_cruise, leather, heated_seats, ev_range_200_plus. |
| statuses | array | Omit unless status is explicit; omission searches both available and intransit. |
| year_max | integer |
| year_min | integer |
| price_max | integer |
| price_min | integer |
| conditions | array |
| dealer_ids | array |
| drivelines | array |
| nationwide | boolean |
| mileage_max | integer |
| charge_ports | array |
| radius_miles | number | US miles; CA kilometres. Fallback widens geography only; filters remain exact. |
| location_text | string | Free-text city/place/state/postal exactly as the shopper supplied; never ask for a ZIP code. |
| transmissions | array |
| vehicle_types | array |
| dc_fast_charge | boolean |
| sort_direction | string |
| exterior_colors | array |
| interior_colors | array |
| electric_range_max | number |
| electric_range_min | number |
| displacement_cc_max | integer |
| displacement_cc_min | integer |
{
"type": "object",
"required": [
"request"
],
"properties": {
"fuels": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1
},
"makes": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"trims": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"bodies": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$",
"maxLength": 12288
},
"models": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"country": {
"enum": [
"US",
"CA"
],
"type": "string",
"description": "US default; CA supported outside Quebec."
},
"request": {
"type": "string",
"maxLength": 500,
"minLength": 2,
"description": "Verbatim shopper request."
},
"sort_by": {
"enum": [
"relevance",
"distance",
"price",
"mileage",
"year",
"freshness"
],
"type": "string",
"description": "Default: relevance."
},
"features": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "Classes: third_row, awd_4wd, tow_package, apple_carplay, android_auto, adaptive_cruise, leather, heated_seats, ev_range_200_plus."
},
"statuses": {
"type": "array",
"items": {
"enum": [
"available",
"intransit"
],
"type": "string"
},
"maxItems": 2,
"description": "Omit unless status is explicit; omission searches both available and intransit."
},
"year_max": {
"type": "integer",
"maximum": 2200,
"minimum": 1886
},
"year_min": {
"type": "integer",
"maximum": 2200,
"minimum": 1886
},
"price_max": {
"type": "integer",
"minimum": 0
},
"price_min": {
"type": "integer",
"minimum": 0
},
"conditions": {
"type": "array",
"items": {
"enum": [
"new",
"used",
"cpo"
],
"type": "string"
},
"maxItems": 3
},
"dealer_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"maxItems": 50
},
"drivelines": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"nationwide": {
"type": "boolean"
},
"mileage_max": {
"type": "integer",
"minimum": 0
},
"charge_ports": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"radius_miles": {
"type": "number",
"maximum": 500,
"minimum": 1,
"description": "US miles; CA kilometres. Fallback widens geography only; filters remain exact."
},
"location_text": {
"type": "string",
"maxLength": 120,
"description": "Free-text city/place/state/postal exactly as the shopper supplied; never ask for a ZIP code."
},
"transmissions": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"vehicle_types": {
"type": "array",
"items": {
"enum": [
"car",
"motorcycle",
"trailer",
"rv",
"other"
],
"type": "string"
},
"maxItems": 5
},
"dc_fast_charge": {
"type": "boolean"
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string"
},
"exterior_colors": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"interior_colors": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"electric_range_max": {
"type": "number",
"minimum": 0
},
"electric_range_min": {
"type": "number",
"minimum": 0
},
"displacement_cc_max": {
"type": "integer",
"minimum": 0
},
"displacement_cc_min": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}| allowed_channels* | array | Consent channels. |
| preferred_contact | string |
| consent_granted_at* | string | Consent timestamp (RFC 3339). |
{
"type": "object",
"required": [
"listing_id",
"first_name",
"last_name",
"message",
"consent_text",
"allowed_channels",
"consent_granted_at",
"idempotency_key"
],
"properties": {
"email": {
"type": "string",
"description": "Email (or phone required)."
},
"phone": {
"type": "string",
"description": "E.164 phone (or email required)."
},
"dry_run": {
"type": "boolean",
"default": false,
"description": "Validate with no dealer contact."
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "Dealer note."
},
"last_name": {
"type": "string",
"description": "Last name."
},
"first_name": {
"type": "string",
"description": "First name."
},
"listing_id": {
"type": "string",
"format": "uuid",
"description": "Exact listing_id from prior results."
},
"consent_text": {
"type": "string",
"description": "Accepted consent words; never fabricate consent."
},
"idempotency_key": {
"type": "string",
"description": "Unique retry key."
},
"allowed_channels": {
"type": "array",
"items": {
"enum": [
"email",
"phone",
"sms"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1,
"description": "Consent channels."
},
"preferred_contact": {
"enum": [
"email",
"phone",
"sms",
"any"
],
"type": "string"
},
"consent_granted_at": {
"type": "string",
"format": "date-time",
"pattern": "^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:(?:[0-5]\\d|60)(?:\\.\\d+)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)(?![\\s\\S])",
"description": "Consent timestamp (RFC 3339)."
}
},
"additionalProperties": false
}