MCP Server

RecallRadar

app.withglint.recallradar/recallradar
Search & Research Public & reachable MCP 2025-11-25

What this MCP does

Searches, retrieves, and compares U.S. FDA, USDA FSIS, and CPSC product recall notices.

diff_since
Recalls changed since a timestamp
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.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['since'], 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free text over product, reason, firm'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 1000, 'minimum': 1, 'description': 'Rows to return. Paid per row returned.'}, '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'}, 'active': {'type': 'boolean', 'description': 'Ongoing, or unknown for agencies without lifecycle status'}, 'agency': {'enum': ['fda_food', 'fda_drug', 'fda_device', 'fsis', 'cpsc'], 'type': 'string'}, 'brands': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Whole-word match on normalized brand, firm, or product text'}, 'cursor': {'type': 'string', 'description': 'next_cursor from the previous call'}, 'status': {'enum': ['ongoing', 'terminated', 'completed', 'unknown'], 'type': 'string'}, 'classes': {'type': 'array', 'items': {'enum': ['I', 'II', 'III', 'PHA'], 'type': 'string'}, 'description': 'Rows without a class (CPSC) always match'}, 'company': {'type': 'string', 'minLength': 1, 'description': 'Company slug or name (firm, else brand)'}}}
get_recall
Get one recall
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.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': '32-hex recall id or page slug'}}}
list_agencies
List indexed 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.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
search_recalls
Search US product recalls
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.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free text over product, reason, firm'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 1000, 'minimum': 1, 'description': 'Rows to return. Paid per row returned.'}, '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])))$', 'description': 'published_at >= since'}, '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])))$', 'description': 'published_at <= until'}, 'active': {'type': 'boolean', 'description': 'Ongoing, or unknown for agencies without lifecycle status'}, 'agency': {'enum': ['fda_food', 'fda_drug', 'fda_device', 'fsis', 'cpsc'], 'type': 'string'}, 'brands': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Whole-word match on normalized brand, firm, or product text'}, 'cursor': {'type': 'string', 'description': 'next_cursor from the previous call'}, 'status': {'enum': ['ongoing', 'terminated', 'completed', 'unknown'], 'type': 'string'}, 'classes': {'type': 'array', 'items': {'enum': ['I', 'II', 'III', 'PHA'], 'type': 'string'}, 'description': 'Rows without a class (CPSC) always match'}, 'company': {'type': 'string', 'minLength': 1, 'description': 'Company slug or name (firm, else brand)'}}}
Added
search_recalls
Sept. 17, 2026, 7:58 a.m.
Added
list_agencies
Sept. 17, 2026, 7:58 a.m.
Added
get_recall
Sept. 17, 2026, 7:58 a.m.
Added
diff_since
Sept. 17, 2026, 7:58 a.m.