Skip to main content
Glama

WhichTrim vehicle records

Server Details

US vehicle recalls, complaints, EPA figures, VIN decode and trouble codes, with sources.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct operation: searching, fetching, comparing, decoding, recall checking, and trouble code lookup. The only slight overlap is check_recalls vs get_vehicle, since both surface recall data, but their purposes differ (recall-specific vs full record).

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: check_recalls, compare_vehicles, decode_vin, get_vehicle, lookup_trouble_code, search_vehicles. The verbs are clear and the pattern is uniform.

Tool Count5/5

Six tools is well-scoped for a vehicle records server. Each tool covers a distinct user need without redundancy or bloat.

Completeness4/5

The surface covers search, detail retrieval, comparison, VIN decoding, recall checks, and trouble code lookup. A minor gap is the lack of a direct VIN-based recall check tool (check_recalls explicitly says it cannot determine if a specific vehicle is affected), but decode_vin partially bridges this.

Available Tools

6 tools
check_recallsAInspect

Every NHTSA recall campaign on file for one model year, with severity, park-outside and do-not-drive advisories and the reported completion rate. IMPORTANT: recalls apply to a build range, not to a model year, so this cannot establish whether one specific vehicle is affected — only a VIN check at nhtsa.gov/recalls can.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVehicle id, e.g. 2021_kia_telluride.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does so well. It discloses what the tool returns (severity, advisories, completion rate) and highlights the critical behavioral limitation that model-year scope does not equal per-vehicle status. It could add minor details like empty-result behavior, but the essential traits are transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The first sentence front-loads the core purpose and return contents; the second adds the crucial caveat. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description supplies sufficient context: it enumerates the output fields and warns about the model-year limitation. It could elaborate on the exact response format, but for a one-parameter lookup this is a complete and usable definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage for the single id parameter with an example ('2021_kia_telluride'). The description implies that the id encodes a model year, but it adds no new parameter-level meaning beyond what the schema already states, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states an exact verb-resource relationship: it returns every NHTSA recall campaign for a model year, with specific data fields. It also distinguishes itself from VIN-level lookups by explicitly stating it cannot determine whether a specific vehicle is affected, which separates it from sibling tools like decode_vin.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-not-to-use guidance: because recalls apply to build ranges rather than model years, this tool cannot confirm a single vehicle's recall status. It names the alternative — a VIN check at nhtsa.gov/recalls — leaving no ambiguity about when a different approach is required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_vehiclesBInspect

Two model years side by side on the figures that decide most purchases: fuel economy or EV range, Safety Signal grade, recalls, complaints, crash rating and starting price where a press kit is on file.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesFirst vehicle id.
bYesSecond vehicle id.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of explaining behavior. It discloses the comparison scope and one conditional ('where a press kit is on file'), but it does not describe the output format, how missing data is handled, or what happens when one vehicle ID is invalid. This 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that packs substantive detail efficiently. The opening phrase 'Two model years side by side' is reasonably front-loaded, though the marketing phrasing 'the figures that decide most purchases' adds little functional value and could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a comparison tool with no output schema and no annotations, the description should explain the result shape or behavior more fully. It covers the evaluated dimensions well, but an agent is left without an explicit idea of what the returned comparison looks like or how edge cases (e.g., missing press kit, invalid ID) are presented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with clear descriptions for both parameters ('First vehicle id' and 'Second vehicle id'). The description adds the context that these are model years or vehicles being compared, but it provides no additional semantic detail beyond what the schema already states, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's function as presenting two vehicles side by side across key purchasing figures such as fuel economy, EV range, safety grade, recalls, complaints, crash rating, and starting price. The resource (vehicles/model years) is evident, and the listed dimensions distinguish it from sibling tools like get_vehicle or search_vehicles, though it never uses an explicit verb like 'compares'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied: an agent would use this when needing a side-by-side comparison of two vehicles. However, the description does not explicitly state when to choose this over alternatives such as get_vehicle for a single vehicle, and it offers no exclusions or conditions beyond the press-kit caveat for starting price.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

decode_vinAInspect

Decode a 17-character VIN against NHTSA's vPIC database and join it to the WhichTrim record for that model year: year, make, model, engine, plant, plus the grade and recall campaigns on file.

