Official recalls from NHTSA, CPSC, FDA, USDA, Canada, UK, EU and Australia; VIN and barcode lookup.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your RecallDB API key as "Bearer <key>". Free key: https://recalldb.app/signup
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Recalls whose official notice lists a barcode (UPC-A, EAN-13, GTIN-14, UPC-E or EAN-8; the check digit must be right). Each match includes the notice's own text and the lot codes, best-by dates and serial numbers written near the barcode. A match means the code appears in a notice; the user must verify lot codes and dates against the official notice. No match does not mean there is no recall: not every recall lists barcodes.
The barcode number, digits only or with spaces and dashes.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http recalldb https://recalldb.app/mcp \ --header 'Authorization: Bearer YOUR_TOKEN'
Headers
Authorization (required): Your RecallDB API key as "Bearer <key>". Free key: https://recalldb.app/signupRecalls whose official notice lists a barcode (UPC-A, EAN-13, GTIN-14, UPC-E or EAN-8; the check digit must be right). Each match includes the notice's own text and the lot codes, best-by dates and serial numbers written near the barcode. A match means the code appears in a notice; the user must verify lot codes and dates against the official notice. No match does not mean there is no recall: not every recall lists barcodes.
| Argument | Type | Description |
|---|---|---|
| code* | string | The barcode number, digits only or with spaces and dashes. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The barcode number, digits only or with spaces and dashes."
}
},
"additionalProperties": false
}The full record for one recall: the official problem, consequence and remedy text, the issuing company, units, official codes as listed, and the agency, its own number and a link to the official notice.
| Argument | Type | Description |
|---|---|---|
| id* | string | The recall id as returned by search_recalls, for example 21V215000 (NHTSA), cpsc-27064 or fda-98506. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The recall id as returned by search_recalls, for example 21V215000 (NHTSA), cpsc-27064 or fda-98506."
}
},
"additionalProperties": false
}Full-text search of recall notices by product name, brand, model number, recall number or UPC across vehicles, motorcycles, RVs, car seats, tires, equipment, consumer products, food, supplements, pet food, cosmetics, drugs and medical devices. Returns up to 50 results a page, each with an id for get_recall and a link to the official notice.
| Argument | Type | Description |
|---|---|---|
| to | string | Only recalls dated on or before this day (YYYY-MM-DD). |
| from | string | Only recalls dated on or after this day (YYYY-MM-DD). |
| page | integer | Page number (default 1). |
| fuzzy | boolean | Default true: if nothing matches, names (makes, brands, companies, products) are tried with a corrected spelling and corrected_query says so. Recall numbers, UPCs and model numbers are always exact. false turns it off. |
| query* | string | What to search for, for example "bunk bed", "Graco car seat" or a model number. |
| state | string | A U.S. state code such as TX: keeps recalls sold nationwide, in that state or with no clear distribution. |
| agency | string | Only this agency. |
NHTSA recalls for a car make, model and model year, as listed by the recall notices. Recalls are by model, not by individual vehicle: this does not say whether one specific car has an open recall (the owner checks the VIN with NHTSA or the carmaker).
| Argument | Type | Description |
|---|---|---|
| make* | string | The make, for example Honda. |
| year* | integer | The model year, for example 2019. |
| model* | string | The model, for example Civic. |
{
"type": "object",
"required": [
"make",
"model",
"year"
],
"properties": {
"make": {
"type": "string",
"description": "The make, for example Honda."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1950,
"description": "The model year, for example 2019."
},
"model": {
"type": "string",
"description": "The model, for example Civic."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.
| category |
| string |
| Only this category. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"to": {
"type": "string",
"description": "Only recalls dated on or before this day (YYYY-MM-DD)."
},
"from": {
"type": "string",
"description": "Only recalls dated on or after this day (YYYY-MM-DD)."
},
"page": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Page number (default 1)."
},
"fuzzy": {
"type": "boolean",
"description": "Default true: if nothing matches, names (makes, brands, companies, products) are tried with a corrected spelling and corrected_query says so. Recall numbers, UPCs and model numbers are always exact. false turns it off."
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "What to search for, for example \"bunk bed\", \"Graco car seat\" or a model number."
},
"state": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "A U.S. state code such as TX: keeps recalls sold nationwide, in that state or with no clear distribution."
},
"agency": {
"enum": [
"nhtsa",
"cpsc",
"fda",
"usda",
"tc",
"hc",
"cfia",
"fsa",
"accc",
"eusg",
"opss",
"mhra"
],
"type": "string",
"description": "Only this agency."
},
"category": {
"enum": [
"vehicle",
"motorcycle",
"rv",
"car_seat",
"tire",
"equipment",
"other_vehicle",
"consumer_product",
"food",
"dietary_supplement",
"pet_food",
"cosmetic",
"drug",
"medical_device",
"ca_vehicle",
"ca_product",
"ca_food",
"uk_food",
"au_product",
"meat_poultry",
"public_health_alert"
],
"type": "string",
"description": "Only this category."
}
},
"additionalProperties": false
}