Ava Research

Recall Tracker — Docs

Know when something you own is recalled, with a heads-up before its return window closes.

Recall Tracker is a hosted MCP (Model Context Protocol) server. It keeps a private list of the products you own, checks them against official U.S. Consumer Product Safety Commission (CPSC) recalls every day, and flags return windows that are about to close.

Free. No paid plan. Recall search works without an account. Tracking, checking, and alerts require a free account, created with a one-time code sent to your email — no password, no payment details.

Endpoint

https://func-recall-prod-yyw3sn.azurewebsites.net/api/mcp

JSON-RPC 2.0 over HTTPS POST. Methods: initialize, tools/list, tools/call. MCP protocol version 2025-06-18.

Authentication

Sign-in uses OAuth with Microsoft Entra External ID: Muse gets an access token from Entra, and the server accepts only Entra-issued tokens with the Recall.ReadWrite scope. The server publishes protected-resource metadata (RFC 9728) and returns 401 with a WWW-Authenticate header pointing to it. Tokens are validated on every call: signature, issuer, audience, expiry, and scope. Required scope: Recall.ReadWrite. Every tool except search_recalls needs a signed-in user.

Tools

  • search_recalls · Sign-in: No
    Searches the CPSC recall database by product name or keywords. Returns up to 20 recalls, each with the hazard, the remedy, and a link to the official notice.
    Inputs: query (2–100 characters).
    Example: “Has the space heater I’m looking at been recalled?”
    Errors: invalid_params (query too short or long), cpsc_unavailable (try again shortly).

  • add_item · Sign-in: Yes
    Tracks a purchase so it’s watched for recalls and for return-window and warranty dates. Reusing the same externalRef returns the original item instead of a duplicate.
    Inputs: productName (2–120 characters), brand (1–80), purchasedAt (YYYY-MM-DD, not in the future) and source (manual, gmail, outlook, plaid, shopify or other) are required. Optional: model, category, retailer, returnWindowEnds, warrantyEnds (YYYY-MM-DD, on or after purchasedAt), externalRef.
    Example: “I just bought a KitchenAid stand mixer from Target. I can return it until October 28.”
    Errors: validation_failed (names the field and the reason), item_limit_reached (500 tracked items).

  • list_items · Sign-in: Yes
    Lists your tracked purchases, newest first.
    Inputs: limit (1–100, default 50), continuationToken (for the next page). Both optional.
    Example: “What am I tracking?”
    Errors: invalid_params.

  • delete_item · Sign-in: Yes
    Stops tracking a purchase and permanently removes it and its recall history.
    Inputs: id (from list_items).
    Example: “I sold the blender. Stop tracking it.”
    Errors: not_found.

  • check_items · Sign-in: Yes
    Checks tracked purchases against the current CPSC recall database and records any matches.
    Inputs: itemIds (optional, up to 25). Omit to check your 25 most recent items.
    Example: “Check everything I own for new recalls.”
    Errors: too_many_items (more than 25 ids), cpsc_unavailable (try again shortly).

  • list_alerts · Sign-in: Yes
    Lists your current alerts, most important first: recall matches you haven’t dismissed, return windows closing within 7 days (urgent at 2 days or fewer), and warranties ending within 30 days.
    Inputs: None.
    Example: “Anything I need to deal with?”

  • dismiss_alert · Sign-in: Yes
    Dismisses a recall alert you’ve dealt with. Return-window and warranty reminders clear on their own once the date passes.
    Inputs: alertId (from list_alerts).
    Example: “I checked, it’s not my model. Clear the alert.”
    Errors: not_found.

Errors

If the token is missing, expired, or lacks Recall.ReadWrite, tools that need sign-in return HTTP 401 with a WWW-Authenticate header. Tool errors come back as a result with isError set to true and a short, readable message; the codes are listed with each tool above.

Limits

  • U.S. consumer products only, from official CPSC recall data (2013 onward), refreshed daily.

  • Matches are labeled exact, close, or brand-only. A brand-only match means “check your model”, not a confirmed recall.

  • Alerts appear when you or Muse check them. The Service doesn’t send email or push notifications.

  • No match is not a guarantee a product hasn’t been recalled — sources can lag, and matching isn’t perfect.

What it won’t do

  • It never moves money, and never buys or returns anything on your behalf.

  • It never contacts retailers.

  • It doesn’t read your email, bank, or store accounts.

  • It gives no legal or safety advice — it reports official CPSC recall notices and links to them.

  • It shares nothing with advertisers.

Questions? support@avaresearchllc.com · Back to Recall Tracker