home install mcp > research & analysis > Search product recalls (Recall Kitchen)
post a skillwantedsearchlog in

Search product recalls (Recall Kitchen) free

by Adam Shannonresearch & analysis4.4 KB zipposted 2026-09-17 21:48 UTC

reviewed by skillbay: we re-ran 2 examples ourselves and the skill changed the answer. see our run

log in to download this skill.

Check food, products, drugs, and vehicles against CPSC, FDA, USDA, NHTSA, and Health Canada recalls via Recall Kitchen MCP.

before and after

the same prompt, answered without the skill and then with it.

example 1 · grok-4.6

prompt:

I bought a bag of spinach at Hy-Vee in Iowa. The lot code on the bag is I31C. Is it recalled?

without the skill

There have been several spinach and leafy-green recalls you should know about.

Recent coverage includes a Solata Foods fresh spinach Listeria recall (lots 40606 and 11006, sold in New York, New Jersey, and New Hampshire), a 2021 BrightFarms packaged-salad Salmonella recall that listed Iowa among the states, and a large 2026 cyclospora outbreak tied to Taylor Farms iceberg lettuce that included Iowa in the distribution map. Gardyn’s spinach-recall roundup also lists 2025 Sno Pac frozen spinach (Listeria, nationwide) and 2024 Solata spinach.

I could not find lot I31C called out in those headlines. Lot codes are often only in the FDA PDF. Given Iowa keeps showing up on produce maps, I would not eat the bag until you can match the lot on fda.gov/safety/recalls. If you have the brand and UPC I can look again.

with the skill

Lot I31C is not a spinach recall.

I looked it up as an extracted lot code (not as the keyword “spinach”). The only hit is an FDA food-safety notice for Knickerbocker 365 “Homestyle Hamburger Buns” (16 oz), lots I31C, J01C, J02C, J06C, J07C, J08C, J09C, and J11C. Hazard: undeclared milk. Distribution: southeastern Michigan retailers (All Season’s Market, John’s Market, Main Party Store, Nino Salvaggio, Steiner Meat Market, Van Dyke Liquor Beer & Wine) — not Iowa, not Hy-Vee, not spinach. FDA status: terminated.

Official notice: https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/knickerbocker-365-issues-allergy-alert-undeclared-milk-homestyle-hamburger-buns
Share page: https://app.recallkitchen.com/r/8de96541e80f5b402ed63b34301e2cde8c5fb80ccaf49e128f76a2c93352ade9

A separate keyword search for spinach + Iowa did return other notices (for example Sprout Organics Sweet Potato Apple and Spinach, lots 4212/4213/4282/4310, with Iowa in the distribution list). Those are different products and different lots. They do not make lot I31C on your spinach bag a match.

If you send the brand name or UPC from the bag I can check extracted UPCs next. I would not treat “there have been spinach recalls” as an answer for this package.

what changed: Without the skill, web search latches onto spinach + Iowa and mixes unrelated produce outbreaks. With it, the agent looks up lot I31C as an identifier and finds it belongs to Michigan hamburger buns, not Iowa spinach.

example 2 · grok-4.6

prompt:

Are there any infant formula recalls in CA I should know about?

without the skill

Yes. There is an active infant-formula situation in CA.

California DPH and LA County warned parents about Nara Organics Whole Milk Organic Infant Formula after infant botulism cases in California, Pennsylvania, and Washington. All lots were recalled; it was sold at Target. CDC/FDA also describe that outbreak.

Separately, CBC reported Nestlé recalled some SMA/BEBA/NAN batches for possible cereulide — the company said that does not apply to Canadian products, and CFIA said it was not aware of Canadian distribution. Health Canada/CFIA also have older posts: LittleOak goat-milk formula not approved for sale in Canada, and the 2022 Abbott Cronobacter/Salmonella powdered-formula recall.

