vin-recall-mcp
Server Details
Decodes US VINs and looks up open NHTSA safety recall campaigns for a vehicle.
- Status
- Healthy
- Uptime
- 99.8% over 40 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- pratikmehkarkar/vin-recall-mcp
- GitHub Stars
- 0
- Server Listing
- vin-recall-mcp
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one decodes VINs into vehicle specifications, the other lists recall campaigns. Although check_recalls internally decodes, the outputs and user intents are completely different.
Both tool names follow the same verb_noun snake_case pattern (decode_vin, check_recalls), making the set predictable and easy to navigate.
Two tools is on the thin side for a general-purpose MCP server, but for a narrowly focused VIN recall tool the count is understandable. Still, it feels minimal and leaves little room for expanding workflows.
The server covers the core VIN decoding and recall lookup lifecycle. Minor gaps exist, such as fetching detailed recall campaign information or checking repair history, but the primary use case is well served.
Available Tools
2 toolscheck_recallsCheck Vehicle RecallsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | Yes | A 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
| Name | Required | Description |
|---|---|---|
| vin | Yes | |
| make | No | |
| note | No | |
| year | No | |
| model | No | |
| checked | Yes | |
| recalls | No | |
| summary | Yes | |
| recallCount | No |
TDQS
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.
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.
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.
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.
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.
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.
decode_vinDecode VINARead-onlyIdempotentInspect
Decode a 17-character US vehicle VIN into make, model, year, body class, engine cylinders, fuel type, drive type, and assembly plant country, using the NHTSA vPIC database. Covers US-market vehicles built from 1981 onward (the 17-character VIN standard); pre-1981 and some foreign-market vehicles may return partial or no data. Decoded fields are manufacturer-submitted and individual fields may be missing even for a successfully decoded VIN.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | Yes | A 17-character US vehicle VIN (letters and digits, excluding I, O, and Q). |
Output Schema
| Name | Required | Description |
|---|---|---|
| vin | Yes | |
| make | No | |
| note | No | |
| year | No | |
| found | Yes | |
| model | No | |
| summary | Yes | |
| fuelType | No | |
| bodyClass | No | |
| driveType | No | |
| plantCountry | No | |
| engineCylinders | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is well-covered. The description adds valuable context about the data source, coverage limitations, and that individual fields may be missing even for a successful decode, which goes beyond the annotations.
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 sentences, front-loaded with the core action and output fields, followed by scope and caveats. Every sentence contributes useful information without redundancy.
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 a single well-documented parameter, strong annotations, and an output schema, the description covers purpose, limitations, and data quality caveats effectively. It does not explicitly address invalid VIN handling or network errors, but these are not critical for a straightforward read-only decoding 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?
The input schema fully describes the vin parameter with format details (17 characters, excluding I, O, Q), achieving 100% schema coverage. The description does not add additional parameter-level semantics, so the baseline score of 3 is appropriate.
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 decodes a VIN into specific vehicle attributes (make, model, year, etc.) using the NHTSA vPIC database. This is a specific verb+resource that distinct from the sibling tool check_recalls, which likely handles recall checks.
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 specifies which VINs are covered (US-market, 1981+) and notes limitations for pre-1981 and foreign vehicles, giving clear when-to-use and when-not-to-use guidance. It does not mention an alternative tool, but the only sibling is for a different purpose, so 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
check_recalls - First observed
decode_vin
Related MCP Connectors
Decode any VIN and check open NHTSA safety recalls. Free official US government data, no auth.
Decode VINs, search recalls, complaints, crash ratings, and investigations.
US vehicle recalls, complaints, EPA figures, VIN decode and trouble codes, with sources.
Check U.S. NHTSA vehicle safety recall campaigns by make, model, and year. Live official data.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables querying U.S. vehicle safety and specification data, including VIN decoding, recalls, complaints, investigations, and crash test ratings.1 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables instant U.S. vehicle recall lookup by make, model, and year using official NHTSA data.MIT
- AlicenseNot gradedqualityDmaintenanceProvides 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
- AlicenseNot gradedqualityAmaintenanceEnables natural-language querying of NHTSA vehicle safety data, including VIN decoding, recall searches, consumer complaints, crash-test ratings, and defect investigations via MCP.231 npm1Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.