RecallRadar
Search U.S. FDA, USDA FSIS, and CPSC recalls, fetch one, or diff since a date. API key or x402.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"recallradar": {
"url": "https://recallradar.withglint.app/mcp"
}
}
}Remote endpoints
https://recallradar.withglint.app/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢diff_since(brands, company, q, agency, classes, ...)
Recalls created or updated after a timestamp, oldest change first; each row has change = created | updated. Pass meta.until as the next since. Paid: send Authorization: Bearer rk_… or an x402 payment in params._meta["x402/payment"]. Fixed price per call (x402 exact). RecallRadar indexes public recall notices from the FDA, USDA FSIS, and CPSC. The official agency notice is the authoritative source. Always confirm details at the linked source before acting. source_url is authoritative.
Input Schema
{
"type": "object",
"properties": {
"brands": {
"description": "Whole-word match on normalized brand, firm, or product text",
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"company": {
"description": "Company slug or name (firm, else brand)",
"type": "string",
"minLength": 1
},
"q": {
"description": "Free text over product, reason, firm",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"agency": {
"type": "string",
"enum": [
"fda_food",
"fda_drug",
"fda_device",
"fsis",
"cpsc"
]
},
"classes": {
"description": "Rows without a class (CPSC) always match",
"type": "array",
"items": {
"type": "string",
"enum": [
"I",
"II",
"III",
"PHA"
]
}
},
"status": {
"type": "string",
"enum": [
"ongoing",
"terminated",
"completed",
"unknown"
]
},
"active": {
"description": "Ongoing, or unknown for agencies without lifecycle status",
"type": "boolean"
},
"cursor": {
"description": "next_cursor from the previous call",
"type": "string"
},
"limit": {
"default": 20,
"description": "Rows to return. Paid per row returned.",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"since": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "ISO 8601 timestamp; returns rows created or updated after it"
}
},
"required": [
"since"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_recall(id)
One recall by id or slug, with the raw agency payload and status history. Paid: send Authorization: Bearer rk_… or an x402 payment in params._meta["x402/payment"]. Fixed price per call (x402 exact). RecallRadar indexes public recall notices from the FDA, USDA FSIS, and CPSC. The official agency notice is the authoritative source. Always confirm details at the linked source before acting. source_url is authoritative.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "32-hex recall id or page slug"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_agencies
Agencies RecallRadar indexes and their labels. Free. RecallRadar indexes public recall notices from the FDA, USDA FSIS, and CPSC. The official agency notice is the authoritative source. Always confirm details at the linked source before acting.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_recalls(brands, company, q, agency, classes, ...)
Search FDA, USDA FSIS, and CPSC recalls by brand, company, free text, agency, class, status, and published date, newest first. Paid: send Authorization: Bearer rk_… or an x402 payment in params._meta["x402/payment"]. Priced per row returned (x402 upto). RecallRadar indexes public recall notices from the FDA, USDA FSIS, and CPSC. The official agency notice is the authoritative source. Always confirm details at the linked source before acting. source_url is authoritative.
Input Schema
{
"type": "object",
"properties": {
"brands": {
"description": "Whole-word match on normalized brand, firm, or product text",
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"company": {
"description": "Company slug or name (firm, else brand)",
"type": "string",
"minLength": 1
},
"q": {
"description": "Free text over product, reason, firm",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"agency": {
"type": "string",
"enum": [
"fda_food",
"fda_drug",
"fda_device",
"fsis",
"cpsc"
]
},
"classes": {
"description": "Rows without a class (CPSC) always match",
"type": "array",
"items": {
"type": "string",
"enum": [
"I",
"II",
"III",
"PHA"
]
}
},
"status": {
"type": "string",
"enum": [
"ongoing",
"terminated",
"completed",
"unknown"
]
},
"active": {
"description": "Ongoing, or unknown for agencies without lifecycle status",
"type": "boolean"
},
"cursor": {
"description": "next_cursor from the previous call",
"type": "string"
},
"limit": {
"default": 20,
"description": "Rows to return. Paid per row returned.",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"since": {
"description": "published_at >= since",
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"until": {
"description": "published_at <= until",
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Recommended Prompts
search_recallsget_recallget_recalllist_agenciessearch_recallsCommunity
Evidence