Questions it answers
Check whether a car, a baby product, a food or a medicine has been recalled in the United States, using the official recall databases.
Ask "does my 2018 Honda Accord have any recalls?", "decode this VIN", "is this car seat recalled?", "was there a recall on this infant formula?" or "any dog food recalls this week?".
Recall Check reads three public U.S. government sources: NHTSA for vehicle recalls and VIN decoding, the Consumer Product Safety Commission (CPSC) for consumer products, and the FDA enforcement reports on openFDA for food, supplements and drugs, plus the FDA's recall announcements for pet food.
Each answer shows what was recalled, why it is dangerous, what the maker will do about it, and the recall number so you can check it at the source.
It covers United States recalls only and is not a safety guarantee: no match does not prove an item is safe, and a match may not cover your exact item. Vehicle recalls are listed by year, make and model, so confirm a specific car at nhtsa.gov/recalls with its VIN.
It never asks for an owner name or a license plate. It stores nothing about you: recall answers are cached for up to 24 hours, and the only lasting record is a daily count of calls per tool.
Short questions this server answers, each with a direct answer: Check US vehicle, product, food and pet food recalls.
What it can do
- Lists the NHTSA recalls for a vehicle by model year, make and model
- Decodes a 17-character VIN into year, make, model, trim and engine
- Searches CPSC recalls of consumer products such as cribs, strollers, sleepers and heaters
- Searches FDA food, supplement and drug recalls, optionally limited to recent days
- Lists recent FDA pet food recalls, such as dog or cat food from the last week
- Shows the hazard, the maker's remedy and a link or recall number to confirm at the source
Tools
check_vehicle_recalls, Check vehicle recalls. Use this when the user asks whether a car, truck or motorcycle has recalls, such as "does my 2018 Honda Accord have any recalls?". Pass the model year, make and model. Returns the NHTSA safety recalls for that year, make and model, newest first, with the component, summary, consequence, the manufacturer's remedy and whether NHTSA says to stop driving or park outside. Recalls are by model, not by VIN, so it cannot say whether one car's repair is still open; send the user to nhtsa.gov/recalls with their VIN for that. US vehicles only.decode_vin, Decode a VIN. Use this when the user gives a 17-character vehicle identification number or asks to "decode this VIN". Returns the model year, make, model, trim, body class, manufacturer, plant country, engine and fuel from NHTSA vPIC, and warns when the VIN's check digit does not match. Follow it with check_vehicle_recalls using the year, make and model to list the vehicle's recalls.search_product_recalls, Search product recalls. Use this when the user asks whether a consumer product is recalled, such as a crib, stroller, toy, appliance, heater or tool, or "is this car seat recalled?" (for car seat accessories). Pass the brand and product as on the label. Returns matching U.S. Consumer Product Safety Commission recalls, newest first, with the hazard, the remedy, the company contact and the CPSC link. Set withinDays for recent recalls only. Car seats and tires themselves are NHTSA recalls this tool cannot see, and the answer says so. It does not cover vehicles, food or drugs.search_food_drug_recalls, Search food and drug recalls. Use this when the user asks about a recall of food, infant formula, a dietary supplement or a medicine, such as "was there a recall on this baby formula?" or "any supplement recalls this week?". Set category to "food" (human food, infant formula and supplements) or "drug", or leave it out and both are searched. For pet food use search_pet_food_recalls. Pass the product words as labels use them ("infant formula", "peanut butter"). Set withinDays for recent recalls, such as 7 for this week. Returns FDA enforcement reports, product-title hits before ingredient-text hits, each with matchKind ("product" or "text"), the class, product, reason, firm, lot codes and distribution. The matches count is text matches across reports, not a product total. It does not cover pet food, or meat, poultry and egg products regulated by USDA.search_pet_food_recalls, Search pet food recalls. Use this when the user asks about a recall of dog food, cat food, pet treats or other pet food, such as "dog food recall this week". Optionally pass a brand or hazard as query, and set withinDays for recent recalls, such as 7 for this week. Returns matching FDA recall announcements, newest first, with the title, date, summary and FDA link. It only sees the FDA's 20 most recent recall announcements (about three weeks) and says so, so for an older recall point the user to the FDA recalls page.
Add Recall Check in Pi
Pi does not speak MCP on its own. The pi-mcp-adapter extension (these steps match version 2.34.0) loads remote servers and keeps their schemas out of the prompt until you ask. Install it once, then restart Pi:
pi install npm:pi-mcp-adapterAdd the server to a shared MCP file. Use .mcp.json in the project if only that project needs Recall Check, or ~/.config/mcp/mcp.json if you want it in every project. Pi also reads ~/.agents/mcp.json. A Pi-only override lives in ~/.pi/agent/mcp.json or .pi/mcp.json and wins over the shared file.
{
"mcpServers": {
"recalls": {
"url": "https://recalls.openkrill.app/mcp",
"lifecycle": "eager"
}
}
}The url is enough. Do not set command: that field is for a local process. No API key header. lifecycle is eager so Pi connects at startup and can search tool names before the first call. A config that omits it still works: the first call connects. After restart, run /mcp and confirm the server is listed. Ask: Does my 2018 Honda Accord have any recalls? The adapter should offer check_vehicle_recalls, decode_vin, search_product_recalls, search_food_drug_recalls, search_pet_food_recalls.
Leave directTools off unless you want those schemas in every turn. With a handful of tools the cost is small. The default proxy is the better fit: search for the tool, then call it. /mcp disable recalls writes a project override in .pi/mcp.json without editing the shared file. Run /reload after that change.
Pi will not find this server by scanning Cursor or Claude config unless you run /mcp setup and import it. Putting the url in .mcp.json is the direct path and the one this page tests against. The server is the same public endpoint the other clients use, with the same limits and the same privacy rules.
If it does not work
The tool does not show up
Run /mcp to see the servers the adapter loaded. If it is missing, check the url entry in .mcp.json, then run /reload or restart Pi.
429 or rate_limited
Each server takes 60 calls a minute from one network, and some tools take fewer. Past that the call comes back as a tool error that starts with rate_limited: wait a minute and ask again. daily_limit means the server reached its shared daily cap, which resets at 00:00 UTC. A limit is not an answer, so do not read it as no results. For higher limits, ask support@openkrill.app for a key.
A call checked on 2026-10-17
A year, make and model is the lookup NHTSA publishes. It is not a VIN-specific safety certificate. The request below was posted to https://recalls.openkrill.app/mcp as tools/call. HTTP 200. Source: the Recall Check server, read 2026-10-17.
{
"method": "tools/call",
"params": {
"name": "check_vehicle_recalls",
"arguments": {
"year": 2018,
"make": "Honda",
"model": "Accord",
"limit": 2
}
}
}
- status. ok
- notice. US recall data only. This is not a safety guarantee: an item with no match here may still be affected, and a match may not cover your exact item. Confirm with the official source before relying on it. NHTSA lists recalls
- recalls. 2 returned
Repeat the call yourself if you need a newer reading. Cached answers expire. A rate limit is not a result: wait and try again. Nothing in the call is a ranking, a filing, or advice.
Using it in production
Nothing to install and nothing to run: no package, no Python or Node.js version and no environment variable. Recall Check runs on our servers, and your client only needs the URL https://recalls.openkrill.app/mcp.
| Rate limit | 60 tool calls a minute from one network. initialize and tools/list do not count. |
|---|---|
| Daily cap | 25000 tool calls a day per server, shared by every caller. It resets at 00:00 UTC. |
| At a limit | The call comes back as a tool error that starts with rate_limited (wait a minute) or daily_limit (try after 00:00 UTC), never as a partial answer. |
| Key | None. Do not add an Authorization header or a key field. |
| Higher limits | Email support@openkrill.app with the server name, the calls a day you expect and what they are for. We answer within 1 business day. |
| Freshness | Some answers come from a short cache. Each guide shows the date of its checked call; repeat a call when you need a newer reading. |
| Uptime | Scheduled test calls check the servers through the same endpoint. There is no SLA yet. |
| Data | What each server receives and keeps is on the privacy page. |
Use it in other apps
Frequently asked questions
How do I install the Recall Check MCP server in Pi?
Run pi install npm:pi-mcp-adapter once, add recalls with the url https://recalls.openkrill.app/mcp to .mcp.json, then restart Pi and run /mcp to see it.
Do I need an API key to run Recall Check in Pi?
No. This server takes no API key. For higher limits, email support@openkrill.app with the server name (Recall Check), the calls a day you expect and what they are for. We answer within 1 business day.
What should I do if Recall Check does not connect in Pi?
Check that the entry has a url and no command field, then run /reload or restart Pi and run /mcp.