Recall Kitchen
What this MCP does
Searches US product recall databases by text, identifiers, VIN, UPC, barcode, or image and supports tracked products and recall notifications.
Tools
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'sku': {'type': 'string', 'description': 'optional SKU or UPC'}, 'name': {'type': 'string', 'description': 'product name'}, 'brand': {'type': 'string', 'description': 'optional brand'}, 'category': {'enum': ['bad_result', 'tool_error', 'missing_capability', 'confusing_schema', 'docs', 'other'], 'type': 'string', 'description': 'optional category'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['id', 'name', 'brand', 'category', 'sku'], 'properties': {'id': {'type': 'integer'}, 'sku': {'type': 'string'}, 'name': {'type': 'string'}, 'brand': {'type': 'string'}, 'category': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['pattern'], 'properties': {'weight': {'type': 'integer', 'maximum': 8, 'minimum': 0, 'description': 'optional weight 0-8, default 4'}, 'pattern': {'type': 'string', 'description': 'websearch pattern: unquoted words are AND, OR is or, -term excludes, quoted phrases match as a unit'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['pattern', 'weight'], 'properties': {'weight': {'type': 'integer'}, 'pattern': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 3, 'maximum': 100, 'minimum': 1, 'description': 'maximum matches to return'}, 'offset': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'number of matches to skip'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['matches', 'offset'], 'properties': {'offset': {'type': 'integer'}, 'matches': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['recall', 'reasons'], 'properties': {'recall': {'type': 'object', 'required': ['id', 'source', 'title', 'description', 'url', 'publishedOn'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'status': {'type': 'string'}, 'extracted': {'type': ['null', 'object'], 'properties': {'images': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'stores': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'contact': {'type': ['null', 'object'], 'properties': {'emails': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'phones': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'websites': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'upcs': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'lotCodes': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'packaging': {'type': 'string'}, 'useByDates': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productName': {'type': 'string'}, 'modelNumbers': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'locations': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'establishments': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productsTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'publishedOn': {'type': 'string'}, 'descriptionTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'reasons': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'patterns': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'inventory': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['id', 'name', 'brand', 'category', 'sku'], 'properties': {'id': {'type': 'integer'}, 'sku': {'type': 'string'}, 'name': {'type': 'string'}, 'brand': {'type': 'string'}, 'category': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'message': {'type': 'string'}, 'nextOffset': {'type': ['null', 'integer']}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'kind': {'enum': ['user', 'agent'], 'type': 'string', 'description': 'optional kind: user or agent, default agent'}, 'name': {'type': 'string', 'description': 'optional key name'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['key_id', 'name', 'kind', 'api_key', 'limits', 'message'], 'properties': {'kind': {'type': 'string'}, 'name': {'type': 'string'}, 'key_id': {'type': 'string'}, 'limits': {'type': 'object', 'required': ['hourly', 'daily', 'max_keys_per_user', 'max_watch_patterns', 'max_inventory', 'allow_account_writes', 'tier'], 'properties': {'tier': {'type': 'string'}, 'daily': {'type': 'integer'}, 'hourly': {'type': 'integer'}, 'max_inventory': {'type': 'integer'}, 'max_keys_per_user': {'type': 'integer'}, 'max_watch_patterns': {'type': 'integer'}, 'allow_account_writes': {'type': 'boolean'}}, 'additionalProperties': False}, 'api_key': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'alias for recall_id'}, 'recall_id': {'type': 'string', 'description': 'recall id returned by search tools'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['id', 'source', 'title', 'description', 'url', 'publishedOn'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'status': {'type': 'string'}, 'extracted': {'type': ['null', 'object'], 'properties': {'images': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'stores': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'contact': {'type': ['null', 'object'], 'properties': {'emails': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'phones': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'websites': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'upcs': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'lotCodes': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'packaging': {'type': 'string'}, 'useByDates': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productName': {'type': 'string'}, 'modelNumbers': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'locations': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'establishments': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productsTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'publishedOn': {'type': 'string'}, 'descriptionTruncated': {'type': 'boolean'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'describe the problem. 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.'}, 'category': {'enum': ['bad_result', 'tool_error', 'missing_capability', 'confusing_schema', 'docs', 'other'], 'type': 'string', 'description': 'optional: bad_result, tool_error, missing_capability, confusing_schema, docs, or other'}, 'severity': {'enum': ['blocked', 'workaround', 'annoyance'], 'type': 'string', 'description': 'optional: blocked, workaround, or annoyance'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['accepted', 'message'], 'properties': {'message': {'type': 'string'}, 'accepted': {'type': 'boolean'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['keys', 'limits'], 'properties': {'keys': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['key_id', 'name', 'kind', 'key_prefix', 'created_at'], 'properties': {'kind': {'type': 'string'}, 'name': {'type': 'string'}, 'key_id': {'type': 'string'}, 'created_at': {'type': 'string'}, 'key_prefix': {'type': 'string'}, 'last_used_at': {'type': ['null', 'string']}}, 'additionalProperties': False}}, 'limits': {'type': 'object', 'required': ['hourly', 'daily', 'max_keys_per_user', 'max_watch_patterns', 'max_inventory', 'allow_account_writes', 'tier'], 'properties': {'tier': {'type': 'string'}, 'daily': {'type': 'integer'}, 'hourly': {'type': 'integer'}, 'max_inventory': {'type': 'integer'}, 'max_keys_per_user': {'type': 'integer'}, 'max_watch_patterns': {'type': 'integer'}, 'allow_account_writes': {'type': 'boolean'}}, 'additionalProperties': False}, 'message': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 3, 'maximum': 100, 'minimum': 1, 'description': 'number of products to return'}, 'query': {'type': 'string', 'description': 'optional inventory search'}, 'offset': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'number of products to skip'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['products', 'offset'], 'properties': {'offset': {'type': 'integer'}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['id', 'name', 'brand', 'category', 'sku'], 'properties': {'id': {'type': 'integer'}, 'sku': {'type': 'string'}, 'name': {'type': 'string'}, 'brand': {'type': 'string'}, 'category': {'type': 'string'}}, 'additionalProperties': False}}, 'nextOffset': {'type': ['null', 'integer']}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 3, 'maximum': 100, 'minimum': 1, 'description': 'number of notifications to return'}, 'offset': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'number of notifications to skip'}, 'unread': {'type': ['null', 'boolean'], 'description': 'if true, only unread notifications; if false, include read. Default: true (unread only)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['notifications', 'offset'], 'properties': {'offset': {'type': 'integer'}, 'message': {'type': 'string'}, 'nextOffset': {'type': ['null', 'integer']}, 'notifications': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['recall', 'sentOn', 'read'], 'properties': {'read': {'type': 'boolean'}, 'recall': {'type': 'object', 'required': ['id', 'source', 'title', 'description', 'url', 'publishedOn'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'status': {'type': 'string'}, 'extracted': {'type': ['null', 'object'], 'properties': {'images': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'stores': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'contact': {'type': ['null', 'object'], 'properties': {'emails': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'phones': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'websites': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'upcs': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'lotCodes': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'packaging': {'type': 'string'}, 'useByDates': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productName': {'type': 'string'}, 'modelNumbers': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'locations': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'establishments': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productsTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'publishedOn': {'type': 'string'}, 'descriptionTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'sentOn': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['patterns'], 'properties': {'patterns': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['pattern', 'weight'], 'properties': {'weight': {'type': 'integer'}, 'pattern': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['upc'], 'properties': {'upc': {'type': 'string', 'description': 'UPC or EAN barcode digits'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['upc', 'found'], 'properties': {'upc': {'type': 'string'}, 'hint': {'type': 'string'}, 'found': {'type': 'boolean'}, 'product': {'type': ['null', 'object'], 'properties': {'sku': {'type': 'string'}, 'upc': {'type': 'string'}, 'name': {'type': 'string'}, 'brand': {'type': 'string'}, 'format': {'type': 'string'}, 'category': {'type': 'string'}}, 'additionalProperties': False}, 'branded_food': {'type': ['null', 'object'], 'properties': {'category': {'type': 'string'}, 'gtin_upc': {'type': 'string'}, 'brand_name': {'type': 'string'}, 'brand_owner': {'type': 'string'}, 'ingredients': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['recall_id'], 'properties': {'read': {'type': ['null', 'boolean'], 'description': 'if true, mark read; if false, mark unread. Default true'}, 'recall_id': {'type': 'string', 'description': 'recall id from list_recall_notifications'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['recall_id', 'read', 'updated'], 'properties': {'read': {'type': 'boolean'}, 'updated': {'type': 'boolean'}, 'recall_id': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'description': 'inventory product id from list_inventory'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['id', 'removed'], 'properties': {'id': {'type': 'integer'}, 'removed': {'type': 'boolean'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['pattern'], 'properties': {'pattern': {'type': 'string', 'description': 'watch pattern to remove'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['pattern', 'removed'], 'properties': {'pattern': {'type': 'string'}, 'removed': {'type': 'boolean'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['key_id'], 'properties': {'key_id': {'type': 'string', 'description': 'key_id from list_api_keys'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['key_id', 'revoked'], 'properties': {'key_id': {'type': 'string'}, 'revoked': {'type': 'boolean'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 3, 'maximum': 100, 'minimum': 1, 'description': 'number of recalls to return, 1-100, default 3'}, 'query': {'type': 'string', 'description': 'websearch query: unquoted words are AND, OR is or, -term excludes, quoted phrases match as a unit. Example: Generac Generator -Portable'}, 'since': {'type': 'string', 'description': 'optional published-on start date YYYY-MM-DD'}, 'until': {'type': 'string', 'description': 'optional published-on end date YYYY-MM-DD'}, 'years': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'optional published window in years (1-50). Ignored when since is set'}, 'offset': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'number of recalls to skip'}, 'source': {'enum': ['cpsc', 'fdafoodsafety', 'FDAMedWatch', 'usda', 'nhtsa', 'canada', 'costco', 'target', 'walmart', 'openfda'], 'type': 'string', 'description': 'optional source filter: cpsc, fdafoodsafety, FDAMedWatch, usda, nhtsa, canada, costco, target, walmart, or openfda. Aliases: FDA and food map to fdafoodsafety; medwatch maps to FDAMedWatch; vehicle, vin, and car map to nhtsa; healthcanada, cfia, and hc-sc map to canada; sams maps to walmart; enforcement, res, and fdaenforcement map to openfda. For more than one source, pass sources.'}, 'sources': {'type': 'array', 'items': {'enum': ['cpsc', 'fdafoodsafety', 'FDAMedWatch', 'usda', 'nhtsa', 'canada', 'costco', 'target', 'walmart', 'openfda'], 'type': 'string'}, 'description': 'optional sources to include (OR). Same values as source', 'uniqueItems': True}, 'location': {'type': 'string', 'description': 'optional country, region, or place; ANDed with the query. USA, Canada, Mexico, EU, and Europe match places in that region. CA is California, not Canada.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['recalls', 'offset'], 'properties': {'offset': {'type': 'integer'}, 'recalls': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['id', 'source', 'title', 'description', 'url', 'publishedOn'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'status': {'type': 'string'}, 'extracted': {'type': ['null', 'object'], 'properties': {'images': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'stores': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'contact': {'type': ['null', 'object'], 'properties': {'emails': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'phones': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'websites': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'upcs': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'lotCodes': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'packaging': {'type': 'string'}, 'useByDates': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productName': {'type': 'string'}, 'modelNumbers': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'locations': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'establishments': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productsTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'publishedOn': {'type': 'string'}, 'descriptionTruncated': {'type': 'boolean'}}, 'additionalProperties': False}}, 'nextOffset': {'type': ['null', 'integer']}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'upc': {'type': 'string', 'description': 'UPC or EAN barcode digits'}, 'url': {'type': 'string', 'description': 'alias for image_url'}, 'limit': {'type': 'integer', 'default': 3, 'maximum': 100, 'minimum': 1, 'description': 'number of recalls to return, 1-100, default 3'}, 'offset': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'number of recalls to skip'}, 'barcode': {'type': 'string', 'description': 'alias for upc'}, 'image_url': {'type': 'string', 'description': 'optional HTTPS URL or data:image/...;base64 URI of a barcode image'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['upc', 'found', 'recalls', 'offset'], 'properties': {'upc': {'type': 'string'}, 'hint': {'type': 'string'}, 'found': {'type': 'boolean'}, 'match': {'type': 'string'}, 'offset': {'type': 'integer'}, 'product': {'type': ['null', 'object'], 'properties': {'sku': {'type': 'string'}, 'upc': {'type': 'string'}, 'name': {'type': 'string'}, 'brand': {'type': 'string'}, 'format': {'type': 'string'}, 'category': {'type': 'string'}}, 'additionalProperties': False}, 'recalls': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['id', 'source', 'title', 'description', 'url', 'publishedOn'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'status': {'type': 'string'}, 'extracted': {'type': ['null', 'object'], 'properties': {'images': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'stores': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'contact': {'type': ['null', 'object'], 'properties': {'emails': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'phones': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'websites': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'upcs': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'lotCodes': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'packaging': {'type': 'string'}, 'useByDates': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productName': {'type': 'string'}, 'modelNumbers': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'locations': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'establishments': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productsTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'publishedOn': {'type': 'string'}, 'descriptionTruncated': {'type': 'boolean'}}, 'additionalProperties': False}}, 'confidence': {'type': 'number'}, 'nextOffset': {'type': ['null', 'integer']}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'alias for image_url'}, 'limit': {'type': 'integer', 'default': 3, 'maximum': 100, 'minimum': 1, 'description': 'number of recalls to return per product, 1-100, default 3'}, 'image_url': {'type': 'string', 'description': 'HTTPS URL or data:image/...;base64 URI of a photo containing products. Local file paths are not supported.'}, 'include_category_matches': {'type': 'boolean', 'description': 'if true, attach keyword recalls for generic items such as cups; default false'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['products', 'recalls'], 'properties': {'recalls': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['id', 'source', 'title', 'description', 'url', 'publishedOn'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'status': {'type': 'string'}, 'extracted': {'type': ['null', 'object'], 'properties': {'images': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'stores': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'contact': {'type': ['null', 'object'], 'properties': {'emails': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'phones': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'websites': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'upcs': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'lotCodes': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'packaging': {'type': 'string'}, 'useByDates': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productName': {'type': 'string'}, 'modelNumbers': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'locations': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'establishments': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productsTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'publishedOn': {'type': 'string'}, 'descriptionTruncated': {'type': 'boolean'}}, 'additionalProperties': False}}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['product', 'match', 'confidence', 'recalls'], 'properties': {'match': {'type': 'string'}, 'product': {'type': 'object', 'properties': {'sku': {'type': 'string'}, 'upc': {'type': 'string'}, 'name': {'type': 'string'}, 'brand': {'type': 'string'}, 'format': {'type': 'string'}, 'category': {'type': 'string'}}, 'additionalProperties': False}, 'recalls': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['id', 'source', 'title', 'description', 'url', 'publishedOn'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'status': {'type': 'string'}, 'extracted': {'type': ['null', 'object'], 'properties': {'images': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'stores': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'contact': {'type': ['null', 'object'], 'properties': {'emails': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'phones': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'websites': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'upcs': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'lotCodes': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'packaging': {'type': 'string'}, 'useByDates': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productName': {'type': 'string'}, 'modelNumbers': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'locations': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'establishments': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productsTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'publishedOn': {'type': 'string'}, 'descriptionTruncated': {'type': 'boolean'}}, 'additionalProperties': False}}, 'confidence': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'upc': {'type': 'string', 'description': 'product UPC or EAN as stored on the recall'}, 'vin': {'type': 'string', 'description': '17-character vehicle identification number. Decoded locally to year and make, then matched against NHTSA campaigns. Does not call NHTSA live.'}, 'limit': {'type': 'integer', 'default': 3, 'maximum': 100, 'minimum': 1, 'description': 'number of recalls to return'}, 'offset': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'number of recalls to skip'}, 'lot_code': {'type': 'string', 'description': 'lot or batch code as stored on the recall'}, 'model_number': {'type': 'string', 'description': 'model number as stored on the recall'}, 'product_name': {'type': 'string', 'description': 'extracted product name (exact match)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['recalls', 'offset'], 'properties': {'offset': {'type': 'integer'}, 'recalls': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['id', 'source', 'title', 'description', 'url', 'publishedOn'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'status': {'type': 'string'}, 'extracted': {'type': ['null', 'object'], 'properties': {'images': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'stores': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'contact': {'type': ['null', 'object'], 'properties': {'emails': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'phones': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'websites': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'products': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'upcs': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'lotCodes': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'packaging': {'type': 'string'}, 'useByDates': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productName': {'type': 'string'}, 'modelNumbers': {'type': ['null', 'array'], 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'locations': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'establishments': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'productsTruncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'publishedOn': {'type': 'string'}, 'descriptionTruncated': {'type': 'boolean'}}, 'additionalProperties': False}}, 'nextOffset': {'type': ['null', 'integer']}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['email', 'accept_terms'], 'properties': {'name': {'type': 'string', 'description': 'optional display name'}, 'email': {'type': 'string', 'description': 'email address for the new account'}, 'accept_terms': {'type': 'boolean', 'description': 'must be true: the person agrees to the Terms of Service, Privacy Policy, and API Terms at https://recallkitchen.com/terms'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['user_id', 'email', 'email_verified', 'key_id', 'api_key', 'limits', 'message'], 'properties': {'email': {'type': 'string'}, 'key_id': {'type': 'string'}, 'limits': {'type': 'object', 'required': ['hourly', 'daily', 'max_keys_per_user', 'max_watch_patterns', 'max_inventory', 'allow_account_writes', 'tier'], 'properties': {'tier': {'type': 'string'}, 'daily': {'type': 'integer'}, 'hourly': {'type': 'integer'}, 'max_inventory': {'type': 'integer'}, 'max_keys_per_user': {'type': 'integer'}, 'max_watch_patterns': {'type': 'integer'}, 'allow_account_writes': {'type': 'boolean'}}, 'additionalProperties': False}, 'api_key': {'type': 'string'}, 'message': {'type': 'string'}, 'user_id': {'type': 'string'}, 'email_verified': {'type': 'boolean'}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
API Direct
Searches and retrieves data from social networks, news and Google services, while also providing Amazon product, seller, ranking,…
Bonanza
Searches active Bonanza marketplace listings and retrieves individual item details.
cyclesite-mcp-server
Supports searching, comparing, valuing, buying, selling, reserving, and messaging about used bicycles on a UK marketplace.
MONO Social
Provides directory search for local places, events, listings, services, offers, bookings, reservations, tickets, and products.
Campo Belo
Provides Campo Belo local discovery for places, events, menus, offers, services, bookings, reservations, tickets, and purchases.
Bom Retiro
Provides Bom Retiro local place, event, menu, offer, service, booking, reservation, ticketing, and checkout capabilities.
Bogeyland
Provides directory search for places, events, services, offers, bookings, reservations, tickets, menus, and purchases.
Genesis Social
Provides directory search and transactions for local places, events, restaurants, services, offers, bookings, and tickets.