Skip to main content
Glama

Check Vehicle Recalls

check_recalls
Read-onlyIdempotent

List open safety recall campaigns for a vehicle by VIN, using the NHTSA Recalls database. Decodes the VIN internally to get make/model/year, then looks up campaigns for that vehicle configuration. Important: results are recall campaigns issued for the make/model/year configuration — this does NOT confirm whether this specific VIN's vehicle was actually repaired at a dealer. Always describe results as 'open recall campaigns for this vehicle,' never as whether the car 'is' or 'isn't' fixed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vinYesA 17-character US vehicle VIN (letters and digits, excluding I, O, and Q). The VIN is decoded internally to determine make/model/year for the recall lookup.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
vinYes
makeNo
noteNo
yearNo
modelNo
checkedYes
recallsNo
summaryYes
recallCountNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

The description adds significant behavioral context beyond annotations: it discloses that the VIN is decoded internally to determine make/model/year, and importantly clarifies that the results are configuration-based recall campaigns, not proof of repair for the specific VIN. This prevents a common misinterpretation and provides concrete guidance on how to describe results, going well beyond the readOnlyHint etc.

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 concise, front-loaded with the primary action, and every sentence earns its place. The important caveat about interpretation is valuable and not redundant. It is well-structured for an agent to quickly grasp the tool's purpose and limitations.

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

Completeness5/5

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

With a rich output schema and comprehensive annotations, the description fills the remaining gaps: the internal decoding step and the critical distinction between open recalls and repair status. This is complete for a tool with a single parameter and a well-defined output, leaving no ambiguity about how to use or interpret results.

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 schema already explains that the VIN is decoded internally. The description adds no additional meaning beyond restating the parameter's purpose—it simply mirrors the schema text. Thus it meets the baseline of 3 without exceeding it.

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 lists open safety recall campaigns for a vehicle by VIN using the NHTSA database. It specifies the verb 'List', the resource 'safety recall campaigns', and the input mechanism (VIN), effectively distinguishing it from the sibling tool decode_vin which focuses on decoding rather than recalls.

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?

The description gives clear context for use, noting the VIN is decoded internally and providing explicit guidance on how to phrase results ('open recall campaigns for this vehicle' rather than implying repair status). It doesn't explicitly name alternatives, but the sibling decode_vin is implicitly differentiated by the statement that decoding is internal, making the tool's unique usage context clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.5/5.0
Disambiguation5/5

Each tool has a distinct purpose: one decodes a VIN into vehicle details, the other checks recall campaigns. There is no ambiguity between them.

Naming Consistency5/5

Both tool names use a consistent verb_noun pattern in snake_case ('check_recalls', 'decode_vin'), making them predictable.

Tool Count5/5

Two tools are appropriate for the narrow domain of VIN decoding and recall lookup. No unnecessary tools exist.

Completeness4/5

The tools cover the primary use cases but lack a way to check if a recall was actually repaired on a specific VIN, which is a minor gap.