Recall Kitchen

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
99%
Integridad del esquema
89%
Calidad de los nombres
94%
Riesgo de envenenamiento
60%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (4)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainen add_inventory_product
  • MEDIUMTool description contains URL to non-standard domainen signup
  • LOWTool 'search_product_recalls_from_image' name length outside 3-30 rangeen search_product_recalls_from_image

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~7,912Tokens (definiciones de herramientas)
~4.0 KBTamaño de respuesta típico
Impacto significativo en la atención (6.18% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

https://app.recallkitchen.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (20)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡add_inventory_product(name, brand, category, sku)

Add 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "product name"
    },
    "brand": {
      "type": "string",
      "description": "optional brand"
    },
    "category": {
      "type": "string",
      "description": "optional category",
      "enum": [
        "bad_result",
        "tool_error",
        "missing_capability",
        "confusing_schema",
        "docs",
        "other"
      ]
    },
    "sku": {
      "type": "string",
      "description": "optional SKU or UPC"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "brand": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "sku": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "brand",
    "category",
    "sku"
  ],
  "additionalProperties": false
}
🟡add_watch_pattern(pattern, weight)

Add a recall watch pattern for this API key. Same websearch syntax as search_product_recalls (AND, OR, -exclude, quoted phrases). Requires an API key.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pattern": {
      "type": "string",
      "description": "websearch pattern: unquoted words are AND, OR is or, -term excludes, quoted phrases match as a unit"
    },
    "weight": {
      "type": "integer",
      "description": "optional weight 0-8, default 4",
      "minimum": 0,
      "maximum": 8
    }
  },
  "required": [
    "pattern"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "pattern": {
      "type": "string"
    },
    "weight": {
      "type": "integer"
    }
  },
  "required": [
    "pattern",
    "weight"
  ],
  "additionalProperties": false
}
🟢check_tracked_products(limit, offset)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "description": "maximum matches to return",
      "default": 3,
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "type": "integer",
      "description": "number of matches to skip",
      "minimum": 0,
      "maximum": 100
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "matches": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "recall": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "source": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "descriptionTruncated": {
                "type": "boolean"
              },
              "url": {
                "type": "string"
              },
              "publishedOn": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "extracted": {
                "type": [
                  "null",
                  "object"
                ],
                "properties": {
                  "locations": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "establishments": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "stores": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "products": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "object",
                      "properties": {
                        "productName": {
                          "type": "string"
                        },
                        "packaging": {
                          "type": "string"
                        },
                        "lotCodes": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "modelNumbers": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "upcs": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "useByDates": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "productsTruncated": {
                    "type": "boolean"
                  },
                  "images": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "contact": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "properties": {
                      "phones": {
                        "type": [
                          "null",
                          "array"
                        ],
                        "items": {
                          "type": "string"
                        }
                      },
                      "emails": {
                        "type": [
                          "null",
                          "array"
                        ],
                        "items": {
                          "type": "string"
                        }
                      },
                      "websites": {
                        "type": [
                          "null",
                          "array"
                        ],
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "id",
              "source",
              "title",
              "description",
              "url",
              "publishedOn"
            ],
            "additionalProperties": false
          },
          "reasons": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "patterns": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "inventory": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "brand": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "sku": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name",
                "brand",
                "category",
                "sku"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "recall",
          "reasons"
        ],
        "additionalProperties": false
      }
    },
    "offset": {
      "type": "integer"
    },
    "nextOffset": {
      "type": [
        "null",
        "integer"
      ]
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "matches",
    "offset"
  ],
  "additionalProperties": false
}
🟡create_api_key(name, kind)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "optional key name"
    },
    "kind": {
      "type": "string",
      "description": "optional kind: user or agent, default agent",
      "enum": [
        "user",
        "agent"
      ]
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "key_id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "api_key": {
      "type": "string"
    },
    "limits": {
      "type": "object",
      "properties": {
        "hourly": {
          "type": "integer"
        },
        "daily": {
          "type": "integer"
        },
        "max_keys_per_user": {
          "type": "integer"
        },
        "max_watch_patterns": {
          "type": "integer"
        },
        "max_inventory": {
          "type": "integer"
        },
        "allow_account_writes": {
          "type": "boolean"
        },
        "tier": {
          "type": "string"
        }
      },
      "required": [
        "hourly",
        "daily",
        "max_keys_per_user",
        "max_watch_patterns",
        "max_inventory",
        "allow_account_writes",
        "tier"
      ],
      "additionalProperties": false
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "key_id",
    "name",
    "kind",
    "api_key",
    "limits",
    "message"
  ],
  "additionalProperties": false
}
🟢get_product_recall(recall_id, id)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "recall_id": {
      "type": "string",
      "description": "recall id returned by search tools"
    },
    "id": {
      "type": "string",
      "description": "alias for recall_id"
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "descriptionTruncated": {
      "type": "boolean"
    },
    "url": {
      "type": "string"
    },
    "publishedOn": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "extracted": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "locations": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          }
        },
        "establishments": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          }
        },
        "stores": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          }
        },
        "products": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "object",
            "properties": {
              "productName": {
                "type": "string"
              },
              "packaging": {
                "type": "string"
              },
              "lotCodes": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "modelNumbers": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "upcs": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "useByDates": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          }
        },
        "productsTruncated": {
          "type": "boolean"
        },
        "images": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          }
        },
        "contact": {
          "type": [
            "null",
            "object"
          ],
          "properties": {
            "phones": {
              "type": [
                "null",
                "array"
              ],
              "items": {
                "type": "string"
              }
            },
            "emails": {
              "type": [
                "null",
                "array"
              ],
              "items": {
                "type": "string"
              }
            },
            "websites": {
              "type": [
                "null",
                "array"
              ],
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "id",
    "source",
    "title",
    "description",
    "url",
    "publishedOn"
  ],
  "additionalProperties": false
}
🟡give_feedback(message, category, severity)

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.

Esquema de entrada

{
  "type": "object",
  "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": {
      "type": "string",
      "description": "optional: bad_result, tool_error, missing_capability, confusing_schema, docs, or other",
      "enum": [
        "bad_result",
        "tool_error",
        "missing_capability",
        "confusing_schema",
        "docs",
        "other"
      ]
    },
    "severity": {
      "type": "string",
      "description": "optional: blocked, workaround, or annoyance",
      "enum": [
        "blocked",
        "workaround",
        "annoyance"
      ]
    }
  },
  "required": [
    "message"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "accepted": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "accepted",
    "message"
  ],
  "additionalProperties": false
}
🟢list_api_keys

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

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "keys": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "key_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "key_prefix": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "last_used_at": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "key_id",
          "name",
          "kind",
          "key_prefix",
          "created_at"
        ],
        "additionalProperties": false
      }
    },
    "limits": {
      "type": "object",
      "properties": {
        "hourly": {
          "type": "integer"
        },
        "daily": {
          "type": "integer"
        },
        "max_keys_per_user": {
          "type": "integer"
        },
        "max_watch_patterns": {
          "type": "integer"
        },
        "max_inventory": {
          "type": "integer"
        },
        "allow_account_writes": {
          "type": "boolean"
        },
        "tier": {
          "type": "string"
        }
      },
      "required": [
        "hourly",
        "daily",
        "max_keys_per_user",
        "max_watch_patterns",
        "max_inventory",
        "allow_account_writes",
        "tier"
      ],
      "additionalProperties": false
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "keys",
    "limits"
  ],
  "additionalProperties": false
}
🟢list_inventory(query, limit, offset)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "optional inventory search"
    },
    "limit": {
      "type": "integer",
      "description": "number of products to return",
      "default": 3,
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "type": "integer",
      "description": "number of products to skip",
      "minimum": 0,
      "maximum": 100
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "products": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "brand",
          "category",
          "sku"
        ],
        "additionalProperties": false
      }
    },
    "offset": {
      "type": "integer"
    },
    "nextOffset": {
      "type": [
        "null",
        "integer"
      ]
    }
  },
  "required": [
    "products",
    "offset"
  ],
  "additionalProperties": false
}
🟢list_recall_notifications(unread, limit, offset)