If you are in California, stop using Nara Organics. If you meant Canada, the Nestlé Europe recall is the one people are asking about, and Canadian shelves were not included according to Nestlé and CFIA.

with the skill

CA is treated as California, not Canada.

Active U.S. infant-formula notices that matter for California:

1. Nara Organics Whole Milk Infant Formula — FDA food-safety, published 2026-06-13, status active. Possible Clostridium botulinum; three hospitalized infants (California, Washington, Pennsylvania). All lots on the market. Sold nationally at Target, Target.com, and Nara.com (July 2025–June 2026), not outside the U.S. UPCs 860013251901 (700 g) and 860013251918 (400 g). Recalled lots include 408125075E14F2, 708125076E14F2, 708125083E14F2, 408125139E14F2, 708125141E14F2, 708125145E14F2, 708125174E14F2, 709125273E14F2, 709125280E14F2, 709125288E14F2, 409125307E14F2, and 70926019ENNB through 70926042ENNB. Stop using it. Refund form: https://nara.com/pages/refund-request-form — hello@nara.com.
   Official: https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/nara-organics-recalls-all-lots-nara-infant-formula-because-possible-health-risk
   Share: https://app.recallkitchen.com/r/6d407dc4-a5b9-5e65-a12e-f347538fd4d7
   openFDA Class I enforcement record H-1137-2026 is the same product.

2. a2 Platinum Premium infant formula (31.7 oz / 900 g), UPC 813267020335, lot 2210321712 — openFDA Class I, possible cereulide toxin, recalling firm The a2 Milk Company. Locations include CO / United States.

3. Perrigo store-brand Premium Infant Formula with Iron, lot T11LMYC (CVS Health UPC 050428318034) and T11LMXC / T09LMXC (H-E-B Baby UPC 041220164578) — elevated vitamin D. Distribution list includes CA.

If you meant Canada, say so and I will search location=Canada (Health Canada / CFIA). That is a different corpus: older CFIA Abbott and LittleOak alerts, not the Nara U.S. recall. Nestlé’s 2026 Europe SMA/BEBA/NAN cereulide recall is not a Canadian listing here.

what changed: CA is California in Recall Kitchen, not Canada. Without the skill, the model mixes a California botulism recall with CFIA/Canada and a Nestlé Europe recall that Canada said did not apply. With the skill, location=CA returns U.S. notices (Nara Organics, a2 Platinum, Perrigo store-brand) and the agent can offer a Canada search only if that is what the user meant.

example 3 · grok-4.6

prompt:

Is my Generac GP3600 portable generator, model G0077210, recalled?

without the skill

Yes — Generac recalled about 150,000 portable generators in April 2026 for a fuel leak / fire hazard. News stories list GP3600 model G0077210 along with GP6500, GP8000E, and others sold at Home Depot and Lowe’s. CPSC says fuel can leak from the carburetor on first fill.

There are also older Generac portable-generator recalls (finger amputation / crushing on XT8000 and GP6500-class units, and a 2023 fire-hazard recall of GP15000E / GP17500E). I would stop using it and check the CPSC page. Some write-ups say if you already filled it and it did not leak you can keep using it; others say stop immediately. I do not have the serial ranges in front of me.

with the skill

Model G0077210 is on an active CPSC recall. That does not automatically mean your serial number is in the affected range.

I searched extracted model numbers (not the keyword “Generac”) and fetched the full notice:

- CPSC recall 26-407, published 2026-04-16, status active
- Title: Generac Power Systems Recalls Portable Generators Due to Risk of Serious Injury or Death from Burn and Fire Hazards
- Hazard: on first gasoline fill, fuel can leak from the carburetor (114 leak reports, no injuries reported)
- Your unit type/model: GP3600 — G0077210 (also listed: GP4000DF G0081550; GP6500 G0076802/G0076722; GP6500E G0077130; GP6500EDF G0081530; GP6700EDF G0080620; GP8000E G0077150/G0076754/G0081540; GP9200E G0079712; GP9500ETF G0080630)
- Sold at Home Depot, Lowe’s, and other home-improvement/hardware/online stores, May 2025–February 2026, about 149,400 U.S. units and 260 in Canada

