recallsapi.com US recalls
Server Details
Is it recalled? US recalls from 9 agencies by UPC, model, NDC, VIN or lot. Its API also takes x402.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 4 tools
check_product (identifier/name lookup with confidence) and check_vehicle (VIN or make/model/year) are clearly separated by domain, and get_recall (fetch one record by id) is distinct from search_recalls (full-text query). There is mild overlap between check_product's name-based matching and search_recalls' free-text search, but the descriptions clarify the intent.
All names follow a snake_case verb_noun pattern (check_product, check_vehicle, get_recall, search_recalls) and are readable. The verb mix (check/get/search) is natural for the actions and only a minor deviation from a single convention.
Four tools is a lean but sensible surface for a read-only recall lookup API, covering lookup by product, by vehicle, by id, and by free text. It is slightly on the thin side but each tool earns its place without redundancy.
The core read paths for a recall service are covered: identifier lookup, vehicle lookup, single-record retrieval, and filtered search. Minor gaps remain (no pagination/browse or agency/category enumeration endpoint), but agents can accomplish the main recall-checking workflows.
Available Tools
4 toolscheck_productCheck a product for recallsARead-onlyIdempotentInspect
Is this product recalled? Give whatever you have: a product name and brand, a UPC/EAN/GTIN barcode, a model number, an NDC drug code or a lot code. Returns matching recalls from 9 US agencies (CPSC, FDA, NHTSA, US Coast Guard, FAA and more) with a confidence level (exact, strong, possible), the reasons for each match and the agency source link, plus early-warning signals from 5 sources (NHTSA investigations, CPSC violation notices, SEC filings, Prop 65 notices, SaferProducts.gov incident reports) that name the same model, vehicle or brand. A signal is not a recall.
| Name | Required | Description | Default |
|---|---|---|---|
| lot | No | Lot or batch code | |
| ndc | No | National Drug Code, any dashed layout | |
| upc | No | UPC, EAN or GTIN barcode digits | |
| name | No | Product name or description, e.g. "Hatch Rest sound machine" | |
| brand | No | Brand or manufacturer, e.g. "Hatch" | |
| model | No | Model or part number | |
| receipt | No | true adds a signed receipt: a dated record of what recallsapi.com held for this check, stored for 400 days and fetchable at its verify_url. It is not a safety certification. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, so safety and repeatability are covered. The description adds valuable context beyond annotations: it specifies the confidence levels (exact, strong, possible), distinguishes recalls from signals, and describes the receipt behavior including its 400-day storage and that it is not a safety certification — a nuance not captured by 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?
Front-loads the core question, then efficiently lists accepted inputs and describes return formats. The second sentence is long but information-dense; no redundant fluff. The only slight issue is the parenthetical listing of many agencies/sources which could be abbreviated, but it serves clarity.
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?
No output schema is present, and the description fully explains what is returned: matching recalls with confidence levels, reasons, agency source links, plus early-warning signals with their sources. It also covers the receipt parameter's behavior. Given 7 parameters (all optional), the description adequately guides the agent on what inputs are accepted and what to expect, leaving no critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by listing the acceptable identifier types and implying they can be combined ('Give whatever you have'), which clarifies that not all parameters are required and that partial data is acceptable. It doesn't add format details beyond the schema, so not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific question ('Is this product recalled?') and names the exact resource (product recalls) and scope (9 US agencies + 5 early-warning sources). Sibling tools (check_vehicle, get_recall, search_recalls) are clearly differentiated: this is a lookup by identifiers, not a search or vehicle-specific check.
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?
Makes clear this is for product recall checking and what inputs are acceptable ('Give whatever you have'), which implies when to use it. However, it does not explicitly contrast with alternatives like search_recalls or get_recall, nor does it state when not to use it (e.g., for vehicles, the sibling check_vehicle exists).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_vehicleCheck a vehicle for recallsARead-onlyIdempotentInspect
NHTSA recall campaigns for a vehicle, by 17-character VIN (decoded with NHTSA vPIC) or by make, model and year, plus live NHTSA consumer complaint counts for that make, model and year (not verified by NHTSA, not a safety determination). Give either vin, or make, model and year. Campaigns are filed for a make, model and year (model level); whether a campaign includes a vehicle, and whether its repair is done, is held in the vehicle maker's records, and any dealer of the make can check it with the VIN, free.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | 17-character VIN. Give either vin, or make, model and year. | |
| make | No | Vehicle make. Give either vin, or make, model and year. | |
| year | No | Model year. Give either vin, or make, model and year. | |
| model | No | Vehicle model. Give either vin, or make, model and year. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/open-world/idempotent, so the description's added value is the provenance caveats: complaints are unverified by NHTSA and not a safety determination, campaigns are filed at model level, and per-vehicle repair status is not available here. That is meaningful behavioral context beyond the annotations, though return shape and any rate/timeout behavior are still unstated.
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?
Front-loads what the tool returns (campaigns, then complaint counts) before the caveats, and every sentence carries information. The final sentence about dealer records is somewhat tangential and the sentences are long, keeping it from a 5.
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 no output schema, the description correctly takes on the burden of describing return content (campaigns plus complaint counts), data sources, and the limits of those results. It is close to complete for a two-mode read tool, though it does not describe result ordering or volume.
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?
With 100% schema coverage the baseline is 3, but the description adds genuine meaning: the vin is '17-character' and decoded via NHTSA vPIC, and the either/or relationship between vin and the make/model/year triple is stated centrally. This goes a step beyond the schema, which repeats the same either/or line per property.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: NHTSA recall campaigns for a vehicle, retrievable by VIN or make/model/year, plus complaint counts. The scope is unmistakable and implicitly separates it from check_product by focusing on vehicles. It never names a sibling tool, so it earns a 4 rather than a 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?
'Give either vin, or make, model and year' supplies a clear input-selection rule, and the closing sentence explains when this tool's data is insufficient (vehicle-level inclusion and repair completion live in maker records, checkable by any dealer with the VIN). It stops short of naming check_product or search_recalls as alternatives for other cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recallGet one recallARead-onlyIdempotentInspect
Full record for one recall id (for example "cpsc-24116", "fda-H-1339-2026", "nhtsa-26V631000", "fsis-001-2016"), with every identifier and the agency source link.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that by disclosing the shape of the payload ("every identifier and the agency source link"), which matters because there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the operation and scope, with the example ids and return contents packed in as parenthetical detail. Nothing is wasted and nothing is buried.
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 no output schema, the description correctly summarizes the returned record and its identifiers, and annotations cover the safety semantics. The only gap is failure behavior for an unknown or malformed id, which an agent would need to handle.
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 single id parameter has 0% schema description coverage, so the description carries the burden. It does so usefully by giving four concrete id formats across agencies, telling the agent exactly what string to pass rather than leaving the format to guesswork.
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 ("Full record for one recall id") and scopes it to a single entity, which separates it from search_recalls. The agency-prefixed id examples (cpsc-, fda-, nhtsa-, fsis-) further distinguish it from the check_product/check_vehicle siblings, though no sibling is named explicitly.
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?
Usage is implied by the single-id scope: an agent can infer this is the detail lookup you call once you already have a recall id. However, it never states the natural workflow (e.g., use search_recalls first to obtain an id) or any when-not-to-use condition, 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.
search_recallsSearch recallsBRead-onlyIdempotentInspect
Full-text search across recall records from 9 US agencies (CPSC, FDA, NHTSA, US Coast Guard, FAA and more), newest and most relevant first. Filter by category and date.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Words to search, e.g. "listeria deli meat" or "Takata airbag" | |
| since | No | Earliest recall date, YYYY-MM-DD | |
| category | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds useful context the annotations do not: the data sources (9 US agencies) and result ordering (newest and most relevant first). It says nothing about result limits, pagination, or result shape.
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 the capability and scope front-loaded and the filter options second. The '(CPSC, FDA, NHTSA, US Coast Guard, FAA and more)' aside is slightly padded but does convey coverage breadth cheaply.
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 no output schema, the description carries the burden of describing returns, and it gives only ordering ('newest and most relevant first') without saying what a recall record contains or how results are bounded by limit. It is adequate for a search tool but leaves meaningful gaps for a 4-parameter, multi-agency dataset.
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 50%, and the description only restates that category and date filtering exist without explaining semantics (e.g., whether 'since' is inclusive, how category interacts with query). The limit parameter and its max of 50 are not mentioned at all, so the description partially but not fully compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (full-text search over recall records) plus scope (9 US agencies, named examples) and result ordering. It is clearly a keyword search rather than a lookup, but it never names the sibling tools (get_recall, check_product, check_vehicle) to draw the boundary explicitly.
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 implies usage via 'filter by category and date' and 'newest and most relevant first', which hints at exploratory keyword search. However, it gives no explicit when-to-use or when-not guidance against get_recall or the check_* siblings, leaving the agent to infer the routing.
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
check_vehicle4 fields changed- added
Input schema / properties / make / descriptionAdded value: +"Vehicle make. Give either vin, or make, model and year." - added
Input schema / properties / model / descriptionAdded value: +"Vehicle model. Give either vin, or make, model and year." - changed
Input schema / properties / vin / descriptionPrevious value: -"17-character VIN"New value: +"17-character VIN. Give either vin, or make, model and year." - added
Input schema / properties / year / descriptionAdded value: +"Model year. Give either vin, or make, model and year."
4 tool updates
- First observed
check_product - First observed
check_vehicle - First observed
get_recall - First observed
search_recalls
Related MCP Connectors
Is it recalled or fake? Recall lookup vs live US gov feeds + transparent counterfeit risk signal.
Search U.S. product recalls (CPSC, FDA, NHTSA, FSIS) by product, brand, model, or UPC code.
Check US recalls for a car, a baby product, a food or a medicine in the official recall databases.
Search U.S. FDA, USDA FSIS, and CPSC recalls, fetch one, or diff since a date. API key or x402.
Related MCP Servers
- AlicenseAqualityBmaintenanceSearches US product recalls across CPSC, FDA, and NHTSA in one call, matching by name, brand, model number, UPC, or VIN with confidence scoring.31MIT
- AlicenseNot gradedqualityBmaintenanceEnables Alexa+ and any MCP client to ask out loud whether a car, crib, food or medicine has been recalled, drawing on NHTSA, CPSC and FDA data in parallel. Returns a short spoken answer plus structured recall details such as hazard, remedy and official link.MIT
- AlicenseNot gradedqualityCmaintenanceEnables determining whether a specific product unit is affected by FDA/CPSC recalls by evaluating the unit's lot, date, and other codes against frozen recall notices, returning affected, not affected, or needed-code questions.MIT
- AlicenseNot gradedqualityBmaintenanceAccess US consumer-product safety recalls from the CPSC, free and without authentication.25 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.