ParametersJSON Schema
NameRequiredDescriptionDefault
vinYesA 17-character VIN.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does describe the operation and the returned fields, which is transparent about the result. However, it does not mention potential failure modes (e.g., invalid VIN, VIN not found), latency, or that it performs an external network call to NHTSA. It's not misleading, but it omits these operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action (decode a VIN) and efficiently lists the return fields. There is no fluff or redundancy; every clause adds information. It's concise while covering the core purpose and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is no output schema, the description compensates by listing the returned fields (year, make, model, engine, plant, grade, recall campaigns). It also explains the join to the WhichTrim record, which is useful context. However, it doesn't mention error handling, empty results, or the meaning of 'grade', so it's not fully complete, but for a one-parameter tool it's reasonably thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already defines 'vin' as a 17-character VIN. The description adds no additional meaning beyond repeating that the VIN is 17 characters, which is already in the schema. It doesn't provide examples, constraints, or clarify the expected format beyond what the schema states, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action (decode a 17-character VIN against NHTSA's vPIC database) and a distinct outcome (join to WhichTrim record and return year, make, model, engine, plant, grade, and recall campaigns). It clearly differentiates from siblings like check_recalls or get_vehicle by combining decode with recall data, so an agent can tell what this tool does without reading its schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states what the tool does but gives no guidance on when to use it over alternatives. It doesn't mention exclusions (e.g., 'for recall-only lookups use check_recalls') or prerequisites (e.g., valid VIN format, network access). With siblings like search_vehicles and get_vehicle, an agent has no explicit cue to pick this tool except the inferred need for a VIN decode.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_vehicleAInspect

The full published record for one model year: EPA fuel economy, NHTSA recalls, owner-complaint counts and the mileage at which owners reported problems, crash ratings, open investigations, service bulletins and the diagnostic trouble codes its record names.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVehicle id, e.g. 2021_kia_telluride. Get one from search_vehicles.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It communicates that the tool returns a comprehensive published record and details its contents, but it does not disclose error behavior, availability caveats, or whether any fields may be omitted. This is adequate for a simple read-only retrieval but not richly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single well-structured sentence that front-loads the core purpose ('full published record for one model year') before enumerating contents. It contains no filler, though the list is somewhat dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter interface and no output schema, the description is a strong substitute for documenting return contents by explicitly listing the major record categories. It is largely complete for selecting and invoking the tool, though it omits mention of behavior when a vehicle id is invalid or unknown.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single id parameter already includes an example and source instruction ('Get one from search_vehicles'), so the baseline is 3. The tool description itself adds no additional parameter-specific meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the full published record for one model year and enumerates its contents: EPA fuel economy, NHTSA recalls, owner-complaint counts, crash ratings, investigations, service bulletins, and diagnostic trouble codes. This specific resource scope distinguishes it from sibling tools like check_recalls or search_vehicles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a complete vehicle record is needed and the schema instructs to obtain an id from search_vehicles, which is helpful context. However, it provides no explicit when-not-to-use guidance or references to more specialized siblings like lookup_trouble_code or check_recalls.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_trouble_codeAInspect

What a diagnostic trouble code (P0420, U0100, …) means where the OBD-II standard defines it, and — the part no other source publishes — which vehicles' federal record actually names it: how many manufacturer service bulletins and owner complaints mention it, and on which model years.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesA trouble code, e.g. P0420.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral transparency burden. It discloses that the tool provides both standard OBD-II meanings and federal record counts (how many bulletins/complaints). It does not mention any limitations or behavior on invalid codes, but for a lookup tool with a single string input, this is acceptable. The description provides some behavioral context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a single sentence that packs key information. It front-loads the core definition and then adds the unique value proposition. It avoids redundancy and is easy to scan, though the sentence is a bit long with a parenthetical and em-dash, which slightly reduces readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (1 parameter, no output schema), the description is quite complete. It tells the agent what the tool returns (meaning and federal record counts) and provides example codes. It does not describe the output format, but the absence of an output schema and the simplicity of a lookup tool make this acceptable. The description covers the essential context an agent needs to decide if this tool fits the user's query.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 100% for the sole parameter 'code', and the description provides an example format ('P0420') and clarifies it expects a trouble code. The description adds marginal value by naming specific examples and implying the format, but the schema already describes it as a trouble code. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: it defines OBD-II trouble codes and provides unique federal record data (service bulletins and complaints) with specific examples (P0420, U0100). It distinguishes itself from sibling tools by emphasizing the unique data source, making it clear this is not a generic code decoder.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for looking up trouble codes, but it does not explicitly state when to use it versus siblings. However, the unique offering (federal record data) implies a specific use case, and a clear contrast with siblings is not needed since the siblings are unrelated (e.g., VIN decoding, recalls). Still, no explicit guidance on when not to use it is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_vehiclesAInspect

Find model years in the WhichTrim catalogue by make, model and/or year. Returns each match with its Safety Signal grade, recall count and page URL. Use this first to get the vehicle id that the other tools take.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoRestrict to one model year.
limitNoMaximum results (default 10, max 40).
queryYesMake and/or model, e.g. 'kia telluride' or 'rav4'.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden and does disclose the meaningful return contents (Safety Signal grade, recall count, page URL) and the role of vehicle IDs. It does not mention ordering, pagination, empty-result behavior, or explicitly state that this is a read-only operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with the purpose front-loaded, the return contents stated, and the workflow role in the final clause. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no output schema, the description provides return fields and the relationship to other tools, which is enough to invoke it correctly. Minor ambiguity: the vehicle id is implied by 'get the vehicle id' but not listed among the returned match fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 query, year, and limit. The description mostly restates the make/model/year filtering and adds no extra syntax or constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Find model years') on a specific resource ('WhichTrim catalogue') with clear filter dimensions. It also signals this is the entry point for the sibling tools, distinguishing it from get_vehicle and the others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this first to get the vehicle id that the other tools take' explicitly tells the agent when to call this tool in the workflow. It does not enumerate the when-not cases or name specific sibling alternatives, but the placement before the other tools is clear.

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. 6 tool updates
    • First observedcheck_recalls
    • First observedcompare_vehicles
    • First observeddecode_vin
    • First observedget_vehicle
    • First observedlookup_trouble_code
    • First observedsearch_vehicles

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying U.S. vehicle safety and specification data, including VIN decoding, recalls, complaints, investigations, and crash test ratings.
    4 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
    5 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Decode 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.
    12
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources