AUTO411 Vehicle Intelligence
Server Details
Identity-first automotive intelligence for vehicle resolution, specs, safety and efficiency.
- Status
- Healthy
- Uptime
- 100.0% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool maps to a distinct data domain: identity resolution, engine/powertrain specs, EPA efficiency, wheel/tire fitment, and NHTSA safety. The descriptions explicitly delineate boundaries, and resolve_vehicle is clearly positioned as the prerequisite identity step, leaving no realistic misselection risk.
All names are snake_case with a verb_noun structure, and four of five share the get_vehicle_* prefix forming a clean, predictable family. resolve_vehicle deviates only in verb, which correctly signals its different role as the identity gate.
Five tools is tightly scoped for a vehicle-intelligence server, with one identity resolver plus four orthogonal fact lookups. Nothing is redundant and no obvious capability is missing from the count.
The surface covers the core lifecycle well: identity resolution feeds specs, efficiency, fitment, and safety, each returning grounded facts. Gaps exist for adjacent domains such as maintenance/service schedules, pricing or market value, and trim/option catalogs, but agents can work around these for most tasks.
Available Tools
5 toolsget_vehicle_efficiencyGet Vehicle EfficiencyARead-onlyInspect
Use this for available EPA city, highway, and combined MPG, MPGe, range, fuel-cost, emissions, and related efficiency facts after vehicle identity resolves safely. Ambiguous EPA variants remain NEEDS_IDENTITY.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model. | |
| make | No | Vehicle make. Required with year and model when VIN is not provided. | |
| trim | No | Optional identity refinement. Use only an explicitly known trim. | |
| year | No | Model year. Required with make and model when VIN is not provided. | |
| model | No | Customer-facing model family. Required with year and make when VIN is not provided. | |
| engine | No | Optional identity refinement. Use only an explicitly known engine. | |
| drivetrain | No | Optional identity refinement. Use only an explicitly known drivetrain. | |
| configuration_id | No | AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| choices | No | |
| conflicts | No | |
| candidates | No | |
| efficiency | No | |
| fact_scope | No | |
| choice_count | No | |
| completeness | No | |
| missing_fields | No | |
| evidence_status | No | |
| configuration_id | No | |
| agent_instruction | Yes | |
| canonical_vehicle | No | |
| resolution_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds the identity-resolution precondition and the NEEDS_IDENTITY disambiguation outcome, which is genuine behavioral context, but it says nothing about return format, coverage gaps, or rate/availability behavior.
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, front-loaded with the 'Use this for...' trigger, and no filler. The second sentence is terse and slightly cryptic ('remain NEEDS_IDENTITY') but carries actionable information rather than padding.
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?
With an output schema present, the description need not explain return values, and the 100%-covered schema handles parameters. What remains is the identity precondition and the NEEDS_IDENTITY behavior, both of which the description supplies, making it essentially complete for an 8-param, 0-required read tool.
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 the schema already fully documents all 8 identity parameters (VIN path vs year/make/model, optional trim/engine/drivetrain, configuration_id). The description adds no parameter-level syntax or format detail beyond the identity-resolution framing, so the 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?
The description names a specific resource domain (EPA city/highway/combined MPG, MPGe, range, fuel-cost, emissions) which clearly separates it from get_vehicle_safety, get_vehicle_fitment, and get_vehicle_specs. It states what the tool returns rather than restating the name. It stops short of explicitly naming a sibling as the alternative, so it lands at a solid 4 rather than 5.
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?
'after vehicle identity resolves safely' gives a real precondition for invoking the tool, and 'Ambiguous EPA variants remain NEEDS_IDENTITY' tells the agent what to expect when resolution fails. It does not explicitly route to resolve_vehicle as the prerequisite or state when-not-to-use cases, so it is clear context without full alternatives coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicle_fitmentGet Wheel and Tire FitmentARead-onlyInspect
Use this for wheel and tire fitment after identifying a vehicle by VIN or year, make, and model. Returns available OEM tire sizes, bolt pattern / PCD, center bore, wheel offset, and thread / lug size without guessing through ambiguous configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model. | |
| make | No | Vehicle make. Required with year and model when VIN is not provided. | |
| trim | No | Optional identity refinement. Use only an explicitly known trim. | |
| year | No | Model year. Required with make and model when VIN is not provided. | |
| model | No | Customer-facing model family. Required with year and make when VIN is not provided. | |
| engine | No | Optional identity refinement. Use only an explicitly known engine. | |
| drivetrain | No | Optional identity refinement. Use only an explicitly known drivetrain. | |
| configuration_id | No | AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| choices | No | |
| fitment | No | |
| conflicts | No | |
| fact_scope | No | |
| choice_count | No | |
| completeness | No | |
| missing_fields | No | |
| evidence_status | No | |
| policy_withheld | No | |
| configuration_id | No | |
| agent_instruction | Yes | |
| canonical_vehicle | No | |
| resolution_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful context by listing the returned attributes and framing the tool as resolving 'ambiguous configurations' without guessing. It says nothing about auth requirements, rate limits, or error/lookup-failure behavior beyond what the schema and annotations imply.
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 tight sentences with no filler: the first leads with purpose and prerequisite, the second with the concrete return payload. Every clause 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?
With annotations, a 100%-documented schema, and an output schema present, the description covers the identity prerequisite and the returned fitment data well. It omits mention of the configuration_id continuation path from a prior NEEDS_IDENTITY response, though the schema documents that parameter, leaving a minor gap.
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 each parameter is fully documented in the schema itself. The description restates the two identity paths (VIN or year/make/model) but adds no syntax or format detail beyond that. Baseline 3 is appropriate when the schema carries the parameter burden.
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 and resource ('wheel and tire fitment') and enumerates the returned data (OEM tire sizes, bolt pattern/PCD, center bore, offset, lug size), which clearly separates it from siblings like get_vehicle_specs or get_vehicle_efficiency. It does not explicitly name the sibling tools, so differentiation is implied by domain rather than stated.
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 usage condition and a prerequisite: use it for fitment 'after identifying a vehicle by VIN or year, make, and model.' This routes the agent to resolve the vehicle first. However, it names no explicit alternatives or exclusions for when fitment is the wrong choice versus specs or safety.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicle_safetyGet Vehicle Safety InformationARead-onlyInspect
Use this for available NHTSA-backed recalls, complaints, investigations, manufacturer communications, and safety ratings. Safety facts remain explicitly YMM-scoped and never establish configuration identity.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model. | |
| make | No | Vehicle make. Required with year and model when VIN is not provided. | |
| trim | No | Optional identity refinement. Use only an explicitly known trim. | |
| year | No | Model year. Required with make and model when VIN is not provided. | |
| limit | No | Maximum records per safety category | |
| model | No | Customer-facing model family. Required with year and make when VIN is not provided. | |
| engine | No | Optional identity refinement. Use only an explicitly known engine. | |
| drivetrain | No | Optional identity refinement. Use only an explicitly known drivetrain. | |
| configuration_id | No | AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| safety | No | |
| choices | No | |
| conflicts | No | |
| fact_scope | No | |
| choice_count | No | |
| completeness | No | |
| source_errors | No | |
| missing_fields | No | |
| evidence_status | No | |
| configuration_id | No | |
| agent_instruction | Yes | |
| canonical_vehicle | No | |
| resolution_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds a genuine behavioral caveat — that safety facts are YMM-scoped and 'never establish configuration identity' — which usefully tells the agent not to treat results as identity resolution. It does not, however, cover return granularity or the external-source semantics implied by 'NHTSA-backed'.
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, with the capability list front-loaded ahead of the scoping caveat. The second sentence is dense but carries distinct meaning, so little is wasted.
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?
With a full output schema, 100% parameter coverage, and read-only annotations, the description only needs to frame the data family and the YMM-scoping constraint — which it does. The one gap is a lack of explicit routing versus sibling tools such as resolve_vehicle, but the core call context is complete.
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 the schema fully documents the VIN-vs-YMM identity paths, optional refinements (trim, engine, drivetrain), configuration_id, and limit. The description adds no parameter-level syntax or defaults, so the 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?
The description names a specific resource set (NHTSA recalls, complaints, investigations, manufacturer communications, safety ratings), which clearly distinguishes it topically from siblings like get_vehicle_efficiency, get_vehicle_fitment, and get_vehicle_specs. The verb 'Use this for' is a usage cue rather than a crisp action verb, but the data categories are concrete enough that an agent knows what it retrieves.
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 opening 'Use this for available NHTSA-backed...' signals when to select the tool, and its topic contrast against the other get_vehicle_* siblings is implied. However, it never names an alternative explicitly, gives no precedence rule against resolve_vehicle, and states no exclusions, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicle_specsGet Vehicle SpecificationsARead-onlyInspect
Use this when engine and powertrain specifications are needed for a vehicle identified by VIN or year, make, and model. Returns normalized supported facts such as engine, displacement, cylinders, horsepower, transmission, drivetrain, and fuel type only after identity resolves safely.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model. | |
| make | No | Vehicle make. Required with year and model when VIN is not provided. | |
| trim | No | Optional identity refinement. Use only an explicitly known trim. | |
| year | No | Model year. Required with make and model when VIN is not provided. | |
| model | No | Customer-facing model family. Required with year and make when VIN is not provided. | |
| engine | No | Optional identity refinement. Use only an explicitly known engine. | |
| drivetrain | No | Optional identity refinement. Use only an explicitly known drivetrain. | |
| configuration_id | No | AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| choices | No | |
| conflicts | No | |
| fact_scope | No | |
| choice_count | No | |
| completeness | No | |
| missing_fields | No | |
| specifications | No | |
| evidence_status | No | |
| policy_withheld | No | |
| configuration_id | No | |
| agent_instruction | Yes | |
| canonical_vehicle | No | |
| resolution_status | Yes | |
| specification_availability | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, destructive=false, and closed-world, so the safety profile is covered. The description does add a genuinely useful behavioral fact: results come back normalized and only 'after identity resolves safely,' which warns the agent an identity-resolution step may precede data. It doesn't characterize what happens on failure or how the NEEDS_IDENTITY path behaves.
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 tight sentences, front-loaded with the usage trigger, then the return contract. No redundant restatement of the tool name and no filler.
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?
With an output schema present, the return fields needn't be explained in prose, and annotations cover the safety profile, so the definition is nearly complete. The one gap is the identity-resolution/NEEDS_IDENTITY pathway: configuration_id references a prior response the description only alludes to vaguely.
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 the schema already documents every parameter including the VIN-vs-year/make/model alternative and the refinement fields. The description restates the dual identity paths without adding format, precedence, or conflict-resolution detail beyond what the schema says.
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 and resource: retrieving engine and powertrain specifications for a vehicle. The topical scoping ('engine and powertrain') implicitly separates it from siblings like get_vehicle_efficiency and get_vehicle_safety, but no sibling is ever named, and its relationship to resolve_vehicle is only hinted at via the identity-resolution clause.
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 triggering condition ('Use this when engine and powertrain specifications are needed') and enumerates the two accepted identity paths (VIN alone, or year/make/model). It stops short of explicit exclusions or naming which sibling to use instead when identity is unknown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_vehicleResolve Vehicle IdentityARead-onlyInspect
Use this when identifying a vehicle from a full VIN or from year, make, and model with optional configuration refinements. Returns MATCHED_SINGLE, NEEDS_IDENTITY, or NO_MATCH and never silently chooses among legitimate configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model. | |
| make | No | Vehicle make. Required with year and model when VIN is not provided. | |
| trim | No | Optional identity refinement. Use only an explicitly known trim. | |
| year | No | Model year. Required with make and model when VIN is not provided. | |
| model | No | Customer-facing model family. Required with year and make when VIN is not provided. | |
| engine | No | Optional identity refinement. Use only an explicitly known engine. | |
| drivetrain | No | Optional identity refinement. Use only an explicitly known drivetrain. | |
| configuration_id | No | AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| choices | No | |
| conflicts | No | |
| fact_scope | No | |
| choice_count | No | |
| completeness | No | |
| missing_fields | No | |
| evidence_status | No | |
| configuration_id | No | |
| agent_instruction | Yes | |
| canonical_vehicle | No | |
| resolution_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower; the description adds genuinely new behavior: the three outcome codes (MATCHED_SINGLE, NEEDS_IDENTITY, NO_MATCH) and the guarantee that it 'never silently chooses among legitimate configurations.' That disambiguation contract is exactly the kind of context annotations cannot convey.
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, front-loaded with the usage trigger and followed by the outcome contract. No filler, no restatement of the title, and nothing an agent must skip over before acting.
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, so return shapes need not be spelled out, yet the description still surfaces the three outcome states, which is the key decision input for the agent. Combined with 100% schema coverage and explicit conditional requirements on the parameters, only the multi-step NEEDS_IDENTITY resolution loop is left implicit.
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 each parameter already documents its role and the VIN-vs-YMM conditional requirement, so the schema does the heavy lifting. The description adds no syntax, formatting, or refinement guidance (e.g. how trim/engine strings are matched) beyond what the schema already says.
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+resource ('identifying a vehicle') and enumerates the two identity paths (full VIN, or year/make/model with refinements). That is clearly distinct from the sibling retrieval tools (specs, safety, efficiency, fitment), but the description never names or contrasts a sibling explicitly, so it lands at 4 rather than 5.
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?
'Use this when identifying a vehicle...' gives a clear triggering condition and the acceptable input shapes. It also implies the follow-up flow via configuration_id ('returned by a prior NEEDS_IDENTITY response'), but it stops short of stating when NOT to use this tool or which sibling to pick instead for lookups like specs or fitment.
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
get_vehicle_specs1 field changed- added
Output schema / properties / specification_availabilityAdded value: +{ + "additionalProperties": { + "additionalProperties": false, + "properties": { + "label": { + "type": "string" + }, + "status": { + "enum": [ + "AVAILABLE", + "NOT_YET_VERIFIED", + "NEEDS_IDENTITY", + "CONFLICT" + ], + "type": "string" + } + }, + "required": [ + "status", + "label" + ], + "type": "object" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" +}
5 tool updates
- Changed
get_vehicle_efficiency9 fields changed- added
Input schema / properties / configuration_id / descriptionAdded value: +"AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response." - added
Input schema / properties / drivetrain / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known drivetrain." - added
Input schema / properties / engine / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known engine." - added
Input schema / properties / make / descriptionAdded value: +"Vehicle make. Required with year and model when VIN is not provided." - added
Input schema / properties / model / descriptionAdded value: +"Customer-facing model family. Required with year and make when VIN is not provided." - added
Input schema / properties / trim / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known trim." - changed
Input schema / properties / vin / descriptionPrevious value: -"17-character VIN"New value: +"Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model." - added
Input schema / properties / year / descriptionAdded value: +"Model year. Required with make and model when VIN is not provided." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "agent_instruction": { + "type": "string" + }, + "candidates": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "canonical_vehicle": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "make": { + "type": "string" + }, + "model": { + "type": "string" + }, + "trim": { + "type": [ + "string", + "null" + ] + }, + "year": { + "type": [ + "number", + "string" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "choice_count": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "choices": { + "items": { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "evidence_status": { + "type": "string" + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "trim": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "configuration_id" + ], + "type": "object" + }, + "type": "array" + }, + "completeness": { + "type": "string" + }, + "configuration_id": { + "type": [ + "number", + "null" + ] + }, + "conflicts": { + "items": {}, + "type": "array" + }, + "efficiency": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "annual_fuel_cost": { + "type": "number" + }, + "city_mpg": { + "type": "number" + }, + "city_mpge": { + "type": "number" + }, + "co2_grams_per_mile": { + "type": "number" + }, + "combined_mpg": { + "type": "number" + }, + "combined_mpge": { + "type": "number" + }, + "electric_range_miles": { + "type": "number" + }, + "fuel_type": { + "type": "string" + }, + "highway_mpg": { + "type": "number" + }, + "highway_mpge": { + "type": "number" + }, + "phev_blended_range_miles": { + "type": "number" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "error": { + "additionalProperties": {}, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "retryable": { + "type": "boolean" + } + }, + "required": [ + "code" + ], + "type": "object" + }, + "evidence_status": { + "type": "string" + }, + "fact_scope": { + "type": "string" + }, + "missing_fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resolution_status": { + "enum": [ + "INVALID_INPUT", + "MATCHED_SINGLE", + "NEEDS_IDENTITY", + "NO_MATCH", + "UNAVAILABLE", + "SOURCE_UNAVAILABLE" + ], + "type": "string" + } + }, + "required": [ + "resolution_status", + "agent_instruction" + ], + "type": "object" +}
- Changed
get_vehicle_fitment9 fields changed- added
Input schema / properties / configuration_id / descriptionAdded value: +"AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response." - added
Input schema / properties / drivetrain / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known drivetrain." - added
Input schema / properties / engine / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known engine." - added
Input schema / properties / make / descriptionAdded value: +"Vehicle make. Required with year and model when VIN is not provided." - added
Input schema / properties / model / descriptionAdded value: +"Customer-facing model family. Required with year and make when VIN is not provided." - added
Input schema / properties / trim / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known trim." - changed
Input schema / properties / vin / descriptionPrevious value: -"17-character VIN"New value: +"Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model." - added
Input schema / properties / year / descriptionAdded value: +"Model year. Required with make and model when VIN is not provided." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "agent_instruction": { + "type": "string" + }, + "canonical_vehicle": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "make": { + "type": "string" + }, + "model": { + "type": "string" + }, + "trim": { + "type": [ + "string", + "null" + ] + }, + "year": { + "type": [ + "number", + "string" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "choice_count": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "choices": { + "items": { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "evidence_status": { + "type": "string" + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "trim": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "configuration_id" + ], + "type": "object" + }, + "type": "array" + }, + "completeness": { + "type": "string" + }, + "configuration_id": { + "type": [ + "number", + "null" + ] + }, + "conflicts": { + "items": {}, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "retryable": { + "type": "boolean" + } + }, + "required": [ + "code" + ], + "type": "object" + }, + "evidence_status": { + "type": "string" + }, + "fact_scope": { + "type": "string" + }, + "fitment": { + "additionalProperties": {}, + "properties": { + "bolt_pattern": { + "additionalProperties": {}, + "properties": { + "evidence": { + "additionalProperties": {}, + "properties": { + "evidence_status": { + "type": "string" + }, + "fact_scope": { + "type": "string" + } + }, + "type": "object" + }, + "facts": { + "additionalProperties": {}, + "properties": { + "bolt_pattern": { + "description": "Normalized wheel bolt pattern / PCD.", + "type": "string" + }, + "center_bore": { + "description": "Center bore when individually unambiguous.", + "type": "string" + }, + "offset": { + "description": "Wheel offset or range when individually unambiguous.", + "type": "string" + }, + "thread_size": { + "description": "Thread or lug size when individually unambiguous.", + "type": "string" + } + }, + "type": "object" + }, + "status": { + "type": "string" + }, + "values": { + "items": {}, + "type": "array" + } + }, + "type": "object" + }, + "tires": { + "additionalProperties": {}, + "properties": { + "evidence": { + "additionalProperties": {}, + "properties": { + "evidence_status": { + "type": "string" + }, + "fact_scope": { + "type": "string" + } + }, + "type": "object" + }, + "facts": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "status": { + "type": "string" + }, + "values": { + "description": "Available normalized OEM tire-size values.", + "items": {}, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "missing_fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "policy_withheld": { + "items": { + "additionalProperties": {}, + "properties": { + "category": { + "type": "string" + }, + "policy_state": { + "type": "string" + } + }, + "required": [ + "category", + "policy_state" + ], + "type": "object" + }, + "type": "array" + }, + "resolution_status": { + "enum": [ + "INVALID_INPUT", + "MATCHED_SINGLE", + "NEEDS_IDENTITY", + "NO_MATCH", + "UNAVAILABLE", + "SOURCE_UNAVAILABLE" + ], + "type": "string" + } + }, + "required": [ + "resolution_status", + "agent_instruction" + ], + "type": "object" +}
- Changed
get_vehicle_safety9 fields changed- added
Input schema / properties / configuration_id / descriptionAdded value: +"AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response." - added
Input schema / properties / drivetrain / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known drivetrain." - added
Input schema / properties / engine / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known engine." - added
Input schema / properties / make / descriptionAdded value: +"Vehicle make. Required with year and model when VIN is not provided." - added
Input schema / properties / model / descriptionAdded value: +"Customer-facing model family. Required with year and make when VIN is not provided." - added
Input schema / properties / trim / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known trim." - changed
Input schema / properties / vin / descriptionPrevious value: -"17-character VIN"New value: +"Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model." - added
Input schema / properties / year / descriptionAdded value: +"Model year. Required with make and model when VIN is not provided." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "agent_instruction": { + "type": "string" + }, + "canonical_vehicle": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "make": { + "type": "string" + }, + "model": { + "type": "string" + }, + "trim": { + "type": [ + "string", + "null" + ] + }, + "year": { + "type": [ + "number", + "string" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "choice_count": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "choices": { + "items": { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "evidence_status": { + "type": "string" + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "trim": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "configuration_id" + ], + "type": "object" + }, + "type": "array" + }, + "completeness": { + "type": "string" + }, + "configuration_id": { + "type": [ + "number", + "null" + ] + }, + "conflicts": { + "items": {}, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "retryable": { + "type": "boolean" + } + }, + "required": [ + "code" + ], + "type": "object" + }, + "evidence_status": { + "type": "string" + }, + "fact_scope": { + "type": "string" + }, + "missing_fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resolution_status": { + "enum": [ + "INVALID_INPUT", + "MATCHED_SINGLE", + "NEEDS_IDENTITY", + "NO_MATCH", + "UNAVAILABLE", + "SOURCE_UNAVAILABLE" + ], + "type": "string" + }, + "safety": { + "additionalProperties": {}, + "properties": { + "communications": { + "additionalProperties": {}, + "properties": { + "completeness": { + "type": "string" + }, + "count": { + "type": "number" + }, + "freshness": {}, + "records": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "scope": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "type": "object" + }, + "complaints": { + "additionalProperties": {}, + "properties": { + "completeness": { + "type": "string" + }, + "count": { + "type": "number" + }, + "freshness": {}, + "records": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "scope": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "type": "object" + }, + "investigations": { + "additionalProperties": {}, + "properties": { + "completeness": { + "type": "string" + }, + "count": { + "type": "number" + }, + "freshness": {}, + "records": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "scope": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "type": "object" + }, + "recalls": { + "additionalProperties": {}, + "properties": { + "completeness": { + "type": "string" + }, + "count": { + "type": "number" + }, + "freshness": {}, + "records": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "scope": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "type": "object" + }, + "safety_ratings": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, + "source_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "source": { + "type": "string" + } + }, + "required": [ + "source", + "code" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "resolution_status", + "agent_instruction" + ], + "type": "object" +}
- Changed
get_vehicle_specs9 fields changed- added
Input schema / properties / configuration_id / descriptionAdded value: +"AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response." - added
Input schema / properties / drivetrain / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known drivetrain." - added
Input schema / properties / engine / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known engine." - added
Input schema / properties / make / descriptionAdded value: +"Vehicle make. Required with year and model when VIN is not provided." - added
Input schema / properties / model / descriptionAdded value: +"Customer-facing model family. Required with year and make when VIN is not provided." - added
Input schema / properties / trim / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known trim." - changed
Input schema / properties / vin / descriptionPrevious value: -"17-character VIN"New value: +"Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model." - added
Input schema / properties / year / descriptionAdded value: +"Model year. Required with make and model when VIN is not provided." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "agent_instruction": { + "type": "string" + }, + "canonical_vehicle": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "make": { + "type": "string" + }, + "model": { + "type": "string" + }, + "trim": { + "type": [ + "string", + "null" + ] + }, + "year": { + "type": [ + "number", + "string" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "choice_count": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "choices": { + "items": { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "evidence_status": { + "type": "string" + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "trim": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "configuration_id" + ], + "type": "object" + }, + "type": "array" + }, + "completeness": { + "type": "string" + }, + "configuration_id": { + "type": [ + "number", + "null" + ] + }, + "conflicts": { + "items": {}, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "retryable": { + "type": "boolean" + } + }, + "required": [ + "code" + ], + "type": "object" + }, + "evidence_status": { + "type": "string" + }, + "fact_scope": { + "type": "string" + }, + "missing_fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "policy_withheld": { + "items": { + "additionalProperties": {}, + "properties": { + "category": { + "type": "string" + }, + "policy_state": { + "type": "string" + } + }, + "required": [ + "category", + "policy_state" + ], + "type": "object" + }, + "type": "array" + }, + "resolution_status": { + "enum": [ + "INVALID_INPUT", + "MATCHED_SINGLE", + "NEEDS_IDENTITY", + "NO_MATCH", + "UNAVAILABLE", + "SOURCE_UNAVAILABLE" + ], + "type": "string" + }, + "specifications": { + "additionalProperties": { + "additionalProperties": {}, + "properties": { + "evidence": { + "additionalProperties": {}, + "properties": { + "evidence_status": { + "type": "string" + }, + "fact_scope": { + "type": "string" + } + }, + "type": "object" + }, + "facts": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "status": { + "type": "string" + }, + "values": { + "items": {}, + "type": "array" + } + }, + "type": "object" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "resolution_status", + "agent_instruction" + ], + "type": "object" +}
- Changed
resolve_vehicle9 fields changed- added
Input schema / properties / configuration_id / descriptionAdded value: +"AUTO411 configuration identifier returned by a prior NEEDS_IDENTITY response." - added
Input schema / properties / drivetrain / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known drivetrain." - added
Input schema / properties / engine / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known engine." - added
Input schema / properties / make / descriptionAdded value: +"Vehicle make. Required with year and model when VIN is not provided." - added
Input schema / properties / model / descriptionAdded value: +"Customer-facing model family. Required with year and make when VIN is not provided." - added
Input schema / properties / trim / descriptionAdded value: +"Optional identity refinement. Use only an explicitly known trim." - changed
Input schema / properties / vin / descriptionPrevious value: -"17-character VIN"New value: +"Full 17-character VIN. Use VIN by itself as the identity path, or omit it and provide year, make, and model." - added
Input schema / properties / year / descriptionAdded value: +"Model year. Required with make and model when VIN is not provided." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "agent_instruction": { + "type": "string" + }, + "canonical_vehicle": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "make": { + "type": "string" + }, + "model": { + "type": "string" + }, + "trim": { + "type": [ + "string", + "null" + ] + }, + "year": { + "type": [ + "number", + "string" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "choice_count": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "choices": { + "items": { + "additionalProperties": {}, + "properties": { + "configuration_id": { + "type": "number" + }, + "drivetrain": { + "type": [ + "string", + "null" + ] + }, + "engine": { + "type": [ + "string", + "null" + ] + }, + "evidence_status": { + "type": "string" + }, + "generation": { + "type": [ + "string", + "null" + ] + }, + "identity": { + "additionalProperties": { + "type": [ + "string", + "number", + "boolean", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "trim": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "configuration_id" + ], + "type": "object" + }, + "type": "array" + }, + "completeness": { + "type": "string" + }, + "configuration_id": { + "type": [ + "number", + "null" + ] + }, + "conflicts": { + "items": {}, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "retryable": { + "type": "boolean" + } + }, + "required": [ + "code" + ], + "type": "object" + }, + "evidence_status": { + "type": "string" + }, + "fact_scope": { + "type": "string" + }, + "missing_fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resolution_status": { + "enum": [ + "INVALID_INPUT", + "MATCHED_SINGLE", + "NEEDS_IDENTITY", + "NO_MATCH", + "UNAVAILABLE", + "SOURCE_UNAVAILABLE" + ], + "type": "string" + } + }, + "required": [ + "resolution_status", + "agent_instruction" + ], + "type": "object" +}
5 tool updates
- First observed
get_vehicle_efficiency - First observed
get_vehicle_fitment - First observed
get_vehicle_safety - First observed
get_vehicle_specs - First observed
resolve_vehicle
Publisher details
- Operator
- AUTO411 / 411specs.com · Publisher source
- Operator website
- https://411specs.com · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- Not available
- Trust center
- Not available
- Restrictions
- Requires an AUTO411 MCP credential for tool calls. Public tool discovery is available without authentication. AUTO411 MCP is $39/month.
Related MCP Connectors
Vehicle data for AI: VIN decoder, automotive specs, stolen checks, valuation and way more.
VIN decoding and European vehicle data for automotive workflows.
Free US VIN decoding and research; VIN-optional market appraisals via a separate pilot endpoint.
VIN recall API + MCP: VIN decode + every NHTSA recall, Do Not Drive first. $19/mo; 50 free/day.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables access to comprehensive vehicle information including VIN decoding, license plate OCR, vehicle history checks (theft, title, salvage records), market valuations, specifications, and warranty data for vehicles across North America and Europe.611MIT
- AlicenseAqualityBmaintenanceDecode VINs, look up specs, history, recalls, market value, and OBD codes. Recognize license plates and VINs from images. Access comprehensive vehicle data by year, make, and model to power automotive workflows.121MIT

Vincario MCP Serverofficial
FlicenseNot gradedqualityDmaintenanceEnables AI assistants to decode VINs, check stolen vehicle databases, and retrieve market valuations through natural language.2-- AlicenseNot gradedqualityBmaintenanceProvides comprehensive vehicle reports by aggregating data from multiple public sources to decode VINs, check recalls, and view safety ratings. It enables users to validate VINs locally and retrieve technical specifications, fuel economy, and vehicle photos without requiring API keys.8 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.