Only limited serial ranges are included. Check yours at https://www.generac.com/about/recalls/GP-Carburetor. If the serial is in range and the unit has not been filled, or it leaked after fueling, stop using it and call a dealer for free repair. CPSC’s notice also says units already filled enough to move the gauge off “E”, or used with no leak, may continue in use.

Generac: 800-396-9951 (Mon–Fri 8 a.m.–5 p.m. CT).
Official: https://www.cpsc.gov/Recalls/2026/Generac-Power-Systems-Recalls-Portable-Generators-Due-to-Risk-of-Serious-Injury-or-Death-from-Burn-and-Fire-Hazards
Share: https://app.recallkitchen.com/r/a0fca7f2-52b4-534a-89d0-b39817247dc6

Older Generac portable recalls (finger-amputation kits, 2023 GP15000E/GP17500E fire hazard) do not list G0077210. Send the serial if you want help reading the checker result.

what changed: Without the skill, web search finds the 2026 CPSC recall but also older finger-amputation recalls and often skips the serial-range gate. With it, identifier search on model G0077210 returns the one matching CPSC notice; get_product_recall adds the serial-checker URL, the already-used-without-leak exception, and the official remedy.

reviewed by skillbay · example 1 · 2026-09-17 21:48 UTC · claude-fable-5-1 · tools: Read,Glob,Grep,LS,mcp:recallkitchen · verdict: effect reproduced

we ran the same prompt in an empty directory, once with nothing and once with only this skill installed, and did not let the agent touch the network or the disk. this is what came back, unedited.

without the skill

I can't tell you whether that bag is recalled. This session is read-only, so I can't reach the FDA, USDA, or Hy-Vee recall pages, and I won't guess at a recall status from memory. Nothing in my training matches lot code I31C to a known spinach recall, but my knowledge also stops before today's date, so that absence means nothing.

Here is how to check it yourself in a couple of minutes:

- **FDA recalls page** at fda.gov/safety/recalls-market-withdrawals-safety-alerts. Filter by "Food & Beverages" and search for spinach. Recall notices list brand, package size, lot codes, and best-by dates.
- **Hy-Vee's own recall page** at hy-vee.com/corporate/product-recalls. Hy-Vee posts every recall that affects products it sold.
- **The brand's website.** Look at the bag for the brand name and the packer, such as Fresh Express, Dole, Taylor Farms, or Hy-Vee's private label. Most packers post recall notices on their homepage.
- **Call the store.** Any Hy-Vee customer service desk can look up recalls by UPC. Have the bag handy.

When you search, match on more than the lot code. A recall notice usually specifies the brand, the exact product name, the package size, the best-by date, and the UPC. Lot codes like I31C are reused across brands and seasons, so a partial match is not a match.

If you want a firm answer and can't check, the safe move is to not eat it and return it to the store for a refund. Hy-Vee refunds recalled products without a receipt.

with the skill

**Your bag does not match any recall I can find.** The lot code I31C appears in exactly one indexed recall notice, and it is not spinach.

**What the lot code search found**

- The only recall listing lot I31C is Knickerbocker 365's 2023 recall of Homestyle Hamburger Buns for undeclared milk. It was distributed only in southeastern Michigan and the FDA has terminated it. Lot codes get reused across unrelated products, so this is a coincidence, not a match for your spinach. Notice: [FDA page](https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/knickerbocker-365-issues-allergy-alert-undeclared-milk-homestyle-hamburger-buns).

**What I could not fully check**

