Apibara Vehicle Auction Data
Server Details
Read-only MCP for Copart and IAA/IAAI search, history, filters, locations, shipping, and usage.
- Status
- Healthy
- Uptime
- 99.9% over 44 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 8 tools
Each tool has a clearly distinct role and the descriptions actively cross-reference siblings (e.g. get_vehicle vs get_vehicle_history vs search_auction_vehicles). The only friction is get_vehicle's include flags overlapping with get_vehicle_history, and get_related_vehicles vs search_auction_vehicles requiring description reading to separate.
All eight tools follow a clean verb_noun pattern (get_vehicle, get_vehicle_history, search_auction_vehicles, list_auction_locations, calculate_shipping). The verb choice consistently reflects intent (get vs list vs search), with no mixed conventions.
Eight tools is well-scoped for a vehicle auction data API, with one tool per major capability. No obvious filler or redundant tools; each earns its place.
The surface covers discovery (search), lookup (get_vehicle), history, related records, filter metadata, auction locations, shipping pricing, and usage limits—a coherent read-only lifecycle. Minor gaps exist (e.g. no tool for auction event schedules or image/media retrieval), but core workflows are covered.
Available Tools
8 toolscalculate_shippingCalculate auction-to-port shippingARead-onlyIdempotentInspect
Use when the user asks for supported auction-to-port shipping pricing for a known vehicle. Supply either VIN or lot_number; optionally narrow the destination with port or port_id. Availability depends on auction location and route data.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | Vehicle Identification Number. Provide this or lot_number. | |
| port | No | Optional destination port name supported by the shipping endpoint. | |
| port_id | No | Optional destination port identifier when known. | |
| lot_number | No | Auction lot number. Provide this or vin. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description does not need to repeat those. It adds valuable context by noting 'Availability depends on auction location and route data,' which is a behavioral constraint beyond what annotations convey. This enriches the agent's understanding of potential failure or limitation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, all relevant and front-loaded with the usage trigger. It contains no fluff, and every sentence adds value—usage condition, input requirements, and an availability caveat. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and only 4 parameters, the description covers all necessary invocation details: when to use, what inputs to supply, and a caveat about availability. Nothing critical is missing, and the output schema handles return value expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description repeats the essential choice between VIN and lot_number and mentions optional port/port_id, but it adds no deeper semantic detail (e.g., precedence, format constraints, or how port_id relates to port). This is baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates shipping pricing for a known vehicle to a port, using a specific verb and resource. It distinguishes from siblings like get_vehicle or search_auction_vehicles by focusing on shipping, and it specifies the input requirements (VIN or lot number).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when the user asks for supported auction-to-port shipping pricing for a known vehicle,' providing a clear trigger condition. It also mentions optional narrowing with port or port_id, but it does not explicitly list when not to use it or alternatives. However, since siblings are unrelated to shipping, the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_usageGet API usageARead-onlyIdempotentInspect
Use to inspect request usage and current plan limits for the supplied X-API-Key. This is account/API-quota metadata, not vehicle data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds value by specifying the data type (account/API-quota metadata) and tying it to the X-API-Key, which gives agents a better mental model of what the response will contain without relying solely on the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences and front-loads the primary use case ('Use to inspect...'). The second sentence proactively prevents category confusion, and every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters), the presence of a full output schema, and thorough annotations, the description is complete. It clearly explains the resource being queried, disambiguates from siblings, and leaves no operational gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to add beyond what the empty input schema already shows. The baseline for a no-parameter tool is 4, and the description does not introduce any unnecessary parameter-related details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('inspect'), the resource ('request usage and current plan limits'), and the relevant credential ('supplied X-API-Key'). It also explicitly excludes vehicle data, which clearly distinguishes it from the vehicle-related sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear purpose and a negative discriminator ('not vehicle data'), making it obvious when to use this tool instead of the vehicle-focused siblings. However, it does not name specific alternative tools or provide more granular when-not conditions, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicleGet vehicleARead-onlyIdempotentInspect
Use when the user already has a VIN, lot number or supported slug and needs the current normalized vehicle record. Request include history and/or vin_lots when the same tool call should also return retained sale history or other known auction lots for the same VIN.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional related data to embed in the vehicle detail result. | |
| identifier | Yes | VIN, lot number or slug_vin accepted by the canonical vehicle detail endpoint. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the description carries less burden. It adds useful context about accepted identifier types and optional inclusion of history or vin_lots, but does not explain normalization behavior, errors, or what 'retained sale history' means in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The primary use condition is front-loaded, and the optional include behavior is explained in the second sentence without repeating schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with full schema coverage, a rich output schema, and strong annotations, this description is complete. An agent has enough context to decide when to call it and what parameters to provide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it clarifies that identifier accepts VIN, lot number, or supported slug, and that include history/vin_lots controls whether additional related data is returned in the same call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a current normalized vehicle record using an identifier the user already has, with optional embedded history or lot data. It distinguishes itself from search-oriented siblings by requiring an existing VIN, lot, or slug, but it does not explicitly name or contrast any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use this tool when the user already has a VIN, lot number, or supported slug, and gives guidance on when to add include history/vin_lots. It does not state when to prefer alternatives such as get_vehicle_history or get_related_vehicles, so exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicle_filtersGet vehicle filtersARead-onlyIdempotentInspect
Use before building a dynamic search UI or validating source-backed filter choices. Returns current filter metadata; it does not search inventory itself.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Optional readable auction-source selector. Omit to retrieve combined supported filter metadata. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, lowering the bar. The description adds value by clarifying the tool's boundary (metadata only, not a search) and the dynamic nature of the data ('current'), which complements the openWorldHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. Usage guidance is front-loaded first, followed by the boundary clarification. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (0 required params, output schema present), so return values don't need description. The description covers when to use it, what it does, and what it doesn't do. Minor gap: nothing about how filter metadata varies across platforms, though the schema's enum partially addresses this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema fully documents the optional platform parameter and its omit behavior. The description adds no parameter-level detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') and resource ('current filter metadata'), and explicitly differentiates from search tools with 'it does not search inventory itself'. An agent can distinguish this from search_auction_vehicles immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use context: 'Use before building a dynamic search UI or validating source-backed filter choices.' It implies the exclusion of search usage via 'does not search inventory itself,' but does not name alternative sibling tools explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicle_historyGet vehicle auction historyARead-onlyIdempotentInspect
Use for retained Copart + IAAI auction appearances for one supported vehicle. This is auction-specific history, not complete ownership, registration or accident history.
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | VIN, lot number or slug_vin accepted by the canonical vehicle detail endpoint. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | Pagination metadata. Treat cursor values as opaque. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only, idempotent, and non-destructive behavior. The description adds useful boundaries about the data being auction-specific and retained, but leaves terms like 'retained' and the exact coverage of auction appearances unexplained. It is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence gives the action and scope; the second clarifies what the tool does not cover. All content earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with an output schema, the description covers the key context: supported sources, scope, and exclusions. It could improve by explaining 'retained' or pointing to an alternative for full history, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single identifier parameter, and the schema already explains accepted formats (VIN, lot number, slug_vin). The description adds no additional parameter-level meaning beyond implying one vehicle, so the baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool is for retrieving retained Copart and IAAI auction appearances for one supported vehicle, and explicitly distinguishes this from complete ownership, registration, or accident history. This makes the purpose concrete and helps separate it from sibling tools like get_vehicle and get_related_vehicles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear use case ('for ... one supported vehicle') and a strong exclusion ('not complete ownership, registration or accident history'). It does not name alternative tools explicitly, but the guidance is sufficient for an agent to know when to choose this tool versus a full-history lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_auction_locationsList auction locationsARead-onlyIdempotentInspect
Use to resolve supported auction yards, branches or facilities and their location metadata. Use calculate_shipping when the user needs auction-to-port pricing instead.
| Name | Required | Description | Default |
|---|---|---|---|
| s | No | Free-text location search, such as a facility name, city or supported location term. | |
| state | No | Optional state or region filter, for example FL. | |
| country | No | Optional country filter supported by the locations endpoint. | |
| platform | No | Optional source selector: Copart or IAA / IAAI. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | Pagination metadata. Treat cursor values as opaque. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description is not required to restate those. It adds minimal behavioral context, only mentioning that it resolves 'supported' locations and returns 'location metadata'. Since the output schema exists, return details are covered. The description adds no extra behavioral disclosures like pagination, rate limits, or authentication requirements, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that delivers the purpose and the key alternative without any wasted words. It is concise and well-structured, earning every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has zero required parameters, an output schema, and comprehensive annotations, so the description does not need to explain return values or safety. It clearly states the primary use and a sibling alternative. It could optionally mention that all parameters are optional filters, but the schema already conveys that. The description is complete enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (s, state, country, platform) have descriptive text in the schema. The description does not add any additional parameter semantics or clarify usage beyond what the schema already provides. Baseline 3 applies when the schema fully documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('resolve') and a precise resource ('supported auction yards, branches or facilities') along with their location metadata. It also explicitly differentiates from the sibling 'calculate_shipping' by naming it and the condition that selects it, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('to resolve supported auction yards...') and provides an alternative with a clear condition ('Use calculate_shipping when the user needs auction-to-port pricing instead'). This leaves no inference needed for the primary decision point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_auction_vehiclesSearch auction vehiclesARead-onlyIdempotentInspect
Use for broad inventory discovery, filtering and incremental synchronization across supported Copart and IAA / IAAI records. For one known VIN or lot use get_vehicle; for retained auction appearances use get_vehicle_history.
| Name | Required | Description | Default |
|---|---|---|---|
| s | No | Search by VIN, lot number or vehicle title/model text. | |
| zip | No | ZIP/postal code used with radius for supported proximity search. | |
| make | No | Make filter for GET /vehicles. | |
| type | No | Vehicle type filter for GET /vehicles. | |
| color | No | Color filter for GET /vehicles. | |
| model | No | Model filter for GET /vehicles. | |
| units | No | Geographic distance unit system: mi or km. Odometer filter boundaries are always miles. | |
| cursor | No | Opaque pagination cursor returned by the API. Send next_cursor back unchanged; do not decode or synthesize it. | |
| damage | No | Primary damage category filter. | |
| radius | No | Search radius around zip, interpreted using the selected units. | |
| series | No | Series / model family filter for GET /vehicles. | |
| has_key | No | Key-availability filter using the documented values No, All or With. | |
| year_to | No | Year to filter for GET /vehicles. | |
| per_page | No | Requested page size. Effective maximum is subscription-plan dependent; common public plan limits are 20, 30 or 40 and custom plans may differ. | |
| platform | No | Readable auction-source selector: copart or iaai. Omit for combined supported sources. | |
| run_cond | No | Normalized run-condition filter. | |
| upcoming | No | Upcoming selector: all=no upcoming restriction, only=upcoming eligible lots only, without=exclude upcoming lots. | |
| body_type | No | Deprecated compatibility alias for body_style. A string or array is accepted; prefer body_style for new integrations. | |
| cylinders | No | Cylinders filter for GET /vehicles. | |
| fuel_type | No | Fuel type filter for GET /vehicles. | |
| loc_state | No | Auction location state or region, for example FL. | |
| price_max | No | Price max filter for GET /vehicles. | |
| price_min | No | Price min filter for GET /vehicles. | |
| year_from | No | Year from filter for GET /vehicles. | |
| body_style | No | Filter by vehicle_specs.body_style. A string or array is accepted; multiple values are OR-ed. IAAI uses VehicleClass and Copart uses the source-backed Body Style field. | |
| drive_type | No | Drive type filter for GET /vehicles. | |
| generation | No | Generation filter for GET /vehicles. | |
| lot_status | No | Auction mode filter: All, Timed or Buy Now. | |
| today_only | No | When true, restrict results to the endpoint current-day auction logic. | |
| vin_prefix | No | VIN prefix(es) filter for GET /vehicles. | |
| engine_type | No | Engine type filter for GET /vehicles. | |
| facility_id | No | Auction facility identifier used to restrict results to one supported facility. | |
| odometer_to | No | Odometer to (miles) filter for GET /vehicles. | |
| office_name | No | Auction office or branch name filter. | |
| seller_type | No | Normalized seller type: dealer, finance, insurance or non_insurance. | |
| auction_type | No | Numeric compatibility source selector: 0=all, 1=Copart, 2=IAAI. If both auction_type and platform are supplied, auction_type takes precedence; prefer platform for new integrations. | |
| transmission | No | Transmission filter for GET /vehicles. | |
| generation_id | No | Generation ID filter for GET /vehicles. | |
| include_total | No | Include exact total filter for GET /vehicles. | |
| odometer_from | No | Odometer from (miles) filter for GET /vehicles. | |
| engine_size_to | No | Engine size to filter for GET /vehicles. | |
| lot_sub_status | No | Normalized auction state: Open for active/open lots, Live for currently live supported lots, Ended for closed/ended lots. | |
| auction_date_to | No | End auction date in YYYY-MM-DD format. | |
| engine_size_from | No | Engine size from filter for GET /vehicles. | |
| auction_date_from | No | Start auction date in YYYY-MM-DD format. | |
| has_shipping_price | No | When true, return only vehicles with supported shipping-price data. | |
| sale_document_type | No | Sale/title document type filter; values are source-backed and can vary. | |
| auction_date_pending | No | Auction date pending filter for GET /vehicles. | |
| sale_document_pending | No | When true, restrict results to records with a pending sale document state when supported. | |
| updated_within_minutes | No | Incremental-sync window. Return records whose updated_at changed within this many minutes; supported range is 1..525600. Use with cursor pagination and an overlap window. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | Pagination metadata. Treat cursor values as opaque. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is fully covered. The description adds useful scope context (combined Copart/IAAI sources, incremental-sync use case) but says nothing about result shape, cost, or the subscription-dependent page-size behavior that meaningfully affects calling strategy. Adequate but thin for a 50-parameter search endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, positive use case front-loaded before the sibling redirects. Every clause earns its place and the disambiguation is placed last where it is most actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully documented, so return values and parameter meaning are covered elsewhere. What is missing is guidance on how the 50 filters compose (conjunctive vs. OR behavior) and how paging interacts with updated_within_minutes for sync loops, which is the one gap an agent could stumble on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including enum values, units, cursor semantics, deprecation notes for body_type, and platform vs auction_type precedence, so the schema carries the full load. The description contributes no filter semantics of its own, which makes baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (broad inventory discovery, filtering, incremental synchronization) over a specific resource (auction vehicles from Copart and IAA/IAAI). It explicitly demarcates itself from get_vehicle and get_vehicle_history, so an agent can route without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names two alternatives with the exact condition that selects each: one known VIN or lot -> get_vehicle; retained auction appearances -> get_vehicle_history. The implicit remainder (broad/filtered/multi-record sweeps) is the positive case for this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
search_auction_vehicles5 fields changed- added
Input schema / properties / auction_date_pendingAdded value: +{ + "description": "Auction date pending filter for GET /vehicles.", + "type": "boolean" +} - changed
Input schema / properties / odometer_from / descriptionPrevious value: -"Odometer from filter for GET /vehicles."New value: +"Odometer from (miles) filter for GET /vehicles." - changed
Input schema / properties / odometer_to / descriptionPrevious value: -"Odometer to filter for GET /vehicles."New value: +"Odometer to (miles) filter for GET /vehicles." - changed
Input schema / properties / run_cond / enumPrevious value: -[ - "STATIONARY", - "NO INFORMATION", - "RUNS AND DRIVES", - "ENGINE START PROGRAM" -]New value: +[ + "Run & Drive Verified", + "Vehicle Starts", + "STATIONARY", + "NO INFORMATION", + "RUNS AND DRIVES", + "ENGINE START PROGRAM" +] - changed
Input schema / properties / units / descriptionPrevious value: -"Distance and odometer unit system: mi or km."New value: +"Geographic distance unit system: mi or km. Odometer filter boundaries are always miles."
1 tool update
- Changed
search_auction_vehicles1 field changed- added
Input schema / properties / vin_prefixAdded value: +{ + "description": "VIN prefix(es) filter for GET /vehicles.", + "type": "string" +}
1 tool update
- Changed
search_auction_vehicles2 fields changed- added
Input schema / properties / body_styleAdded value: +{ + "description": "Filter by vehicle_specs.body_style. A string or array is accepted; multiple values are OR-ed. IAAI uses VehicleClass and Copart uses the source-backed Body Style field.", + "oneOf": [ + { + "type": "string" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ] +} - added
Input schema / properties / body_typeAdded value: +{ + "description": "Deprecated compatibility alias for body_style. A string or array is accepted; prefer body_style for new integrations.", + "oneOf": [ + { + "type": "string" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ] +}
1 tool update
- Changed
search_auction_vehicles4 fields changed- removed
Input schema / properties / engine_hp_fromRemoved value: -{ - "description": "Engine HP from filter for GET /vehicles.", - "type": "string" -} - removed
Input schema / properties / engine_hp_toRemoved value: -{ - "description": "Engine HP to filter for GET /vehicles.", - "type": "string" -} - added
Input schema / properties / engine_typeAdded value: +{ + "description": "Engine type filter for GET /vehicles.", + "enum": [ + "I", + "V", + "W", + "B" + ], + "type": "string" +} - added
Input schema / properties / include_totalAdded value: +{ + "description": "Include exact total filter for GET /vehicles.", + "type": "boolean" +}
1 tool update
- Changed
search_auction_vehicles2 fields changed- changed
Input schema / properties / engine_hp_from / typePrevious value: -"number"New value: +"string" - changed
Input schema / properties / engine_hp_to / typePrevious value: -"number"New value: +"string"
1 tool update
- Changed
get_vehicle1 field changed- added
Input schema / properties / includeAdded value: +{ + "description": "Optional related data to embed in the vehicle detail result.", + "items": { + "enum": [ + "history", + "vin_lots" + ], + "type": "string" + }, + "maxItems": 2, + "type": "array", + "uniqueItems": true +}
1 tool update
- Changed
search_auction_vehicles1 field changed- added
Input schema / properties / seriesAdded value: +{ + "description": "Series / model family filter for GET /vehicles.", + "type": "string" +}
1 tool update
- Changed
search_auction_vehicles2 fields changed- added
Input schema / properties / generationAdded value: +{ + "description": "Generation filter for GET /vehicles.", + "type": "string" +} - added
Input schema / properties / generation_idAdded value: +{ + "description": "Generation ID filter for GET /vehicles.", + "type": "string" +}
8 tool updates
- Changed
calculate_shipping5 fields changed- added
Input schema / properties / lot_number / descriptionAdded value: +"Auction lot number. Provide this or vin." - added
Input schema / properties / port / descriptionAdded value: +"Optional destination port name supported by the shipping endpoint." - added
Input schema / properties / port_id / descriptionAdded value: +"Optional destination port identifier when known." - added
Input schema / properties / vin / descriptionAdded value: +"Vehicle Identification Number. Provide this or lot_number." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "description": "Structured JSON returned by the canonical Apibara Vehicle Auction Data API. Source-dependent fields may be null or absent.", + "properties": { + "data": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
get_api_usage1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "description": "Structured JSON returned by the canonical Apibara Vehicle Auction Data API. Source-dependent fields may be null or absent.", + "properties": { + "data": { + "additionalProperties": true, + "type": "object" + } + }, + "type": "object" +}
- Changed
get_related_vehicles3 fields changed- changed
Input schema / properties / identifier / descriptionPrevious value: -"VIN or slug_vin accepted by the canonical vehicle detail endpoint."New value: +"VIN, lot number or slug_vin accepted by the canonical vehicle detail endpoint." - added
Input schema / properties / per_page / descriptionAdded value: +"Maximum related records to return. Effective limits are plan-dependent." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "description": "Structured JSON returned by the canonical Apibara Vehicle Auction Data API. Source-dependent fields may be null or absent.", + "properties": { + "data": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": true, + "description": "Pagination metadata. Treat cursor values as opaque.", + "type": "object" + } + }, + "type": "object" +}
- Changed
get_vehicle2 fields changed- changed
Input schema / properties / identifier / descriptionPrevious value: -"VIN or slug_vin accepted by the canonical vehicle detail endpoint."New value: +"VIN, lot number or slug_vin accepted by the canonical vehicle detail endpoint." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "description": "Structured JSON returned by the canonical Apibara Vehicle Auction Data API. Source-dependent fields may be null or absent.", + "properties": { + "data": { + "additionalProperties": true, + "type": "object" + } + }, + "type": "object" +}
- Changed
get_vehicle_filters2 fields changed- added
Input schema / properties / platform / descriptionAdded value: +"Optional readable auction-source selector. Omit to retrieve combined supported filter metadata." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "description": "Structured JSON returned by the canonical Apibara Vehicle Auction Data API. Source-dependent fields may be null or absent.", + "properties": { + "data": { + "additionalProperties": true, + "type": "object" + } + }, + "type": "object" +}
- Changed
get_vehicle_history2 fields changed- changed
Input schema / properties / identifier / descriptionPrevious value: -"VIN or slug_vin accepted by the canonical vehicle detail endpoint."New value: +"VIN, lot number or slug_vin accepted by the canonical vehicle detail endpoint." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "description": "Structured JSON returned by the canonical Apibara Vehicle Auction Data API. Source-dependent fields may be null or absent.", + "properties": { + "data": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": true, + "description": "Pagination metadata. Treat cursor values as opaque.", + "type": "object" + } + }, + "type": "object" +}
- Changed
list_auction_locations5 fields changed- added
Input schema / properties / country / descriptionAdded value: +"Optional country filter supported by the locations endpoint." - added
Input schema / properties / platform / descriptionAdded value: +"Optional source selector: Copart or IAA / IAAI." - added
Input schema / properties / s / descriptionAdded value: +"Free-text location search, such as a facility name, city or supported location term." - added
Input schema / properties / state / descriptionAdded value: +"Optional state or region filter, for example FL." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "description": "Structured JSON returned by the canonical Apibara Vehicle Auction Data API. Source-dependent fields may be null or absent.", + "properties": { + "data": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": true, + "description": "Pagination metadata. Treat cursor values as opaque.", + "type": "object" + } + }, + "type": "object" +}
- Changed
search_auction_vehicles45 fields changed- added
Input schema / properties / auction_date_fromAdded value: +{ + "description": "Start auction date in YYYY-MM-DD format.", + "format": "date", + "type": "string" +} - added
Input schema / properties / auction_date_toAdded value: +{ + "description": "End auction date in YYYY-MM-DD format.", + "format": "date", + "type": "string" +} - added
Input schema / properties / auction_typeAdded value: +{ + "description": "Numeric compatibility source selector: 0=all, 1=Copart, 2=IAAI. If both auction_type and platform are supplied, auction_type takes precedence; prefer platform for new integrations.", + "enum": [ + 0, + 1, + 2 + ], + "type": "integer" +} - added
Input schema / properties / colorAdded value: +{ + "description": "Color filter for GET /vehicles.", + "type": "string" +} - added
Input schema / properties / cursor / descriptionAdded value: +"Opaque pagination cursor returned by the API. Send next_cursor back unchanged; do not decode or synthesize it." - added
Input schema / properties / cylindersAdded value: +{ + "description": "Cylinders filter for GET /vehicles.", + "type": "integer" +} - added
Input schema / properties / damageAdded value: +{ + "description": "Primary damage category filter.", + "enum": [ + "Fire", + "Hail", + "Theft", + "Water", + "Chemical", + "Rollover", + "Mechanical", + "Vandalized", + "Repossession" + ], + "type": "string" +} - added
Input schema / properties / drive_typeAdded value: +{ + "description": "Drive type filter for GET /vehicles.", + "enum": [ + "AWD", + "FWD", + "RWD" + ], + "type": "string" +} - added
Input schema / properties / engine_hp_fromAdded value: +{ + "description": "Engine HP from filter for GET /vehicles.", + "type": "number" +} - added
Input schema / properties / engine_hp_toAdded value: +{ + "description": "Engine HP to filter for GET /vehicles.", + "type": "number" +} - added
Input schema / properties / engine_size_fromAdded value: +{ + "description": "Engine size from filter for GET /vehicles.", + "type": "number" +} - added
Input schema / properties / engine_size_toAdded value: +{ + "description": "Engine size to filter for GET /vehicles.", + "type": "number" +} - added
Input schema / properties / facility_id / descriptionAdded value: +"Auction facility identifier used to restrict results to one supported facility." - changed
Input schema / properties / facility_id / typePrevious value: -[ - "integer", - "string" -]New value: +"string" - added
Input schema / properties / fuel_typeAdded value: +{ + "description": "Fuel type filter for GET /vehicles.", + "enum": [ + "Diesel", + "Hybrid", + "Electric", + "Flexible", + "Gasoline", + "All others" + ], + "type": "string" +} - added
Input schema / properties / has_keyAdded value: +{ + "description": "Key-availability filter using the documented values No, All or With.", + "enum": [ + "No", + "All", + "With" + ], + "type": "string" +} - added
Input schema / properties / has_shipping_price / descriptionAdded value: +"When true, return only vehicles with supported shipping-price data." - added
Input schema / properties / loc_state / descriptionAdded value: +"Auction location state or region, for example FL." - added
Input schema / properties / lot_status / descriptionAdded value: +"Auction mode filter: All, Timed or Buy Now." - added
Input schema / properties / lot_sub_status / descriptionAdded value: +"Normalized auction state: Open for active/open lots, Live for currently live supported lots, Ended for closed/ended lots." - added
Input schema / properties / make / descriptionAdded value: +"Make filter for GET /vehicles." - added
Input schema / properties / model / descriptionAdded value: +"Model filter for GET /vehicles." - added
Input schema / properties / odometer_fromAdded value: +{ + "description": "Odometer from filter for GET /vehicles.", + "type": "number" +} - added
Input schema / properties / odometer_toAdded value: +{ + "description": "Odometer to filter for GET /vehicles.", + "type": "number" +} - added
Input schema / properties / office_nameAdded value: +{ + "description": "Auction office or branch name filter.", + "type": "string" +} - added
Input schema / properties / per_page / descriptionAdded value: +"Requested page size. Effective maximum is subscription-plan dependent; common public plan limits are 20, 30 or 40 and custom plans may differ." - added
Input schema / properties / platform / descriptionAdded value: +"Readable auction-source selector: copart or iaai. Omit for combined supported sources." - added
Input schema / properties / price_max / descriptionAdded value: +"Price max filter for GET /vehicles." - added
Input schema / properties / price_min / descriptionAdded value: +"Price min filter for GET /vehicles." - added
Input schema / properties / radiusAdded value: +{ + "description": "Search radius around zip, interpreted using the selected units.", + "type": "integer" +} - added
Input schema / properties / run_condAdded value: +{ + "description": "Normalized run-condition filter.", + "enum": [ + "STATIONARY", + "NO INFORMATION", + "RUNS AND DRIVES", + "ENGINE START PROGRAM" + ], + "type": "string" +} - changed
Input schema / properties / s / descriptionPrevious value: -"VIN, lot number or title search."New value: +"Search by VIN, lot number or vehicle title/model text." - added
Input schema / properties / sale_document_pendingAdded value: +{ + "description": "When true, restrict results to records with a pending sale document state when supported.", + "type": "boolean" +} - added
Input schema / properties / sale_document_typeAdded value: +{ + "description": "Sale/title document type filter; values are source-backed and can vary.", + "type": "string" +} - added
Input schema / properties / seller_typeAdded value: +{ + "description": "Normalized seller type: dealer, finance, insurance or non_insurance.", + "enum": [ + "dealer", + "finance", + "insurance", + "non_insurance" + ], + "type": "string" +} - added
Input schema / properties / today_only / descriptionAdded value: +"When true, restrict results to the endpoint current-day auction logic." - added
Input schema / properties / transmissionAdded value: +{ + "description": "Transmission filter for GET /vehicles.", + "enum": [ + "Manual", + "Unknown", + "Automatic" + ], + "type": "string" +} - added
Input schema / properties / typeAdded value: +{ + "description": "Vehicle type filter for GET /vehicles.", + "type": "string" +} - added
Input schema / properties / unitsAdded value: +{ + "description": "Distance and odometer unit system: mi or km.", + "enum": [ + "mi", + "km" + ], + "type": "string" +} - added
Input schema / properties / upcoming / descriptionAdded value: +"Upcoming selector: all=no upcoming restriction, only=upcoming eligible lots only, without=exclude upcoming lots." - added
Input schema / properties / updated_within_minutes / descriptionAdded value: +"Incremental-sync window. Return records whose updated_at changed within this many minutes; supported range is 1..525600. Use with cursor pagination and an overlap window." - added
Input schema / properties / year_from / descriptionAdded value: +"Year from filter for GET /vehicles." - added
Input schema / properties / year_to / descriptionAdded value: +"Year to filter for GET /vehicles." - added
Input schema / properties / zipAdded value: +{ + "description": "ZIP/postal code used with radius for supported proximity search.", + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "description": "Structured JSON returned by the canonical Apibara Vehicle Auction Data API. Source-dependent fields may be null or absent.", + "properties": { + "data": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + "meta": { + "additionalProperties": true, + "description": "Pagination metadata. Treat cursor values as opaque.", + "type": "object" + } + }, + "type": "object" +}
8 tool updates
- First observed
calculate_shipping - First observed
get_api_usage - First observed
get_related_vehicles - First observed
get_vehicle - First observed
get_vehicle_filters - First observed
get_vehicle_history - First observed
list_auction_locations - First observed
search_auction_vehicles
Related MCP Connectors
Read-only MCP access to a used-car dealer's inventory, profit, expenses, sales, debts and cash.
Search Copart, IAAI and ADESA vehicles, check your wallet, and prepare bids you confirm on Carena.
1Read-only MCP for Oria CRM: properties, contacts, deals, viewings, agents, auctions.
Read-only MCP for AI usage profiles, leaderboards, stats, and docs; no writes or private data.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables searching current used car, truck, and motorcycle parts in the US, resolving vehicles via VIN, and retrieving part listings with source attribution, through read-only MCP tools.Apache 2.0
- AlicenseAqualityBmaintenanceEnables MCP clients to search live Korean and Chinese used-car listings and retrieve vehicle details, inspection reports, and accident records through read-only tools.11243 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables users to perform official-source lookups for CRLV issuance and printing through a read-only MCP tool. Access is platform-hosted and paid per query using prepaid credits.MIT
- AlicenseNot gradedqualityCmaintenanceProvides read-only access to official Brazilian transit authority (SENATRAN) data for downloading traffic infraction records using a single MCP tool.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.