Recall Kitchen

io.github.adamdecafPublished by GitHub account adamdecafv1.0.1Updated Oct 27, 2026

US recalls MCP: free API key/signup or x402 $0.025 Base; some tools need key; verify↑limits

Overview

AI-generated overview

Recall Kitchen lets an assistant search U.S. product and vehicle recalls, look up products by UPC or photo, and track watches and inventory.

What you can do
  • Search and read recalls: keyword search with source, date and location filters, lookup by UPC, lot code, model number, product name or VIN, and full notice details with lots, contacts and photos
  • Identify products: UPC/EAN lookup, catalog and USDA branded-food info, and beta photo search from a public image URL or base64 image
  • Track products: add, list and remove watch patterns and inventory items, and check them against current indexed recalls
  • Manage notifications: list recall notifications, mark them read or unread, and report feedback to the team
  • Manage account keys: sign up with an email, create, list and revoke API keys
When to use it
Useful when someone wants an assistant to check whether a product, food item, lot code or vehicle has a U.S. recall, or to keep a standing watch on products they own or sell. It fits consumer-safety, retail and inventory questions rather than general web search.
Requirements
Remote streamable HTTP endpoint; no local install. A free API key is created through the signup tool or the app, sent as X-API-Key or Authorization: Bearer. Anonymous use is possible via x402 USDC payment on Base with an EVM private key. Account tools require a key; rate limits are about 60 calls/hour unverified and about 600 after verified sign-in.
Before you install
The API key is a credential; keep it out of shared configs. Anonymous x402 calls spend USDC on Base per call and need an EVM private key, so treat that key as sensitive. Account tools write data: they add and remove watch patterns and inventory, change notification read state, and create or revoke API keys, and revoking the current key breaks later calls. Signup requires the person to confirm age and accept terms.

Installation

In SourceWeft

  1. Open Recall Kitchen in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.adamdecaf%2Frecall-kitchen/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "recall-kitchen": {
      "type": "http",
      "url": "https://app.recallkitchen.com/mcp"
    }
  }
}

README

[Rk Mcp on AI Agents Listing] [Recall Kitchen on mcprush]

rk-mcp

Go client and examples for Recall Kitchen MCP.

Recall Kitchen searches U.S. CPSC, FDA food, FDA MedWatch, USDA, and NHTSA vehicle recalls.

Hosted MCP

Public streamable HTTP: https://app.recallkitchen.com/mcp. Client config: .mcp.json. Docs: recallkitchen.com/docs.

  • Free with API key — mint a key via MCP signup or Integrations. Send X-API-Key: rk_... (required for Grok) or Authorization: Bearer rk_... (Claude/Cursor). Env placeholder: RECALL_KITCHEN_API_KEY.
  • Anonymous x402 — USDC on Base at $0.025/call, no signup.
  • Account tools (watches, inventory, notifications) need a key.
  • Rate limits — about 60 tool calls/hour unverified vs about 600/hour after verified sign-in at app.recallkitchen.com.

Local: http://localhost:8080/mcp. Server card: https://app.recallkitchen.com/.well-known/mcp/server-card.json.

Tool reference: recallkitchen.com/docs/#mcp. Implementation notes: docs/mcp.md.

Auth

Two ways to call tools:

  1. API key (recommended) — free, higher limits. Create a key in the app under Integrations. Send X-API-Key: rk_... (required for Grok) or Authorization: Bearer rk_... (Claude Code, Cursor).
  2. x402 — anonymous USDC on Base (~$0.025 / call). Set X402_EVM_PRIVATE_KEY. Watch, inventory, and notification tools still need an API key.

Grok's HTTP MCP client treats Authorization: Bearer as OAuth. Use X-API-Key for Grok.

toml
# ~/.grok/config.toml[mcp_servers.recall-kitchen]url = "https://app.recallkitchen.com/mcp"enabled = true
[mcp_servers.recall-kitchen.headers]X-API-Key = "rk_..."
bash
export RK_API_KEY=rk_...

Tools

Public (API key or x402)