- The Recall Kitchen keyword search for spinach recalls in Iowa and at Hy-Vee was blocked by the free per-IP quota. Those calls returned a payment-required error, so I did not get a database-backed keyword sweep. I did not create an account or pay, since you did not ask for that.
- As a fallback, a web search for Hy-Vee spinach recalls in 2026 and FDA spinach recalls in September 2026 turned up nothing current. The Hy-Vee hits are older recalls, such as the 2020 Cyclospora bagged salad recall and 2024 meat and potato products. The only FDA spinach recalls surfaced are from earlier years, from brands like Fresh Express, Solata Foods, and Sno Pac Foods.

**Caveats**

- I had no brand name or UPC from you. If the bag has a UPC barcode, share it and I can run an exact identifier match, which is stronger than a lot code alone.
- "Not found" in the sources I could reach is not the same as a database guarantee. The FDA's live recalls page is the authoritative check: [FDA Recalls, Market Withdrawals, & Safety Alerts](https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts).

Sources:
- [Knickerbocker 365 Hamburger Buns recall (FDA)](https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/knickerbocker-365-issues-allergy-alert-undeclared-milk-homestyle-hamburger-buns)
- [Hy-Vee 12 oz Garden Salad Cyclospora recall (FDA)](https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/hy-vee-recalls-12-oz-hy-vee-garden-salad-product-after-supplier-notes-potential-cyclospora)
- [Hy-Vee meat and potato products recall (FDA)](https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/hy-vee-voluntarily-recalls-several-meat-and-potato-products)
- [Fresh Express spinach recall (FDA)](https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/fresh-express-announces-recall-limited-spinach-products-due-possible-health-risk)
- [Solata Foods spinach recall (FDA)](https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/solata-foods-recalls-fresh-spinach-and-spinach-products-due-possible-health-risk)
- [Sno Pac Foods frozen spinach recall (FDA)](https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/sno-pac-foods-recalls-del-mar-35-lb-bulk-frozen-spinach-and-10-oz-organic-frozen-cut-spinach)
- [FDA recalls index](https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts)

reviewer's note: without the skill the model could not check and refused to guess; with it the agent searched lot I31C as an identifier on Recall Kitchen, found the one matching notice (a 2023 michigan hamburger-bun allergy recall), explained that lot codes are reused, and cleared the spinach.

reviewed by skillbay · example 2 · 2026-09-17 21:48 UTC · claude-fable-5-1 · tools: Read,Glob,Grep,LS,mcp:recallkitchen · verdict: effect reproduced

we ran the same prompt in an empty directory, once with nothing and once with only this skill installed, and did not let the agent touch the network or the disk. this is what came back, unedited.

without the skill

I can't check live recall feeds in this session, so I can't confirm what is currently active as of today. Here is what I know as of my knowledge cutoff in mid-2026, and where to verify.

**Most significant recent recall affecting California:** ByHeart Whole Nutrition Infant Formula. In November 2025 ByHeart recalled all lots nationwide after an infant botulism outbreak linked to the product. California's Department of Public Health was central to identifying the cluster, and California had confirmed cases. If you have any ByHeart formula, including the Anytime Bottle packets, don't use it. Infant botulism symptoms include constipation, poor feeding, weak cry, drooping eyelids, and loss of head control, and they can appear up to a month after exposure.

**Older recalls you may still see referenced:**
- Crecelac and Farmalac goat-milk-based formulas (Dairy Manufacturers Inc.) in 2024, pulled for lacking FDA premarket review and possible Cronobacter risk.
- Nutramigen powder (Reckitt/Mead Johnson) in late 2023 for possible Cronobacter contamination in select lots.
- The 2022 Abbott recall of Similac, Alimentum, and EleCare is long closed.

**Where to verify current status:**
- FDA recalls page for infant formula, which is the authoritative national list.
- California Department of Public Health food recall notices.
- FoodSafety.gov recall list, which combines FDA and USDA notices.
- The manufacturer's site lot-checker for anything you have on hand.

Anything issued after mid-2026 would not be in my knowledge, so please check the FDA and CDPH pages directly before relying on this. If you'd like, in an interactive session I can pull the live FDA and CDPH feeds and check specific lot numbers for you.

