protogrid

Search / io.github.adamdecaf/recall-kitchen

Recall Kitchen

R0· no sign-in

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

v1.0.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality96strong
Trust90of 100
Uptime, 30 days100%
Latency p50225 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "recall-kitchen": {
      "type": "http",
      "url": "https://app.recallkitchen.com/mcp",
      "headers": {
        "X-API-Key": "${X_API_KEY}",
        "Authorization": "Bearer ${RECALL_KITCHEN_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http recall-kitchen https://app.recallkitchen.com/mcp --header "X-API-Key: ${X_API_KEY}" --header "Authorization: Bearer ${RECALL_KITCHEN_TOKEN}"
[mcp_servers.recall-kitchen]
url = "https://app.recallkitchen.com/mcp"
bearer_token_env_var = "RECALL_KITCHEN_TOKEN"
env_http_headers = { "X-API-Key" = "X_API_KEY" }
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "recall-kitchen": {
      "type": "remote",
      "url": "https://app.recallkitchen.com/mcp",
      "enabled": true,
      "headers": {
        "X-API-Key": "{env:X_API_KEY}",
        "Authorization": "Bearer {env:RECALL_KITCHEN_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "recall-kitchen": {
      "type": "http",
      "url": "https://app.recallkitchen.com/mcp",
      "headers": {
        "X-API-Key": "${X_API_KEY}",
        "Authorization": "Bearer ${RECALL_KITCHEN_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=recall-kitchen&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBwLnJlY2FsbGtpdGNoZW4uY29tL21jcCIsImhlYWRlcnMiOnsiWC1BUEktS2V5IjoiJHtYX0FQSV9LRVl9IiwiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke1JFQ0FMTF9LSVRDSEVOX1RPS0VOfSJ9fQ%3D%3D"
}
{
  "servers": {
    "recall-kitchen": {
      "type": "http",
      "url": "https://app.recallkitchen.com/mcp",
      "headers": {
        "X-API-Key": "${X_API_KEY}",
        "Authorization": "Bearer ${RECALL_KITCHEN_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "recall-kitchen": {
      "httpUrl": "https://app.recallkitchen.com/mcp",
      "headers": {
        "X-API-Key": "${X_API_KEY}",
        "Authorization": "Bearer ${RECALL_KITCHEN_TOKEN}"
      }
    }
  }
}
extensions:
  "recall-kitchen":
    enabled: true
    name: "recall-kitchen"
    type: streamable_http
    uri: "https://app.recallkitchen.com/mcp"
    headers:
      "X-API-Key": "${X_API_KEY}"
      "Authorization": "Bearer ${RECALL_KITCHEN_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${X_API_KEY}, ${RECALL_KITCHEN_TOKEN}. The registry never accepts secret values.

Quality 96 / 100strong

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations20 of 20 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,554 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes2 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

20 tools, about 3,554 tokens to load them all · tool set 6473550fe205 · tools last changed 2026-09-29 · checked 2026-10-20 10:35 UTC

Tool changes

  • give_feedbackadded

    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.

  • add_inventory_productchangedinput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 90 / 100

provenance75
liveness100
freshness85
hygiene100

+repository +website +reachable +uptime-100% ~updated-47d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://app.recallkitchen.com/mcp streamable-httpnoneyes100%225 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-052026-10-20

Tools (20)

add_inventory_productAdd a product to this API key's inventory. Requires a verified account (sign in at https://app.recallkitchen.com with the signup email). Unverified signup keys cannot add inventory.
add_watch_patternAdd a recall watch pattern for this API key. Same websearch syntax as search_product_recalls (AND, OR, -exclude, quoted phrases). Requires an API key.
check_tracked_productsread-onlyCheck 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.
create_api_keyCreate 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.
get_product_recallread-onlyGet a recall by id, including extracted lots, UPCs, model numbers, locations, contact info, and product photo URLs
give_feedbackReport 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.
list_api_keysread-onlyList this account's API keys (id, name, prefix, created). Secrets are not shown. Requires an API key.
list_inventoryread-onlyList this API key's tracked inventory products. Requires an API key.
list_recall_notificationsread-onlyList recall notifications for this API key. unread defaults to true (unread only); pass false for all. 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.
list_watch_patternsread-onlyList this API key's recall watch patterns. Requires an API key.
lookup_productread-onlyLook up a product by UPC/EAN. Returns found=false when unknown. Does not search recalls.
mark_notification_readMark a recall notification as read (default) or unread. Requires an API key.
remove_inventory_productdestructiveRemove a product from this API key's inventory by id. Requires an API key.
remove_watch_patterndestructiveRemove a recall watch pattern for this API key. Requires an API key.
revoke_api_keydestructiveRevoke an API key by key_id from list_api_keys. Requires an API key. Revoking the current key will fail subsequent calls.
search_product_recallsread-onlySearch 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, costco, target, walmart, 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.
search_product_recalls_by_upcread-onlySearch 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.
search_product_recalls_from_imageread-onlyIdentify 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.
search_recalls_by_identifierread-onlySearch recalls by extracted UPC, lot code, model number, product name, or VIN. VIN is decoded locally to year and make and matched against NHTSA campaigns (not a live NHTSA VIN API). Multiple identifiers are AND-matched on the same product.
signupCreate a Recall Kitchen account and API key from an email. No API key or x402 payment required. Requires accept_terms true (Terms of Service, Privacy Policy, and API Terms at https://recallkitchen.com/terms and https://recallkitchen.com/api-terms). 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.adamdecaf/recall-kitchen",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "access": {
        "docs": "https://recallkitchen.com/docs/",
        "endpoint": "https://app.recallkitchen.com/mcp",
        "auth_headers": [
          "X-API-Key",
          "Authorization Bearer rk_..."
        ],
        "anonymous_x402": "No signup: pay per request with x402 (USDC on Base, $0.025/call)",
        "free_with_api_key": "Create via MCP signup tool (email) or in-app Integrations at app.recallkitchen.com",
        "verified_rate_limits": "Unverified ~60/hour and 400/day; verified (sign in at app.recallkitchen.com with same email) ~600/hour and 3,000/day plus more keys/watch patterns",
        "account_tools_require_key": "create_api_key, watches, inventory, notifications require signup/API key; signup itself is free (no key, no x402)"
      }
    }
  },
  "title": "Recall Kitchen",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://app.recallkitchen.com/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "X-API-Key",
          "isSecret": true,
          "description": "Recall Kitchen API key (rk_...). Prefer over Authorization for Grok."
        },
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Bearer rk_... API key for Claude Code / Cursor."
        }
      ]
    }
  ],
  "version": "1.0.1",
  "repository": {
    "url": "https://github.com/Recall-Kitchen/rk-mcp",
    "source": "github"
  },
  "websiteUrl": "https://recallkitchen.com/docs/",
  "description": "US recalls MCP: free API key/signup or x402 $0.025 Base; some tools need key; verify↑limits"
}