ToolUse
search_product_recallsKeyword search. Optional source, since/until (YYYY-MM-DD), location, offset, limit (1–100, default 3).
search_recalls_by_identifierExact UPC, product name, or vehicle make and model.
search_product_recalls_by_upcLook up a UPC and match extracted recall UPCs. found=false if unknown.
lookup_productCatalog / USDA branded-food info. Does not search recalls.
search_product_recalls_from_imagePhoto search (beta). Public HTTPS URL, data:image/...;base64 URI, or MCP image content. No local file paths.
get_product_recallFull description and lot codes as printed in the notice, UPCs, models, locations, contacts, image URLs.

Search results truncate descriptions and cap extracted products at 5. Call get_product_recall for the full notice.

location is ANDed with the query. CA matches California / "northern california". United States matches U.S. notices, not Canada/Ontario.

Account (API key required)

list_watch_patterns, add_watch_pattern, remove_watch_pattern, list_inventory, add_inventory_product, remove_inventory_product, check_tracked_products, list_recall_notifications.

Watch patterns use the same syntax as the search box: words are AND, OR is or, -term excludes, "quoted phrase" is a phrase.

Prompts: check_product, check_upc, scan_image (photo, beta), list_vin_campaigns (lists NHTSA campaigns by model year and make; it does not check a specific vehicle). Resources: recall://docs/tools, recall://docs/sources.

Go client

go
cc, err := rkmcp.NewClient(rkmcp.Config{    ServerURL: "https://app.recallkitchen.com/mcp",    APIKey:    os.Getenv("RK_API_KEY"),})recalls, err := cc.SearchProductRecalls(ctx, "contamination", 3)detail, err := cc.GetProductRecall(ctx, recalls[0].ID)hits, err := cc.SearchRecallsByIdentifier(ctx, rkmcp.IdentifierOptions{UPC: "012345678905"})

APIKey is also read from RK_API_KEY or RECALL_KITCHEN_API_KEY. The client sends X-API-Key. Anonymous clients can set EVMPrivateKey / X402_EVM_PRIVATE_KEY instead.

Module: github.com/Recall-Kitchen/rk-mcp/go.

Examples

bash
git clone https://github.com/Recall-Kitchen/rk-mcp.gitcd rk-mcp/examples/goexport RK_API_KEY=rk_...go run ./search_product_recalls -query "spinach" -location Iowago run ./get_product_recall            # searches, then fetches full textgo run ./search_by_identifier -name "infant formula"

See examples/go.

Other clients

  • Grok: X-API-Key header (see above).
  • Claude Code: claude mcp add --transport http recall-kitchen https://app.recallkitchen.com/mcp --header "Authorization: Bearer ${RK_API_KEY}"
  • Cursor: copy .mcp.json (X-API-Key + RECALL_KITCHEN_API_KEY). Authorization: Bearer also works.

Support

[email protected]

Source: README.md at commit bd5195a

Tools

20

add_inventory_product

Add a product to this API key's inventory. Optional category is food, beverage, baby, household, electronics, vehicle, medical_device, drug, cosmetics, pet, or other. Requires a verified account (sign in at https://app.recallkitchen.com with the signup email). Unverified signup keys cannot add inventory.

Parametersskunamerequiredbrandcategory

add_watch_pattern

Add a recall watch pattern for this API key. Same websearch syntax as search_product_recalls (AND, OR, -exclude, quoted phrases). New matches show up in Recall Kitchen. Requires an API key.

Parametersweightpatternrequired

check_tracked_products

Check this API key's watch patterns and inventory against current indexed recalls (including historical notices). Does not create notifications. Generic patterns such as food or hazard only match in titles. Requires an API key.

Parameterslimitoffset

create_api_key

Create an additional API key for this account. Requires an existing API key. Unverified accounts may have only one key; verified accounts may have three. Usage is counted per account, not per key.

Parameterskindname

get_product_recall

Get a recall by id, including extracted lots, UPCs, model numbers, locations, contact info, and product photo URLs

Parametersidrecall_id

give_feedback