with the skill

Three active infant formula recalls cover California right now. None is California-only, but all three were distributed nationwide in the US, so anything bought in California is in scope. I searched Recall Kitchen's index of FDA and openFDA notices for the last two years with a California location filter, and also ran an unfiltered US search to cross-check.

**1. Nara Organics Whole Milk Infant Formula, all lots. Botulism. This is the one most directly tied to California.**
- FDA notice published June 13, 2026, status active. Recalled after three infants developed infant botulism, one of them hospitalized in California.
- Sold at Target stores, Target.com, and Nara.com from July 2025 through June 2026. Every lot on the market is affected. UPCs 860013251901 (700 g can) and 860013251918 (400 g can). Lot code is on the bottom of the can.
- Stop using it immediately. Nara.com buyers from May and June 2026 get automatic refunds. Others can submit the refund form at nara.com/pages/refund-request-form or return to Target. Questions to hello@nara.com.
- Notice: https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/nara-organics-recalls-all-lots-nara-infant-formula-because-possible-health-risk and https://app.recallkitchen.com/r/6d407dc4-a5b9-5e65-a12e-f347538fd4d7

**2. a2 Platinum Premium Infant Formula 0-12 months, USA label, three batches. Cereulide toxin.**
- FDA notice published May 2, 2026, status active. Cereulide is a heat-stable toxin from Bacillus cereus, so hot water does not neutralize it. Symptoms are vomiting and nausea within 30 minutes to six hours. No confirmed illnesses.
- Only these batches, printed on the bottom of the 31.7 oz tin: 2210269454 (use by 7/15/2026), 2210324609 (use by 1/21/2027), 2210321712 (use by 1/15/2027).
- Sold nationally via a2's website, Amazon, and Meijer. Product was already discontinued before the recall, so this mainly matters for tins already in the cupboard.
- Dispose or return for refund. Contact 1-844-422-6455, weekdays 8am to 5pm Eastern.
- Notice: https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/a2-platinum-usa-label-infant-formula-recalled-because-possible-health-risk and https://app.recallkitchen.com/r/ccfbba2c-d8a3-5656-97fd-e4cf4a756ee8

**3. ByHeart Whole Nutrition Infant Formula, all batches. Botulism.**
- FDA notice published November 11, 2025, still listed active. Linked to 31 hospitalized infant botulism cases across 15 states.
- Covers every batch and use-by date of the 24 oz can (UPC 5004496800) and the Anywhere Pack 14-count packets (UPC 5004496802). Distributed nationwide online and in stores.
- Stop use, photograph the bottom of the container, label it DO NOT USE, and watch for constipation, poor feeding, drooping eyelids, weak muscle tone, or breathing trouble for 30 days before discarding. Contact 1 (833) 429-4327 or hello@byheart.com.
- Notice: https://www.fda.gov/safety/recalls-market-withdrawals-safety-alerts/byheart-broadens-voluntary-recall-while-investigation-continues and https://app.recallkitchen.com/r/b852bf79b52bc28e6d477460bdecb68c1c5fa6ceb913188309e54ac17c3c4266

Two caveats. I treated CA as California. If you meant Canada, the same ByHeart warning exists from the Canadian Food Inspection Agency, and there is a separate Canadian Kendamil recall from February 2026 for cereulide that I did not fetch in full. Also, these results come from a two-year window with a result cap of 15, so if you have a specific brand or a can in hand, the UPC or lot code on the bottom is the way to get a definitive match.

reviewer's note: without the skill the model answered from memory; with it the agent read CA as california, pulled the three active nationwide infant-formula notices from recall kitchen (nara organics first, with UPCs, lots, refund path and notice links) and cross-checked without the state filter. the third example (generac model G0077210) hit the free per-IP quota during the run; queried directly, the server returns the active CPSC recall 26-407 exactly as claimed.

about this skill

