Home Recall Watch
Integrates with Amazon Alexa+ as a voice assistant add-on, enabling users to add household items and check them against NHTSA, CPSC, and FDA recall data, with spoken alerts that prioritize urgent and new recalls.
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., "@Home Recall Watchis anything in my home 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.
Home Recall Watch
Home Recall Watch is an Alexa+ add-on, built as a self-hosted MCP server. It remembers what your household owns and tells you by voice when any of it is recalled.
Say "add my 2018 Honda Accord" once. Weeks later, ask "Alexa, is anything in my home recalled?" and it checks the car, the crib and the baby formula against NHTSA, CPSC and FDA. It puts the urgent ones first and tells you only what is new since you last asked.
MCP endpoint:
https://recallwatch.openkrill.app/mcp(Streamable HTTP, MCP 2025-11-25)Voice simulator:
https://recallwatch.openkrill.appLicence: MIT (see
LICENSE)
Why
A recall of a car, baby gear, food or medicine often reaches a household late or not at all. The data is public, but nobody checks 3 agency websites every week for every thing they own.
A voice assistant that already sits in the kitchen is the right place for that job. It can keep the list, do the checking and speak up in one sentence when it matters.
Related MCP server: HomeKeeper
A conversation
You: Add my 2018 Honda Accord. Alexa: Added 2018 Honda Accord. You have 1 thing on your home list. Say "check my home" any time.
You: Add the baby sleeper, the Fisher-Price Rock n Play. Alexa: Added the baby sleeper. You have 2 things on your home list. Say "check my home" any time.
You: Add the baby formula, Nara Organics infant formula. Alexa: Added the baby formula. You have 3 things on your home list. Say "check my home" any time.
You: Is anything in my home recalled? Alexa: I checked 3 things in your home against NHTSA, CPSC and FDA. Important: CPSC says to stop using the baby sleeper right away. Infant fatalities have occurred in the Rock 'n Play Sleepers. Also important: the baby formula matches a Class 1 FDA recall, the most serious kind. Stop using it and check the lot code. Also new: your 2018 Honda Accord, 6 recalls, the newest: air bags.
You (the next day): Anything recalled? Alexa: I checked 3 things in your home against NHTSA, CPSC and FDA. Nothing new since yesterday. The 11 recalls you already know about are on your screen.
The first 4 answers are real answers from the live agencies on 2026-10-16, word for word. The last one is the same check on the next day. The tests run that case with the recorded agency data.
On a device with a screen, the same call also renders a recall card (an MCP App) with each recall, its fix and a link to the agency notice.
The tools
Tool | What the user says | What it does |
| "Is anything in my home recalled?" | Checks every saved item in parallel, streams progress, remembers what it told you, speaks urgent and new recalls first. Shows the card. |
| "Is the Graco Pack n Play recalled?" | A one-off check of one thing, no memory needed. Shows the card, then offers to add it. |
| "Add my 2018 Honda Accord" | Saves a car (year, make, model, or a VIN decoded by NHTSA vPIC), a product, a food, a medicine or a pet food. Asks for the year instead of guessing. |
| "What's on my home list?" | Reads up to 3 items aloud. The rest go to the screen. |
| "Remove the Accord, we sold it" | Finds the item by the words you use for it. |
| "Forget my home list" | Deletes the whole household. Marked destructive, so the host confirms first. |
Every result has a speech field written to the Alexa voice design guide: the most important thing first, at most 3 things read aloud, plain words (the NHTSA component "AIR BAGS:SENSOR:OCCUPANT CLASSIFICATION" is spoken as "air bags"), and one clear next step.
The full data is in structuredContent for the screen and for agents.
How it works
voice page / Alexa+ / Claude ──MCP 2025-11-25, Streamable HTTP──▶ Worker (workerd, self-hosted)
│
household key (Bearer) ── SHA-256 ──▶ one SQLite Durable Object per household
│ items, recalls already told, last check
▼
NHTSA recalls + vPIC · CPSC SaferProducts · openFDA food/drug enforcement + FDA pet food feedState across sessions: each household is one Durable Object with its own SQLite database, named by a hash of the household key, so the key itself is never stored. It keeps only the item list, the ids of recalls already told, and the time of the last check. It stores no name, address or plate.
New since last time: a check marks each recall it spoke about as told, so the next check says "nothing new since yesterday" instead of repeating 11 recalls.
include_known: true("tell me all recalls") reads them again and says how many are new.Progress while it works: a home check calls up to 3 agencies for up to 25 things, 4 at a time. When the client sends a
progressToken, the server answers on an SSE stream withnotifications/progressafter each item, then the result.Urgent first: an NHTSA "park it" or "park outside" notice, a CPSC "stop using it immediately" remedy, or an FDA Class I recall is spoken before anything else, with what to do.
MCP App card:
check_my_homeandcheck_itemcarry_meta.ui.resourceUriforui://home-recall-watch/recall-card-v1(text/html;profile=mcp-app). The card groups recalls per item, folds older ones, follows the host theme and loads nothing from the network.The agency lookups are the ones behind our Recall Check MCP server, copied into
src/recalls/so this repo stands alone. Answers are cached for 6 hours per item.
What is new in this hackathon (before and after)
All of it was made inside the submission period (from 2026-08-31). It builds on Recall Check, our earlier stateless MCP server from 2026-10-01 with 5 lookup tools. Recall Check took one question about one car, product or food and returned one agency's JSON, with no memory, no voice answers and no screen.
Home Recall Watch adds, in this folder:
The household memory: a SQLite Durable Object per household, add, list, remove, forget.
The "what is new since last time" logic across sessions.
One home check across all 3 agencies in parallel, with MCP progress notifications over SSE.
The spoken answers (
src/speech.ts), written for the ear and tested.The MCP App recall card.
A new MCP 2025-11-25 server with a stateless 2026-07-28 path, output schemas, annotations and the household key.
The voice simulator: a real MCP client in the browser with speech in and out and an Alexa-style intent model.
Run it yourself
Needs Node 22 or later. No API keys, since every agency is public.
npm install
npm run dev # http://127.0.0.1:8787 (the voice page) and http://127.0.0.1:8787/mcp
npm test # 39 tests, agency answers replayed from test/fixtures
npm run e2e # the live flow against the running server and the real agencies
npm run typecheckTo use it from Claude Code: claude mcp add --transport http home-recall-watch http://127.0.0.1:8787/mcp --header "Authorization: Bearer <any 24+ character secret>".
The voice page works in Chrome and Safari.
Speech input needs a microphone permission, and you can type instead.
Add ?voice=0 to turn the spoken reply off.
The voice simulator
Amazon's Alexa+ add-on tools are open to select partners only, so, as the hackathon FAQ suggests, the page at / is the Alexa+ stand-in.
It is a real MCP client (public/mcp-client.js).
It sends initialize, tools/list, resources/read and tools/call over Streamable HTTP, reads the progress stream, and hosts the MCP App card in a sandboxed iframe over the ui/* postMessage bridge.
The step from utterance to tool (public/intents.js) is a small Alexa-style interaction model with sample utterances and slots, so the demo needs no language model and costs nothing.
A real Alexa+ host would use its own model and the tool descriptions and server instructions instead.
The household key is a random secret kept in the browser.
Spec compliance
Requirement | Where |
MCP 2025-11-25 over Streamable HTTP, POST only, 405 for GET and DELETE |
|
|
|
Progress notifications on an SSE response when a |
|
|
|
Tool errors as |
|
|
|
MCP Apps: |
|
Stateless 2026-07-28 draft path ( |
|
A rate limit per network and a request size cap |
|
Product feedback
The MCP route for Alexa+ is the right one. We built one server and the same tools work in the voice page, in Claude Code and, later, in Alexa+.
The gated add-on tools (Category SDK, MCP Toolkit, Web Simulator) were the biggest gap. We could not test how Alexa+ reads
speech, renders an MCP App card, or asks for confirmation on adestructiveHinttool.The voice design guide is clear on spoken length. A short page on how Alexa+ maps MCP output (text block vs
structuredContent, which field is spoken) would remove the guesswork for every add-on.An official way to bind a household to an MCP server (account linking for MCP) is needed. We used a Bearer household key as the closest standard shape.
Friction log
Task | Steps | Expected | Actual | Severity | Workaround | Suggestion |
Test the server in Alexa+ | Read the add-on docs, tried the MCP Toolkit and Web Simulator links | A simulator for a self-hosted MCP server | Preview, select partners only. Some setup pages do not say so | High | Built a web MCP client with speech in and out | Open the Web Simulator to hackathon entrants, or say "partners only" on every setup page |
Know what Alexa+ speaks | Searched the docs for how a tool result becomes speech | A rule: which field is read aloud, how long | Not documented for add-ons | Medium | A | Document the speech mapping, or accept a |
Link a household | Looked for account linking for MCP servers | An OAuth or account-link flow for add-ons | Not found for self-hosted MCP | Medium | Bearer household key, hashed on the server | Publish the MCP authorization profile Alexa+ will use |
Show a card | Looked for Alexa+ support of MCP Apps | A list of supported | Not documented | Low | Built to the open MCP Apps spec, tested in our own host | Say which MCP Apps version Alexa+ hosts |
Limits
US recall data only.
No match is not a safety guarantee, and the answers say so.
A recall matches by model and words, not by your serial or lot number, so the answer tells you to check the lot code.
The household key is the only lock on a household, and anyone with it can read the list.
This server cannot be deployed
Maintenance
Related MCP Connectors
Check US recalls for a car, a baby product, a food or a medicine in the official recall databases.
Check a product's recall risk: score + active CPSC/FDA/NHTSA recalls for a product or brand.
Check products against FDA food, drug and device recalls; drug labels, NDC, 510(k) via openFDA
Is it recalled or fake? Recall lookup vs live US gov feeds + transparent counterfeit risk signal.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables instant U.S. vehicle recall lookup by make, model, and year using official NHTSA data.MIT
- AlicenseNot gradedqualityCmaintenanceEnables households to manage appliance inventories, manuals, warranties, and maintenance through natural-language voice interactions, with grounded troubleshooting and consumable reordering.MIT
- FlicenseNot gradedqualityBmaintenanceTracks a household's possessions and cross-references them against CPSC, NHTSA, and FDA recall feeds, surfacing affected models, severities, and plain-language remedies by voice. It also manages maintenance reminders for items like smoke-detector batteries, filters, car-seat expiry, and vehicle service, rendered as interactive cards on an Echo Show.7 npm-
- AlicenseAqualityBmaintenanceSearches US product recalls across CPSC, FDA, and NHTSA in one call, matching by name, brand, model number, UPC, or VIN with confidence scoring.31MIT