List 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "unread": {
      "type": [
        "null",
        "boolean"
      ],
      "description": "if true, only unread notifications; if false, include read. Default: true (unread only)"
    },
    "limit": {
      "type": "integer",
      "description": "number of notifications to return",
      "default": 3,
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "type": "integer",
      "description": "number of notifications to skip",
      "minimum": 0,
      "maximum": 100
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "notifications": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "recall": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "source": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "descriptionTruncated": {
                "type": "boolean"
              },
              "url": {
                "type": "string"
              },
              "publishedOn": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "extracted": {
                "type": [
                  "null",
                  "object"
                ],
                "properties": {
                  "locations": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "establishments": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "stores": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "products": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "object",
                      "properties": {
                        "productName": {
                          "type": "string"
                        },
                        "packaging": {
                          "type": "string"
                        },
                        "lotCodes": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "modelNumbers": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "upcs": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "useByDates": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "productsTruncated": {
                    "type": "boolean"
                  },
                  "images": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "contact": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "properties": {
                      "phones": {
                        "type": [
                          "null",
                          "array"
                        ],
                        "items": {
                          "type": "string"
                        }
                      },
                      "emails": {
                        "type": [
                          "null",
                          "array"
                        ],
                        "items": {
                          "type": "string"
                        }
                      },
                      "websites": {
                        "type": [
                          "null",
                          "array"
                        ],
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "id",
              "source",
              "title",
              "description",
              "url",
              "publishedOn"
            ],
            "additionalProperties": false
          },
          "message": {
            "type": "string"
          },
          "sentOn": {
            "type": "string"
          },
          "read": {
            "type": "boolean"
          }
        },
        "required": [
          "recall",
          "sentOn",
          "read"
        ],
        "additionalProperties": false
      }
    },
    "offset": {
      "type": "integer"
    },
    "nextOffset": {
      "type": [
        "null",
        "integer"
      ]
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "notifications",
    "offset"
  ],
  "additionalProperties": false
}
🟢list_watch_patterns

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

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "patterns": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "pattern": {
            "type": "string"
          },
          "weight": {
            "type": "integer"
          }
        },
        "required": [
          "pattern",
          "weight"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "patterns"
  ],
  "additionalProperties": false
}
🟢lookup_product(upc)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "upc": {
      "type": "string",
      "description": "UPC or EAN barcode digits"
    }
  },
  "required": [
    "upc"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "upc": {
      "type": "string"
    },
    "found": {
      "type": "boolean"
    },
    "hint": {
      "type": "string"
    },
    "product": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "upc": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "format": {
          "type": "string"
        },
        "brand": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "sku": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "branded_food": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "brand_owner": {
          "type": "string"
        },
        "brand_name": {
          "type": "string"
        },
        "ingredients": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "gtin_upc": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "upc",
    "found"
  ],
  "additionalProperties": false
}
🟢mark_notification_read(recall_id, read)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "recall_id": {
      "type": "string",
      "description": "recall id from list_recall_notifications"
    },
    "read": {
      "type": [
        "null",
        "boolean"
      ],
      "description": "if true, mark read; if false, mark unread. Default true"
    }
  },
  "required": [
    "recall_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "recall_id": {
      "type": "string"
    },
    "read": {
      "type": "boolean"
    },
    "updated": {
      "type": "boolean"
    }
  },
  "required": [
    "recall_id",
    "read",
    "updated"
  ],
  "additionalProperties": false
}
🔴remove_inventory_product(id)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "inventory product id from list_inventory"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "removed": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "removed"
  ],
  "additionalProperties": false
}
🔴remove_watch_pattern(pattern)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pattern": {
      "type": "string",
      "description": "watch pattern to remove"
    }
  },
  "required": [
    "pattern"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "pattern": {
      "type": "string"
    },
    "removed": {
      "type": "boolean"
    }
  },
  "required": [
    "pattern",
    "removed"
  ],
  "additionalProperties": false
}
🔴revoke_api_key(key_id)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "key_id": {
      "type": "string",
      "description": "key_id from list_api_keys"
    }
  },
  "required": [
    "key_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "key_id": {
      "type": "string"
    },
    "revoked": {
      "type": "boolean"
    }
  },
  "required": [
    "key_id",
    "revoked"
  ],
  "additionalProperties": false
}
🟢search_product_recalls(query, source, sources, since, until, ...)

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, 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "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"
    },
    "source": {
      "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.",
      "enum": [
        "cpsc",
        "fdafoodsafety",
        "FDAMedWatch",
        "usda",
        "nhtsa",
        "canada",
        "costco",
        "target",
        "walmart",
        "openfda"
      ]
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cpsc",
          "fdafoodsafety",
          "FDAMedWatch",
          "usda",
          "nhtsa",
          "canada",
          "costco",
          "target",
          "walmart",
          "openfda"
        ]
      },
      "description": "optional sources to include (OR). Same values as source",
      "uniqueItems": true
    },
    "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",
      "description": "optional published window in years (1-50). Ignored when since is set",
      "minimum": 1,
      "maximum": 50
    },
    "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."
    },
    "offset": {
      "type": "integer",
      "description": "number of recalls to skip",
      "minimum": 0,
      "maximum": 100
    },
    "limit": {
      "type": "integer",
      "description": "number of recalls to return, 1-100, default 3",
      "default": 3,
      "minimum": 1,
      "maximum": 100
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "recalls": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "descriptionTruncated": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "publishedOn": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "extracted": {
            "type": [
              "null",
              "object"
            ],
            "properties": {
              "locations": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "establishments": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "stores": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "products": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "object",
                  "properties": {
                    "productName": {
                      "type": "string"
                    },
                    "packaging": {
                      "type": "string"
                    },
                    "lotCodes": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "modelNumbers": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "upcs": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "useByDates": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                }
              },
              "productsTruncated": {
                "type": "boolean"
              },
              "images": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "contact": {
                "type": [
                  "null",
                  "object"
                ],
                "properties": {
                  "phones": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "emails": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "websites": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "source",
          "title",
          "description",
          "url",
          "publishedOn"
        ],
        "additionalProperties": false
      }
    },
    "offset": {
      "type": "integer"
    },
    "nextOffset": {
      "type": [
        "null",
        "integer"
      ]
    }
  },
  "required": [
    "recalls",
    "offset"
  ],
  "additionalProperties": false
}
🟢search_product_recalls_by_upc(upc, barcode, image_url, url, limit, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "upc": {
      "type": "string",
      "description": "UPC or EAN barcode digits"
    },
    "barcode": {
      "type": "string",
      "description": "alias for upc"
    },
    "image_url": {
      "type": "string",
      "description": "optional HTTPS URL or data:image/...;base64 URI of a barcode image"
    },
    "url": {
      "type": "string",
      "description": "alias for image_url"
    },
    "limit": {
      "type": "integer",
      "description": "number of recalls to return, 1-100, default 3",
      "default": 3,
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "type": "integer",
      "description": "number of recalls to skip",
      "minimum": 0,
      "maximum": 100
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "upc": {
      "type": "string"
    },
    "found": {
      "type": "boolean"
    },
    "match": {
      "type": "string"
    },
    "confidence": {
      "type": "number"
    },
    "hint": {
      "type": "string"
    },
    "product": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "upc": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "format": {
          "type": "string"
        },
        "brand": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "sku": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "recalls": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "descriptionTruncated": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "publishedOn": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "extracted": {
            "type": [
              "null",
              "object"
            ],
            "properties": {
              "locations": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "establishments": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "stores": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "products": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "object",
                  "properties": {
                    "productName": {
                      "type": "string"
                    },
                    "packaging": {
                      "type": "string"
                    },
                    "lotCodes": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "modelNumbers": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "upcs": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "useByDates": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                }
              },
              "productsTruncated": {
                "type": "boolean"
              },
              "images": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "contact": {
                "type": [
                  "null",
                  "object"
                ],
                "properties": {
                  "phones": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "emails": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "websites": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "source",
          "title",
          "description",
          "url",
          "publishedOn"
        ],
        "additionalProperties": false
      }
    },
    "offset": {
      "type": "integer"
    },
    "nextOffset": {
      "type": [
        "null",
        "integer"
      ]
    }
  },
  "required": [
    "upc",
    "found",
    "recalls",
    "offset"
  ],
  "additionalProperties": false
}
🟢search_product_recalls_from_image(image_url, url, limit, include_category_matches)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "image_url": {
      "type": "string",
      "description": "HTTPS URL or data:image/...;base64 URI of a photo containing products. Local file paths are not supported."
    },
    "url": {
      "type": "string",
      "description": "alias for image_url"
    },
    "limit": {
      "type": "integer",
      "description": "number of recalls to return per product, 1-100, default 3",
      "default": 3,
      "minimum": 1,
      "maximum": 100
    },
    "include_category_matches": {
      "type": "boolean",
      "description": "if true, attach keyword recalls for generic items such as cups; default false"
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "products": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "product": {
            "type": "object",
            "properties": {
              "upc": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "format": {
                "type": "string"
              },
              "brand": {
                "type": "string"
              },
              "category": {
                "type": "string"
              },
              "sku": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "match": {
            "type": "string"
          },
          "confidence": {
            "type": "number"
          },
          "recalls": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "source": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "descriptionTruncated": {
                  "type": "boolean"
                },
                "url": {
                  "type": "string"
                },
                "publishedOn": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "extracted": {
                  "type": [
                    "null",
                    "object"
                  ],
                  "properties": {
                    "locations": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "establishments": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "stores": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "products": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "object",
                        "properties": {
                          "productName": {
                            "type": "string"
                          },
                          "packaging": {
                            "type": "string"
                          },
                          "lotCodes": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string"
                            }
                          },
                          "modelNumbers": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string"
                            }
                          },
                          "upcs": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string"
                            }
                          },
                          "useByDates": {
                            "type": [
                              "null",
                              "array"
                            ],
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "productsTruncated": {
                      "type": "boolean"
                    },
                    "images": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "contact": {
                      "type": [
                        "null",
                        "object"
                      ],
                      "properties": {
                        "phones": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "emails": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "websites": {
                          "type": [
                            "null",
                            "array"
                          ],
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "required": [
                "id",
                "source",
                "title",
                "description",
                "url",
                "publishedOn"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "product",
          "match",
          "confidence",
          "recalls"
        ],
        "additionalProperties": false
      }
    },
    "recalls": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "descriptionTruncated": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "publishedOn": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "extracted": {
            "type": [
              "null",
              "object"
            ],
            "properties": {
              "locations": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "establishments": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "stores": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "products": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "object",
                  "properties": {
                    "productName": {
                      "type": "string"
                    },
                    "packaging": {
                      "type": "string"
                    },
                    "lotCodes": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "modelNumbers": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "upcs": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "useByDates": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                }
              },
              "productsTruncated": {
                "type": "boolean"
              },
              "images": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "contact": {
                "type": [
                  "null",
                  "object"
                ],
                "properties": {
                  "phones": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "emails": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "websites": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "source",
          "title",
          "description",
          "url",
          "publishedOn"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "products",
    "recalls"
  ],
  "additionalProperties": false
}
🟢search_recalls_by_identifier(upc, lot_code, model_number, product_name, vin, ...)

Search 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "upc": {
      "type": "string",
      "description": "product UPC or EAN as stored on the recall"
    },
    "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)"
    },
    "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",
      "description": "number of recalls to return",
      "default": 3,
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "type": "integer",
      "description": "number of recalls to skip",
      "minimum": 0,
      "maximum": 100
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "recalls": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "descriptionTruncated": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "publishedOn": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "extracted": {
            "type": [
              "null",
              "object"
            ],
            "properties": {
              "locations": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "establishments": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "stores": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "products": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "object",
                  "properties": {
                    "productName": {
                      "type": "string"
                    },
                    "packaging": {
                      "type": "string"
                    },
                    "lotCodes": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "modelNumbers": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "upcs": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    },
                    "useByDates": {
                      "type": [
                        "null",
                        "array"
                      ],
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                }
              },
              "productsTruncated": {
                "type": "boolean"
              },
              "images": {
                "type": [
                  "null",
                  "array"
                ],
                "items": {
                  "type": "string"
                }
              },
              "contact": {
                "type": [
                  "null",
                  "object"
                ],
                "properties": {
                  "phones": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "emails": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "websites": {
                    "type": [
                      "null",
                      "array"
                    ],
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "source",
          "title",
          "description",
          "url",
          "publishedOn"
        ],
        "additionalProperties": false
      }
    },
    "offset": {
      "type": "integer"
    },
    "nextOffset": {
      "type": [
        "null",
        "integer"
      ]
    }
  },
  "required": [
    "recalls",
    "offset"
  ],
  "additionalProperties": false
}
🟡signup(email, name, accept_terms)

Create 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "email address for the new account"
    },
    "name": {
      "type": "string",
      "description": "optional display name"
    },
    "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"
    }
  },
  "required": [
    "email",
    "accept_terms"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "email_verified": {
      "type": "boolean"
    },
    "key_id": {
      "type": "string"
    },
    "api_key": {
      "type": "string"
    },
    "limits": {
      "type": "object",
      "properties": {
        "hourly": {
          "type": "integer"
        },
        "daily": {
          "type": "integer"
        },
        "max_keys_per_user": {
          "type": "integer"
        },
        "max_watch_patterns": {
          "type": "integer"
        },
        "max_inventory": {
          "type": "integer"
        },
        "allow_account_writes": {
          "type": "boolean"
        },
        "tier": {
          "type": "string"
        }
      },
      "required": [
        "hourly",
        "daily",
        "max_keys_per_user",
        "max_watch_patterns",
        "max_inventory",
        "allow_account_writes",
        "tier"
      ],
      "additionalProperties": false
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "user_id",
    "email",
    "email_verified",
    "key_id",
    "api_key",
    "limits",
    "message"
  ],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada20 herramientas
verificadoversión no registrada19 herramientas
verificadoversión no registrada19 herramientas