This skill teaches an agent how to check whether a specific product is recalled, using Recall Kitchen’s hosted MCP instead of guessing from news headlines.

Recall Kitchen indexes U.S. CPSC, FDA food, FDA MedWatch, openFDA enforcement, USDA, NHTSA vehicle campaigns, Health Canada / CFIA, plus Costco, Target, and Walmart/Sam’s Club listings. Search hits include extracted lots, UPCs, models, and locations. Truncated search rows are followed by get_product_recall for the full notice.

What the skill changes
- Pick the right tool: UPC/barcode, lot/model/VIN, package photo, or keyword — not “search the web for spinach.”
- Query syntax: AND / OR / -exclude / "quoted phrase".
- Location traps: CA is California, not Canada; United States does not match Ontario; Mexico is not New Mexico.
- Match quality: identifier hits over keyword hits; category-only image matches are not confirmed recalls; VIN is year/make campaign matching, not a live unrepaired-VIN API.
- Answer shape: match / no match / unknown for this package, with official URL and https://app.recallkitchen.com/r/{id}.

Tools it expects
- Recall Kitchen MCP at https://app.recallkitchen.com/mcp
- API key as X-API-Key (Grok) or Authorization: Bearer (Claude Code, Cursor). A few anonymous keyword/identifier/UPC searches per IP are free; image search needs a key or x402.
- Optional HTTP fallback: GET /api/sources and GET /api/recalls/{id}

Install
Unzip into your agent’s skills directory (Claude Code: ~/.claude/skills/ or .claude/skills/). Add the MCP server (copy-paste commands are in SKILL.md). Free skill; Recall Kitchen search has its own free/paid/signup limits documented in the skill.

Support: adam@recallkitchen.com
Docs: https://recallkitchen.com/docs/#agents
Client/examples: https://github.com/Recall-Kitchen/rk-mcp

SKILL.md

