recall-check-mcp
Search US product recalls across CPSC/FDA and NHTSA vehicle recalls in one server.
check_recalls: find recalls by product name, brand, model number, or UPC across CPSC consumer products and FDA food, drugs, and devices, with confidence (exact/high/medium/low), hazard, remedy, and date.recent_recalls: list the newest recalls from CPSC and FDA over the last N days (up to 90), optionally filtered to one agency.vehicle_recalls: get NHTSA vehicle recalls by VIN (check digit verified) or by make, model, and year, including campaign number, component, consequence, remedy, and park instructions.Read-only, no account or key, parallel agency queries with caching, returns compact JSON.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@recall-check-mcp Is the Fisher-Price Rock n Play sleeper recalled?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Recall Check
Is this product recalled? One question, every US agency that answers it: CPSC for consumer products, FDA for food, drugs and medical devices, NHTSA for vehicles. Search by product name, brand, model number or UPC, or give a VIN.
Recall data is split across agencies that each publish it differently, and the existing servers each cover one of them. Recall Check asks CPSC and all three FDA report streams in one call, scores every record against the whole query, and says how sure each match is:
Confidence | Meaning |
| The UPC matched, or every term matched including a model number of 5+ characters |
| Every term matched in the recall's title, product name or firm |
| Every term matched, some only in the description or reason |
| All but one term matched; shown only when nothing matched fully, and flagged as near matches |
Barcodes are compared in every form agencies print them (12 digits, the 10-digit core FDA often lists, 11 digits without the check digit, UPC-E), and a VIN's check digit is verified, so a mistyped VIN is reported instead of silently looked up.
No match is not proof a product is safe: the answer says which agencies were searched, when more reports exist than were read, and that FDA publishes enforcement reports weekly and a week or two behind. USDA meat and poultry recalls (FSIS) are not included, because FSIS's API refuses automated requests.
No account or key needed. Built and maintained by Arhan Canli.
Install
Needs Node.js 20 or newer. No account or key.
Claude Code
claude mcp add recall-check -- npx -y recall-check-mcpClaude Desktop: download recall-check-mcp-<version>.mcpb from the latest release and open it. The bundle is signed; verify it with gh attestation verify <file> --repo arhancanli/recall-check-mcp.
Any other client (Windsurf, Zed, Cline, Continue and others), in its MCP config file:
{
"mcpServers": {
"recall-check": {
"command": "npx",
"args": [
"-y",
"recall-check-mcp"
]
}
}
}Docker
docker build -t recall-check-mcp https://github.com/arhancanli/recall-check-mcp.git && docker run -i --rm recall-check-mcpHosted (Streamable HTTP): node src/server.mjs --http serves stateless MCP at POST /mcp (port from PORT, default 3000).
Related MCP server: FDA API MCP Service
Example
An agent calls check_recalls with:
{
"query": "Fisher-Price Rock n Play sleeper"
}and gets back (recorded from the live server on 2026-09-26):
{
"searched": [
"CPSC (consumer products)",
"FDA (food)",
"FDA (drugs)",
"FDA (medical devices)"
],
"total": 3,
"results": [
{
"agency": "CPSC (consumer products)",
"id": "23088",
"date": "2023-01-09",
"title": "Fisher-Price Reannounces Recall of 4.7 Million Rock 'n Play Sleepers; At Least Eight Deaths Occurred After Recall",
"product": "All models of Rock 'n Play Sleepers",
"firm": "Fisher-Price, of East Aurora, New York",
"hazard": "Infant fatalities have occurred in the Rock 'n Play Sleepers, after the infants rolled from their back to their stomach or side while unrestrained, or under other circumstances.",
"remedy": "Consumers should stop using the Rock 'n Play immediately and contact Fisher-Price for a refund or voucher. It is illegal to sell or distribute the recalled sleepers.",
"units": "About 4.7 million (The original recall was announced on April 12, 2019)",
"injuries": "On April 12, 2019, at the time the original recall was announced, over 30 fatalities were reported to have occurred in the Rock 'n Play Sleepers after the infants rolled from their back to their stomach or side while unrestrained, or under other circ [clipped: 446 more characters]",
"sold_at": "Major stores nationwide including Walmart, Target, and online at Amazon from September 2009 through April 2019 for between $40 and $149.",
"url": "https://www.cpsc.gov/Recalls/2023/Fisher-Price-Reannounces-Recall-of-4-7-Million-Rock-n-Play-Sleepers-At-Least-Eight-Deaths-Occurred-After-Recall",
"confidence": "high",
"matched": [
"fisher",
"price",
"rock",
"play",
"sleeper"
]
},
{
"agency": "CPSC (consumer products)",
"id": "19105",
"date": "2019-04-12",
"title": "Fisher-Price Recalls Rock 'n Play Sleepers Due to Reports of Deaths",
"product": "All Models of Rock 'n Play Sleeper",
"firm": "Fisher-Price, of East Aurora, N.Y.",
"hazard": "Infant fatalities have occurred in Rock 'n Play Sleepers, after the infants rolled from their back to their stomach or side while unrestrained, or under other circumstances.",
"remedy": "Consumers should immediately stop using the product and contact Fisher-Price for a refund or voucher.",
"units": "About 4.7 million products",
"injuries": "Since the 2009 product introduction, over 30 infant fatalities have occurred in Rock 'n Play Sleepers, after the infants rolled over while unrestrained, or under other circumstances.",
"sold_at": "Major retailers for approximately $40 to $149.",
"url": "https://www.cpsc.gov/Recalls/2019/Fisher-Price-Recalls-Rock-n-Play-Sleepers-Due-to-Reports-of-Deaths",
"confidence": "high",
"matched": [
"fisher",
"price",
"rock",
"play",
"sleeper"
]
},
{
"agency": "CPSC (consumer products)",
"id": "13087",
"date": "2013-01-08",
"title": "Fisher-Price Recalls to Inspect Rock 'N Play Infant Sleepers Due to Risk of Exposure to Mold",
"product": "Newborn Rock 'n Play Sleeper™",
"firm": "Fisher-Price Inc., of East Aurora, N.Y.",
... (18 more lines)Tools
Tool | What it does |
| Searches US recalls for a product by name, brand, model number or UPC across CPSC consumer products and FDA food, drugs and devices in one call. Each match has a confidence (exact, high, medium, low), the hazard or reason, remedy and date. No match is not proof of safety. |
| The newest US recalls from CPSC and FDA (food, drugs, devices) over the last N days (up to 90), newest first, optionally one agency only. |
| NHTSA safety recalls for a vehicle by VIN (decoded, with its check digit verified) or by make, model and year: campaign number, date, component, summary, consequence, remedy, and whether to park it or park outside. Recall campaigns apply to the model, not proof a given VIN is still unrepaired. |
How it behaves
Read-only: no tool changes anything outside this process.
Network: HTTPS only, to the hosts listed in
package.jsonunderfactory.allowHosts, with a deadline, a size cap and bounded retries; a stalled read is retried. Nothing else is contacted, and nothing is logged except unexpected failures (to stderr, without your inputs).Agencies are asked in parallel, each within its limits (openFDA allows 240 requests per minute without a key); answers are cached for an hour.
FDA device reports can list thousands of serial numbers; only the first 20,000 characters of those lists are read, and fewer device reports are fetched per query, so an answer stays fast and small.
Results are compact JSON with a matching output schema.
Benchmark
Measured 2026-09-26 with gpt-5.4-mini, 10 fixed tasks graded by fixed checks (bench/tasks.json, raw results in bench/results/).
Server | Correct | Input tokens | Output tokens | Tool calls | Median time |
This server | 10/10 | 37571 | 550 | 13 | 4.7 s |
@cyanheads/cpsc-recalls-mcp-server, the most downloaded recall server | 6/10 | 99067 | 750 | 15 | 2.3 s |
Performance
Measured 2026-09-26 from Dubai, home connection against the live upstream, Node 24.19.0 (bench/perf.json, scripts/perf.mjs in the factory).
Call | First call | Repeat | Result size |
check_recalls: Fisher-Price Rock n Play sleeper | 2753 ms | 2.2 ms | 4,254 chars |
check_recalls: insulin pump (FDA devices) | 3083 ms | 3.5 ms | 7,563 chars |
check_recalls: peanut butter, FDA food only | 2695 ms | 3.9 ms | 5,713 chars |
vehicle_recalls: 2018 Honda Accord | 300 ms | 0.5 ms | 6,617 chars |
vehicle_recalls: a VIN with a wrong check digit | 988 ms | 0.3 ms | 6,764 chars |
recent_recalls: last 7 days | 2695 ms | 0.5 ms | 12,776 chars |
First call: a fresh server process, including the TLS connection and the upstream's own time. Repeat: the same call again, answered from the in-process cache, so it shows this server's own overhead.
Tool definitions the model reads on every turn (name, description, input schema): 1,765 characters, against 10,121 for @cyanheads/cpsc-recalls-mcp-server, the most downloaded recall server. The full tool list, with the output schemas and annotations clients use to validate results, is 3,187 characters (28,479 for the alternative).
Data sources
CPSC recalls through the SaferProducts.gov REST service.
openFDA food, drug and device enforcement reports.
NHTSA recalls by vehicle, and VIN decoding through NHTSA vPIC.
All are US government services. They do not endorse this server.
More MCP servers by Arhan Canli
Actions Check: Checks GitHub Actions workflows: outdated actions, old Node runtimes, retired runners, injection.
Citation Check: Verifies citations: finds fabricated or mismatched references and retractions, returns clean BibTeX.
Config Check: Validates config files against their official schemas: tsconfig, compose, workflows, 1,400+ more.
Contact Check: Validates and formats phone numbers, email addresses and postal addresses for any country.
Cron Check: Explains cron expressions, lists next run times in any time zone, converts between cron dialects.
Dockerfile Check: Checks Dockerfiles: build-breaking mistakes, base image tags that exist, digests, platforms, EOL.
Domain Health: Email and domain checks: SPF lookup limits, DKIM keys, DMARC, DNS records, registration expiry.
Drug Label: FDA drug label answers with section citations, RxNorm name resolution, recalls and shortages.
The whole collection, 12 more
License
MIT, Copyright (c) 2026 Arhan Canli.
Available Tools
3 toolscheck_recallsCheck a product for recallsARead-onlyIdempotent
Searches US recalls for a product by name, brand, model number or UPC across CPSC consumer products and FDA food, drugs and devices in one call. Each match has a confidence (exact, high, medium, low), the hazard or reason, remedy and date. No match is not proof of safety.
Inputs: upc, query, since, sources. Returns: total, results, searched
recent_recallsRecent recallsARead-onlyIdempotent
The newest US recalls from CPSC and FDA (food, drugs, devices) over the last N days (up to 90), newest first, optionally one agency only.
Inputs: days, agency. Returns: since, total, results
vehicle_recallsVehicle recallsARead-onlyIdempotent
NHTSA safety recalls for a vehicle by VIN (decoded, with its check digit verified) or by make, model and year: campaign number, date, component, summary, consequence, remedy, and whether to park it or park outside. Recall campaigns apply to the model, not proof a given VIN is still unrepaired.
Inputs: vin, make, year, model. Returns: total, recalls, vehicle
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool has a clearly distinct query mode: recent_recalls is temporal/agency browsing, check_recalls is product-name/UPC search across CPSC/FDA, and vehicle_recalls is VIN/make-model lookup for NHTSA. Though recent_recalls and check_recalls both cover CPSC/FDA, one is a listing by date and the other is a targeted search, so agents should not confuse them.
All names follow the same _recalls suffix and snake_case convention, with descriptive prefixes: recent, check, vehicle. This is not a strict verb_noun pattern throughout, but the pattern is predictable and readable enough that agents can infer each tool's scope from its name.
Three tools is a well-scoped set for a recall-checking server: one for browsing recent recalls, one for product search, and one for vehicle-specific recalls. Each tool serves a distinct and necessary purpose with no redundancy or filler.
The tool surface covers the primary recall workflows: recent recalls, product recall search, and vehicle recalls by VIN or vehicle attributes. Minor gaps exist, such as no direct recall-detail lookup by recall ID and no single unified search across CPSC, FDA, and NHTSA, but agents can work around these by combining the available tools.
Maintenance
Related MCP Connectors
Check a product's recall risk: score + active CPSC/FDA/NHTSA recalls for a product or brand.
Check US recalls for a car, a baby product, a food or a medicine in the official recall databases.
Is it recalled? US recalls from 9 agencies by UPC, model, NDC, VIN or lot. Its API also takes x402.
U.S. federal product recalls from FDA, FSIS, CPSC, and NHTSA, in one schema.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAccess US consumer-product safety recalls from the CPSC, free and without authentication.319 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables searching FDA food recalls and adverse event reports through natural language, supporting filters and pagination.-

deeprecall-mcpofficial
AlicenseNot gradedqualityDmaintenanceSearch 120,000+ recalled products from CPSC, FDA, EU Safety Gate, and other global agencies via MCP. Enables AI agents to check product safety by text or image.Apache 2.0- AlicenseNot gradedqualityDmaintenanceEnables instant U.S. vehicle recall lookup by make, model, and year using official NHTSA data.MIT