Recall Kitchen

io.github.adamdecaf由 GitHub 账号 adamdecaf 发布v1.0.1更新于 Oct 27, 2026

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

已验证Streamable HTTP可网页运行网页搜索与抓取数据与分析商业与电商

概览

AI 生成的概览

Recall Kitchen 让助手检索美国产品与车辆召回信息,按 UPC 或照片识别产品,并跟踪关注规则与库存。

可以做什么
  • 检索与阅读召回:按关键词搜索并可按来源、日期、地区筛选,按 UPC、批号、型号、品名或 VIN 查询,获取含批号、联系方式与图片的完整公告
  • 识别产品:UPC/EAN 查询、商品目录与 USDA 品牌食品信息,以及从公开图片链接或 base64 图片进行的测试版拍照搜索
  • 跟踪产品:添加、列出和删除关注规则与库存条目,并与当前已收录的召回进行比对
  • 管理通知:列出召回通知、标记已读或未读,并向团队提交反馈
  • 管理账户密钥:用邮箱注册,创建、列出和吊销 API 密钥
适用场景
适合让助手核查某件商品、食品、批号或车辆是否存在美国召回,或对自用或销售的产品保持长期关注。适用于消费安全、零售与库存类问题,而非通用网页搜索。
运行要求
远程 streamable HTTP 端点,无需本地安装。可通过 signup 工具或应用创建免费 API 密钥,以 X-API-Key 或 Authorization: Bearer 发送。也可匿名使用 x402,在 Base 上以 USDC 按次付费,需 EVM 私钥。账户类工具必须使用密钥;未验证账户约每小时 60 次调用,验证登录后约 600 次。
安装前请注意
API 密钥属于凭据,请勿放入共享配置。匿名 x402 调用会按次花费 Base 上的 USDC,并需要 EVM 私钥,该私钥同样敏感。账户类工具会写入数据:增删关注规则与库存、修改通知已读状态、创建或吊销 API 密钥,吊销当前密钥会导致后续调用失败。注册需本人确认年龄并接受条款。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Recall Kitchen,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.adamdecaf%2Frecall-kitchen/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "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]

来源:README.md,提交 bd5195a

工具

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.

输入参数skuname必填brandcategory

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.

输入参数weightpattern必填

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.

输入参数limitoffset

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.

输入参数kindname

get_product_recall

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

输入参数idrecall_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.

输入参数message必填categoryseverity

list_api_keys

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

无需输入参数。

list_inventory

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

输入参数limitqueryoffset

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.

输入参数limitoffsetunread

list_watch_patterns

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

无需输入参数。

lookup_product

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

输入参数upc必填

mark_notification_read

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

输入参数readrecall_id必填

remove_inventory_product

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

输入参数id必填

remove_watch_pattern

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

输入参数pattern必填

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.

输入参数key_id必填

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.

输入参数limitquerysinceuntilyearsoffsetsourcesourceslocation

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.

输入参数upcurllimitoffsetbarcodeimage_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.

输入参数urllimitimage_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.

输入参数upcvinlimitoffsetlot_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.

输入参数nameemail必填accept_terms必填

版本历史

1
  1. v1.0.1最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分