---
name: search-product-recalls
description: >
  Search U.S. and Canadian product recalls through Recall Kitchen MCP
  (CPSC, FDA food, FDA MedWatch, openFDA, USDA, NHTSA, Health Canada/CFIA,
  Costco, Target, Walmart/Sam's Club). Use when the user asks if a product,
  food, drug, device, vehicle, UPC, lot, model, VIN, or package photo is
  recalled; wants recall search, watch alerts, or pantry checks; or mentions
  CPSC, FDA, USDA, NHTSA, or Health Canada notices. Triggers include
  /search-product-recalls, "is this recalled", "check this UPC", "scan this
  label", "any recalls for".
---

# Search product recalls (Recall Kitchen)

Recall Kitchen indexes government and retailer recall notices and exposes them as MCP tools. Use it instead of guessing from web headlines. A brand in the news is not a match for the package in someone's fridge.

Hosted MCP: `https://app.recallkitchen.com/mcp`

Public notice page: `https://app.recallkitchen.com/r/{recall_id}`

Docs: https://recallkitchen.com/docs/#agents

Go client: https://github.com/Recall-Kitchen/rk-mcp

## When to use this

- "Is this recalled?" for food, consumer products, medical devices, drugs, vehicles, tires, child seats
- User provides a UPC/EAN, lot/batch code, model number, VIN, or a photo of a package/barcode
- Ongoing watches ("alert me about infant formula", "check my inventory")
- Location-scoped questions ("recalls in Iowa", "Canada", "California")

Do not invent recalls from training data. Do not treat a news headline as a lot match. Do not call `signup` unless the user asked you to create an account.

## Connect

If Recall Kitchen MCP is already connected, skip this and search.

A few keyword / identifier / UPC / lookup / get-by-id calls per IP are free with no key (5/hour, 15/day). Image search is not in that quota. For real work, send an API key:

| Client | Header |
|---|---|
| Grok | `X-API-Key: rk_...` (Bearer is treated as OAuth and will fail initialize) |
| Claude Code, Cursor | `Authorization: Bearer rk_...` |

```bash
# Grok
grok mcp add --transport http recall-kitchen https://app.recallkitchen.com/mcp \
  --header "X-API-Key: ${RECALL_KITCHEN_API_KEY}"

# Claude Code
claude mcp add --transport http recall-kitchen https://app.recallkitchen.com/mcp \
  --header "Authorization: Bearer ${RECALL_KITCHEN_API_KEY}"
```

Cursor (`~/.cursor/mcp.json` or project `.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "recall-kitchen": {
      "url": "https://app.recallkitchen.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:RECALL_KITCHEN_API_KEY}"
      }
    }
  }
}
```

Mint a key with the MCP `signup` tool (email; secret shown once) or at https://app.recallkitchen.com/#/integrations. Same key works on MCP and HTTP. Anonymous x402 (USDC on Base, about $0.025/call) covers extra search and image search; it does not cover account tools.

If MCP is unavailable, HTTP fallback:

- Search: `GET https://app.recallkitchen.com/api/sources?q=...&limit=10` with the same key header. `q` uses the query syntax below.
- One notice: `GET https://app.recallkitchen.com/api/recalls/{recall_id}` (no auth).

## Pick the tool

Use the strongest identifier the user gave. Keyword search is the fallback, not the first move.

| User has | Call |
|---|---|
| UPC / EAN digits, or a barcode photo | `search_product_recalls_by_upc` (`upc` or `barcode`; `image_url` / `url` for a barcode image) |
| Lot, model, product name, and/or VIN (optionally with UPC) | `search_recalls_by_identifier` (fields AND on the same extracted product) |
| Package / shelf photo, not just a barcode | `search_product_recalls_from_image` (needs key or x402) |
| Brand, food, hazard, store, or "any recalls for X" | `search_product_recalls` |
| A recall id from a previous search | `get_product_recall` |
| "What product is this UPC?" with no recall question | `lookup_product` only (catalog / USDA; it does **not** search recalls) |

Then, for every hit that might be the user's item, call `get_product_recall`. Search rows truncate descriptions (~280 characters) and cap extracted products at 5.

Optional MCP prompts that encode this flow: `check_product`, `check_upc`, `scan_image`, `check_vin`. Resources: `recall://docs/tools`, `recall://docs/sources`.

## Query syntax

`search_product_recalls` and watch patterns use the same websearch syntax as the site search box:

- Unquoted words are **AND**: `Generac Generator` requires both
- `OR` is or: `Honda OR Generac`
- `-term` excludes: `Generac Generator -Portable`
- `"quoted words"` match as a phrase

Default `limit` is 3 (max 100). Raise it when the user wants a survey. Use `offset` / `nextOffset` to page. Prefer `since` / `until` as `YYYY-MM-DD`. `years` (1–50) is a rolling published window and is ignored if `since` is set.

`source` / `sources` (OR list): `cpsc`, `fdafoodsafety`, `FDAMedWatch`, `usda`, `nhtsa`, `canada`, `costco`, `target`, `walmart`, `openfda`. Aliases exist (`FDA` → `fdafoodsafety`, `vehicle`/`vin`/`car` → `nhtsa`, `healthcanada`/`cfia` → `canada`, `sams` → `walmart`).

## Location

`location` is **ANDed** with the query. It matches extracted places, not "sold everywhere."

| User said | Pass |
|---|---|
| CA, California, northern california | `CA` (California, **not** Canada) |
| Canada, Ontario, Quebec, … | `Canada` (provinces match) |
| United States, USA, US | `United States` (does **not** match Canada/Ontario) |
| Mexico | Mexican states, **not** New Mexico |
| EU, Europe | European countries |
| Iowa, Ontario, Bavaria, … | that place |

If the user wrote `CA` and might mean Canada, search California, then ask. Do not silently search Canada.

## Images and barcodes

`search_product_recalls_from_image` and barcode `image_url` accept:

- Public HTTPS URL
- `data:image/...;base64` URI (JPEG, PNG, GIF, WebP, BMP; max 8 MiB)
- MCP image content (`type: image`, `mimeType`, base64 `data`)

Local filesystem paths are rejected. Do not upload the user's photo to a third-party host to "make a URL." Encode a data URI or pass MCP image content.

Image products include `match` and `confidence`:

| `match` | Treat as |
|---|---|
| `upc` or `model` | Identifier hit. Fetch the full notice. |
| `text` | Possible. Confirm with `get_product_recall` and say it is text-level. |
| `category` | Generic (cup, cooler, bowl). **Not** a confirmed recall. Omit recalls unless `include_category_matches` is true **and** the user asked for a broad scan. |

`search_product_recalls_by_upc` with an image only decodes the barcode / OCR UPC. Use `search_product_recalls_from_image` for a shelf photo.

## VIN

Pass `vin` to `search_recalls_by_identifier`. Year and make are decoded locally and matched to NHTSA campaigns. This is **not** a live unrepaired-VIN lookup and does not call NHTSA's VIN API. Tell the user matches are campaign-level for that year and make (Honda 2003 campaigns, not "this VIN has an open repair"). Filter to the decoded model when the results mix nameplates.

## How to decide if *this* item is recalled

1. Prefer UPC/lot/model matches over keyword hits.
2. A keyword hit on "spinach" is not a match for lot `I31C` on a bag of spinach — look the lot up. Lots are reused across unrelated products.
3. `search_product_recalls_by_upc` returning `found=false` means the code is unknown to the catalog, not "safe." Say so and fall back to name/lot search.
4. `lookup_product` never answers the recall question.
5. Distribution lists matter. A Michigan-only bun recall is not an Iowa spinach problem.
6. Status `terminated` means the FDA closed the recall; still report it if the lot matches, and say it is terminated.
7. Do not claim "no recalls exist" after `limit=3`. Say you found none in the window you searched, and offer to widen `years` / `limit` or drop `location`.

## How to answer

Lead with the user's item: match / no match / unknown, then evidence.

For each relevant notice include:

- Title, source, published date, status
- Why it matches (UPC, lot, model) or why it does not
- Hazard in one sentence (from `get_product_recall`, not the truncated search blurb)
- Official `url` and the share page `https://app.recallkitchen.com/r/{id}`
- Remedy / contact when present (phone, refund form, serial checker)

Do not dump raw JSON. Do not list five loosely related keyword hits as if they were the user's product.

## Watches and inventory (API key)

Use these when the user wants ongoing coverage, not a one-off check.

- `add_watch_pattern` — same query syntax; `weight` 0–8 (default 4). Generic words like `food` or `hazard` only match whole title words unless weight is 7+.
- `check_tracked_products` — live search of current indexed notices against watches/inventory. Does **not** create notifications.
- `list_recall_notifications` — inbox filled when **new** matching notices are published. Empty for a new account is normal; it is not a backfill.
- Inventory (`add_inventory_product`) needs verification: sign in at https://app.recallkitchen.com with the signup email.

x402 callers cannot use account tools. Unverified signup keys: 60 calls/hour, 400/day, 1 key, 3 watch patterns, no inventory. After site sign-in: 600/hour, 3,000/day, 3 keys, 20 patterns, 50 inventory products.

## Access cheatsheet

| | Free (no key) | x402 | Signup key | Verified |
|---|---|---|---|---|
| Keyword / identifier / UPC / lookup / get | few per IP | yes | yes | yes |
| Image search | no | yes | yes | yes |
| Watches, notifications, extra keys | no | no | yes (3 patterns, 1 key) | yes |
| Inventory | no | no | no | yes |

HTTP 429 includes `Retry-After`. Protocol methods (`initialize`, `tools/list`) do not count against quotas.

package contents

search-product-recalls/SKILL.md9.4 KB

post id: cvc3f2llupyttfzr