Report a bug, missing capability, bad search result, or confusing schema to the Recall Kitchen team. Use this instead of silently working around a problem. message is required and should include the MCP tool names you called, the actions you took, the query or identifiers, and any recall_id. Do not send API keys, photos, or PII. Optional category: bad_result, tool_error, missing_capability, confusing_schema, docs, other. Optional severity: blocked, workaround, annoyance. No API key or x402 required. Does not count against search quotas.

Parametersmessagerequiredcategoryseverity

list_api_keys

List this account's API keys (id, name, prefix, created). Secrets are not shown. Requires an API key.

Takes no parameters.

list_inventory

List this API key's tracked inventory products. Requires an API key.

Parameterslimitqueryoffset

list_recall_notifications

List recall notifications for this API key. unread defaults to true (unread only); pass false for all. New matches show up in Recall Kitchen. Empty for new accounts until a new matching recall is published; not a backfill of check_tracked_products. message is a short plain-text summary. Requires an API key.

Parameterslimitoffsetunread

list_watch_patterns

List this API key's recall watch patterns. Requires an API key.

Takes no parameters.

lookup_product

Look up a product by UPC/EAN. Returns found=false when unknown. Does not search recalls.

Parametersupcrequired

mark_notification_read

Mark a recall notification as read (default) or unread. Requires an API key.

Parametersreadrecall_idrequired

remove_inventory_product

Remove a product from this API key's inventory by id. Requires an API key.

Parametersidrequired

remove_watch_pattern

Remove a recall watch pattern for this API key. Requires an API key.

Parameterspatternrequired

revoke_api_key

Revoke an API key by key_id from list_api_keys. Requires an API key. Revoking the current key will fail subsequent calls.

Parameterskey_idrequired

search_product_recalls

Search product recalls by query. Query uses websearch syntax: unquoted words are AND, OR is or, -term excludes, quoted phrases match as a unit (example: Generac Generator -Portable). Optional filters: source (cpsc, fdafoodsafety, FDAMedWatch, usda, nhtsa, canada, openfda), since/until (YYYY-MM-DD), location (country, region, or place, ANDed with the query), offset, limit. Descriptions are truncated and extracted products are capped; use get_product_recall for the full text.

Parameterslimitquerysinceuntilyearsoffsetsourcesourceslocation

search_product_recalls_by_upc

Search recalls by UPC/EAN or a barcode image URL/data URI/MCP image content. Matches extracted recall UPCs first. Returns found=false when the UPC is unknown.

Parametersupcurllimitoffsetbarcodeimage_url

search_product_recalls_from_image

Photo (beta): identify products in a public HTTPS image URL, data:image/...;base64 URI, or MCP image content part. Local files are not supported. Each product includes match (upc, model, text, category) and confidence. Category matches omit recalls unless include_category_matches=true. Requires an API key or x402; not included in the free anonymous per-IP quota.

Parametersurllimitimage_urlinclude_category_matches

search_recalls_by_identifier

Search recalls by extracted UPC, lot code, model number, product name, or VIN. Multiple identifiers are AND-matched on the same product. VIN lookup lists NHTSA campaigns for the decoded year and make; confirm your vehicle on nhtsa.gov/recalls. lot_code matches extracted lot codes after normalizing spaces, case, and punctuation; if lots were not extracted, also searches notice title and description — verify against the notice. product_name falls back to the same full-text search as search_product_recalls when no exact extracted name matches, and returns a hint if still empty.

Parametersupcvinlimitoffsetlot_codemodel_numberproduct_name

signup

Create a Recall Kitchen account and API key from an email. No API key or x402 payment required. Set accept_terms true only after you ask the person and they confirm they are 13 or older and accept the Terms (https://recallkitchen.com/terms), Privacy Policy (https://recallkitchen.com/privacy) and API Terms (https://recallkitchen.com/api-terms); never set it automatically or on the person's behalf. The key is returned once. Unverified accounts have lower rate limits (60 tool calls/hour, 400/day, one key) and can add a few watch patterns. Sign in at https://app.recallkitchen.com with the same email to verify, raise limits, and add inventory. Does not re-issue a key if the email already has an account.

Parametersnameemailrequiredaccept_termsrequired

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts