recallsapi.com US Recalls
Verificações de recall nos EUA para agentes: produto (UPC, modelo, NDC, lote), veículo (VIN) e busca de recalls em 9 agências dos EUA, com links de avisos das agências.
Servidor MCP hospedado
npx add-mcp 'https://api.recallsapi.com/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Servidor MCP
Dê a um agente de IA consultas de recall com links de origem. O servidor fala o Model Context Protocol via Streamable HTTP.
| Endpoint | https://api.recallsapi.com/mcp |
|---|---|
| Transporte | Streamable HTTP, POST com respostas JSON (sem stream SSE; GET responde 405). Lotes JSON-RPC são aceitos. |
| Versões de protocolo | 2025-06-18, 2025-03-26, 2024-11-05 |
| Autenticação | initialize e tools/list são abertos. tools/call precisa da sua chave de API como Authorization: Bearer <key> (ou X-API-Key). |
| Medição | Cada chamada de ferramenta conta como uma chamada contra sua cota diária, como uma chamada REST. |
Ainda não tem chave? Crie uma com POST /v1/keys (veja o quickstart).
Ferramentas
| Ferramenta | Argumentos | O que faz |
|---|---|---|
check_product | name, brand, upc, model, ndc, lot (pelo menos um); receipt (booleano, opcional) | Este produto foi recolhido? Mesma correspondência do /v1/check, com confiança exata, forte ou possível, motivos e o link da agência, além de sinais de alerta antecipado e, com marca e modelo, contagens de eventos adversos do FDA MAUDE. receipt: true adiciona um recibo de verificação assinado. |
search_recalls | query (obrigatório), category, since (AAAA-MM-DD), limit (1 a 50, padrão 10) | Busca de texto completo em todas as fontes. |
check_vehicle | vin, ou make, model e year | Campanhas da NHTSA para um veículo. Campanhas são registradas para marca, modelo e ano (nível de modelo); se uma campanha inclui um veículo e se o reparo foi feito consta nos registros do fabricante do veículo, e qualquer concessionária da marca pode verificar com o VIN, gratuitamente. |
get_recall | id (por exemplo fda-H-1339-2026) | O registro completo com todos os identificadores e o link da fonte. |
Todas as quatro ferramentas são somente leitura. Cada resultado tem um resumo curto em texto para o modelo, com o link da fonte para cada recall, e structuredContent contendo o mesmo JSON da API REST. Problemas (sem entrada, id desconhecido, um VIN que não pode ser decodificado, chave ausente) retornam como resultado de ferramenta com isError: true.
Claude Code
Terminal
claude mcp add --transport http recallsapi https://api.recallsapi.com/mcp \
--header "Authorization: Bearer rk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Adicione --scope user para usar em todos os projetos. Para compartilhar com uma equipe via .mcp.json sem commitar a chave, referencie uma variável de ambiente:
.mcp.json
{
"mcpServers": {
"recallsapi": {
"type": "http",
"url": "https://api.recallsapi.com/mcp",
"headers": {
"Authorization": "Bearer ${RECALLSAPI_KEY}"
}
}
}
}
Cursor
~/.cursor/mcp.json (ou .cursor/mcp.json em um projeto)
{
"mcpServers": {
"recallsapi": {
"url": "https://api.recallsapi.com/mcp",
"headers": {
"Authorization": "Bearer ${env:RECALLSAPI_KEY}"
}
}
}
}
Claude Desktop
O Claude Desktop inicia servidores locais a partir do arquivo de configuração, então uma pequena ponte, o pacote open-source mcp-remote, encaminha para o servidor remoto com sua chave. Ele precisa do Node.js instalado.
claude_desktop_config.json
{
"mcpServers": {
"recallsapi": {
"command": "npx",
"args": [
"mcp-remote",
"https://api.recallsapi.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}",
"--transport",
"http-only"
],
"env": {
"AUTH_HEADER": "Bearer rk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
No macOS o arquivo é ~/Library/Application Support/Claude/claude_desktop_config.json; no Windows, %APPDATA%\Claude\claude_desktop_config.json. Reinicie o Claude Desktop após editar. Mantenha Authorization:${AUTH_HEADER} sem espaço: alguns clientes não escapam espaços dentro de args.
Qualquer outro cliente
Qualquer cliente que fale Streamable HTTP e possa enviar um cabeçalho funciona. A troca bruta:
initialize
curl -s -X POST https://api.recallsapi.com/mcp \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"my-agent","version":"1.0"}}}'
Resposta
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2025-06-18",
"capabilities": {
"tools": {
"listChanged": false
}
},
"serverInfo": {
"name": "recallsapi",
"title": "recallsapi.com: US product, food, drug, device and vehicle recalls",
"version": "0.1.2"
},
"instructions": "US recall lookups. Use check_product first with whatever the user has (name and brand, barcode, model, NDC, lot); search_recalls for topics; check_vehicle for cars. Always show the source link. Get an API key at https://recallsapi.com."
}
}
tools/call
curl -s -X POST https://api.recallsapi.com/mcp \
-H "Authorization: Bearer $RECALLSAPI_KEY" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"check_product","arguments":{"upc":"041548000121"}}}'
Resposta (structuredContent encurtado nesta página)
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "1. [exact] Dreyer's Grand Ice Cream Inc.: Outshine Fruit Bars Black Cherry, 6 Bars, 2 (FDA, 2026-08-18). Hazard: Foreign object: products may contain glass pieces Source: https://api.fda.gov/food/enforcement.json?search=recall_number:%22H-1268-2026%22"
}
],
"structuredContent": "(same JSON as GET /v1/check)",
"isError": false
}
}
Notificações como notifications/initialized recebem 202 Accepted sem corpo. Erros de protocolo usam códigos JSON-RPC: -32600 solicitação inválida, -32601 método desconhecido, -32602 ferramenta desconhecida.
Orientação para agentes
- Comece com
check_productusando o que o usuário tiver; adicione a marca sempre que souber. - Mostre o nível de confiança e o link da fonte com cada correspondência, e diga que uma correspondência deve ser confirmada contra o aviso da agência.
- Não diga ao usuário que um produto é seguro porque nada correspondeu.