关于 Food Safety Supply Chain
Food Safety Supply Chain 是面向食品制造商、餐饮连锁、进口商和食品安全顾问的 MCP 服务。它并行汇集 7 个公共数据源,并通过 4 种评分模型生成结构化供应链风险报告。
主要功能
- 01并行查询 7 个公共数据源
- 02评估原料与供应商风险
- 03识别生物、化学和环境危害
- 04结合天气与召回数据预测季节风险
- 05生成含建议的风险报告
适用场景
- 01筛选原料及潜在供应商
- 02监测供应商网络的卫生评级
- 03按来源国评估食品进口风险
- 04跟踪不良事件与季节性安全信号
MCP 相关
提供查询召回、不良事件、供应商卫生、原料风险、污染途径、季节预测及综合报告的工具。MCP 客户端可调用这些工具,从公共数据源获取结构化结果。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://ryanclinton--food-safety-supply-chain-mcp.apify.actor/mcpclaude mcp add --transport http food-safety-supply-chain https://ryanclinton--food-safety-supply-chain-mcp.apify.actor/mcp{"mcpServers":{"food-safety-supply-chain":{"type":"http","url":"https://ryanclinton--food-safety-supply-chain-mcp.apify.actor/mcp"}}}在 Cursor 中打开{"servers":{"food-safety-supply-chain":{"type":"http","url":"https://ryanclinton--food-safety-supply-chain-mcp.apify.actor/mcp"}}}在 VS Code 中打开{"mcpServers":{"food-safety-supply-chain":{"type":"http","url":"https://ryanclinton--food-safety-supply-chain-mcp.apify.actor/mcp"}}}{"mcpServers":{"food-safety-supply-chain":{"serverUrl":"https://ryanclinton--food-safety-supply-chain-mcp.apify.actor/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
食品安全供应链 MCP 服务
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf):
{
"mcpServers": {
"food-safety-supply-chain-mcp": {
"url": "https://ryanclinton--food-safety-supply-chain-mcp.apify.actor/mcp"
}
}
}
通过模型上下文协议提供食品安全供应链情报,让 AI 助手能够直接访问 FDA 召回信息、不良事件报告、供应商卫生评级、原料贸易流向、污染传播路径和季节性风险预测。专为食品制造商、连锁餐厅、进口商和食品安全顾问打造,帮助他们在 AI 工作流中获取实时监管和供应链数据。
此 MCP 服务通过一次工具调用并行编排 7 个公共数据源。每次查询都会分发至 FDA 召回数据库、FDA CAERS 不良事件系统、英国食品卫生登记系统、Open Food Facts、联合国 COMTRADE 贸易统计数据、OpenAQ 空气质量监测站和 NOAA 天气警报,然后通过 4 个专用评分模型综合结果,生成结构化风险报告。无需订阅,也无需手动搜索:只需按工具调用次数付费。
可以提取哪些数据?
| 数据点 | 来源 | 示例 |
|---|---|---|
| 📋 FDA 召回等级和原因 | FDA 食品召回监测系统 | “I 级——沙门氏菌污染,涉及 14 个州” |
| ⚠️ 不良事件结果和严重程度 | FDA CAERS(CFSAN) | “住院、过敏反应——未标示的花生” |
| ⭐ 食品场所卫生评级(0–5) | 英国食品标准局 | “Pinnacle Foods Ltd,曼彻斯特——4/5,最近检查时间:2024-11” |
| 🧪 Nutri-Score 产品等级 | Open Food Facts | “Acme 燕麦棒——B 级,过敏原:麸质、坚果” |
| 🌍 按原产国划分的贸易流量 | 联合国 COMTRADE | “从越南进口的虾——24 亿美元,2023 年” |
| 🌫️ 场所附近 PM2.5 空气质量读数 | OpenAQ | “芝加哥场所区域——18.2 µg/m³(超过 WHO 15 µg/m³)” |
| 🌩️ 当前天气警报和严重程度 | NOAA 天气警报 | “极端高温警报——存在冷链中断风险” |
| 📊 原料风险评分(0–100) | 综合模型 | 评分:72,riskLevel:“HIGH”,riskCorrelation:4.3 |
| 🦠 污染传播路径分类 | 评分引擎 | “生物:李斯特菌”,“化学:过敏原”,“环境:PM2.5” |
| 🏭 供应商卫生综合评分 | 多源模型 | 评分:78,hygieneLevel:“GOOD”,五星占比:64.2% |
| 🌡️ 季节性风险等级和天气因素 | 季节性模型 | “高峰期——多项高温警报,召回量比平均月份高 40%” |
| 📝 供应链综合风险报告 | 全部 7 个数据源 | compositeScore:58,riskLevel:“HIGH”,5 条建议 |
为什么使用这款食品安全 MCP?
手动监控食品安全,需要登录 FDA 召回门户、搜索 CFSAN 的不良事件系统、交叉查询英国食品标准局的记录、调取联合国 COMTRADE 报告,然后手动关联所有数据。评估单一原料或供应商需要 3–5 小时,而且仍会留下盲点——你可能会发现召回,却错过预示召回的贸易流向模式。
这款 MCP 可自动完成整个流程。一次工具调用即可同时从全部 7 个来源收集数据,并应用评分模型:每起 I 类召回计 10 分;发现生物病原体(沙门氏菌、李斯特菌、大肠杆菌、弯曲杆菌、诺如病毒、肉毒杆菌)时每项计 8 分;卫生评级较差时扣分;并将召回频率与进口量关联,以揭示系统性风险。
- 计划任务 — 每日或每周对受监控原料进行食品安全排查,及时更新风险概况
- API 访问 — 在质量管理工作流中,通过 Python、JavaScript 或任何 HTTP 客户端触发评估
- 代理轮换 — 所有底层数据收集都使用 Apify 内置的代理基础设施,可靠访问监管数据库
- 监控 — 供应链风险报告评级为 HIGH 或 CRITICAL 时,通过 Slack 或电子邮件接收提醒
- 集成 — 通过 webhook 连接 Zapier、Make、Google Sheets 或质量管理系统
功能
- 7 个并行数据源 — 每次工具调用都会同时查询 FDA 食品召回监控、FDA CAERS 不良事件、英国食品卫生、Open Food Facts、联合国 COMTRADE、OpenAQ 和 NOAA 天气数据
- 原料风险热力图 — 将联合国 COMTRADE 进口量与 FDA 召回和不良事件频率关联,计算每百万美元贸易额对应的召回相关性分数(最高 20 分)
- 生物病原体检测 — 扫描召回原因,识别 8 种指定病原体:沙门氏菌、李斯特菌、大肠杆菌、弯曲杆菌、诺如病毒、肉毒杆菌、梭菌及其变体
- 化学危害检测 — 从召回文本中识别 9 类化学污染物:过敏原、未申报成分、铅、汞、砷、农药残留、三聚氰胺、黄曲霉毒素和亚硫酸盐
- 环境污染评分 — 将 OpenAQ 的 PM2.5 和 PM10 读数与 WHO 食品安全阈值(PM2.5 >15 µg/m³、PM10 >45 µg/m³)进行比较,评估生产区域附近的污染情况
- 英国食品卫生综合评分 — 按 FSA 0–5 分制为经营场所评级,应用按数量加权的分数,对较差评级(0–1 星)扣分,并将 Open Food Facts 营养评分数据作为产品质量信号纳入评分
- 季节性风险预测 — 跟踪每月召回分布,计算当月与平均值之比,并根据 NOAA 高温警报严重程度进行加权(EXTREME = 10 分,SEVERE = 6 分)
- 四模型综合评分 — 原料风险(30%)+ 污染途径(25%)+ 供应商卫生(反向计分,25%)+ 季节性风险(20%)= 0–100 分综合评分
- 四级风险分类 — LOW、MODERATE、HIGH、CRITICAL,阈值可配置为 25/50/75
- 可执行建议 — 达到特定分数阈值时生成基于规则的建议:污染途径达到 3 个或以上时触发 HACCP 审查;原料风险达到 CRITICAL 时触发供应商审计
- 待机模式 — 以持久化 HTTP 服务运行,工具调用可在数秒内响应,无需等待冷启动
- 按事件付费 — 每次工具调用 $0.045,无订阅,无最低消费
食品安全供应链情报的使用场景
食品制造商的原料采购
食品制造商的质量保证团队需要在签订合同前评估供应商风险。使用 trace_ingredient_risk,将每种拟采购原料与 FDA 召回历史记录和 UN COMTRADE 进口量数据进行交叉比对。若某种原料来自贸易额对应的召回相关性较高的国家,这就是一个风险信号,值得对供应商开展额外审核——几秒钟即可发现,而非耗时数天。
连锁餐饮的合规监控
拥有多个门店的餐饮集团和特许经营运营商需要持续掌握卫生合规情况。使用 assess_supplier_hygiene,输入地点或企业名称,即可查询供应商网络中英国 FSA 的检查评分。供应商卫生综合评分会标记卫生水平低于可接受标准的经营场所,以便在监管检查迫使采取行动前及时处理。
食品进口与海关风险评估
管理大量食品货运的进口商和经纪商可以使用 trace_ingredient_risk,并输入国家代码,评估特定商品类别的原产国风险。将 UN COMTRADE 进口量与 FDA 召回密度相关联,可以找出单位召回风险最高的进口通道,从而有针对性地开展进口前检测。
过敏原与不良事件信号检测
追踪新兴安全信号的法规事务团队可以使用 analyze_adverse_events,监控 FDA CAERS 中与特定原料或品牌相关的报告。结果分布分析可以在住院和危及生命的事件累积成正式召回之前发现这些情况,从而及时采取配方调整或标签审核措施。
季节性供应链规划
规划夏季采购周期的采购与运营团队可以使用 project_seasonal_risk,将 NOAA 当前高温警报的严重程度与 FDA 历史召回季节性模式进行比较。如果当月召回频率比平均水平高出 40% 以上,同时还发布了极端高温预警,模型就会标记为季节性风险峰值——此时应提高冷链监控频率。
污染事故调查支持
响应消费者投诉的食品安全调查人员可以使用 detect_contamination_pathways,对三种同时发生的污染路径进行初步筛查。一次调用即可评估近期召回数据中的生物病原体命中情况、不良事件报告中的化学危害模式,以及生产设施附近升高的 PM2.5 水平,从而在实验室结果返回前缩小调查范围。
如何运行食品安全供应链查询
- 连接 MCP 服务 — 将服务 URL
https://food-safety-supply-chain-mcp.apify.actor/mcp添加到 MCP 客户端(Claude Desktop、Cursor、Windsurf 或任何兼容的客户端)。在 Authorization 请求头中提供 Apify API token 作为 Bearer token。 - 选择工具 — 使用
generate_supply_chain_risk_report,全面评估任意原料或供应商;也可以使用search_food_recalls或assess_supplier_hygiene等专用工具进行定向检查。 - 提供查询内容 — 输入食品名称(“花生酱”)、原料(“虾”)、企业名称(“Pinnacle Foods Manchester”)或类别(“乳制品补充剂”)。还可以选择添加地点,以获取天气和空气质量背景信息。
- 查看结构化结果 — 服务会返回 JSON,其中包含风险评分、污染路径、卫生等级、可执行的建议,以及底层数据源中的所有原始记录。可将结果复制到报告中、导入电子表格,或用于下游 AI 分析。
输入参数
此 MCP 服务通过 MCP 工具而非 Actor 输入字段公开其接口。它没有传统的输入架构——所有参数都作为工具调用参数传递。
| 工具 | 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|---|
search_food_recalls | query | string | 是 | 食品、配料、制造商或召回原因 |
search_food_recalls | classification | string | 否 | 按召回等级筛选:“Class I”“Class II”“Class III” |
analyze_adverse_events | query | string | 是 | 食品、补充剂、配料或品牌 |
assess_supplier_hygiene | query | string | 是 | 企业名称、地点或食品类别 |
trace_ingredient_risk | ingredient | string | 是 | 食品配料、农产品或产品类别 |
trace_ingredient_risk | country | string | 否 | 用于重点分析贸易流向的原产国代码 |
detect_contamination_pathways | query | string | 是 | 食品、配料或设施地点 |
detect_contamination_pathways | latitude | number | 否 | 用于精准查询空气质量的设施纬度 |
detect_contamination_pathways | longitude | number | 否 | 用于精准查询空气质量的设施经度 |
project_seasonal_risk | query | string | 是 | 食品或类别 |
project_seasonal_risk | location | string | 否 | 用于获取天气数据的地理区域 |
generate_supply_chain_risk_report | query | string | 是 | 食品、配料、供应商或类别 |
generate_supply_chain_risk_report | location | string | 否 | 用于获取环境和天气数据的地理区域 |
generate_supply_chain_risk_report | country | string | 否 | 用于分析贸易流向的原产国 |
输入提示
- 从
generate_supply_chain_risk_report开始——此工具会一次性调用全部 7 个数据源和全部 4 个评分模型,以 $0.045 的价格提供最完整的风险概况。 - 使用专用工具提升速度——如果只需要召回数据,
search_food_recalls只会运行一个 Actor,而非七个,因此返回结果更快。 - 添加坐标以评估环境风险——为
detect_contamination_pathways提供latitude和longitude,即可针对特定生产设施周围 25 km 半径范围精准查询空气质量。 - 指定
country以评估进口风险——向trace_ingredient_risk传入联合国国家代码(例如,"156"代表中国,"704"代表越南),可将贸易流向数据限定为该原产国,从而提高召回关联分析的准确性。 - 按等级筛选召回信息——在
search_food_recalls中使用classification: "Class I",即可只查看最严重的召回信息(涉及健康或生命风险),排除 Class II/III 的干扰。
输出示例
以下是针对查询“shrimp”运行 generate_supply_chain_risk_report 所得到的典型输出:
{
"query": "shrimp",
"compositeScore": 58,
"riskLevel": "HIGH",
"ingredientRisk": {
"score": 72,
"recallCount": 9,
"adverseEventCount": 14,
"tradeFlowVolume": 2400000000,
"riskCorrelation": 3.75,
"riskLevel": "HIGH",
"topRecallReasons": [
{ "reason": "Salmonella contamination", "count": 4 },
{ "reason": "Undeclared allergens", "count": 3 },
{ "reason": "Listeria monocytogenes", "count": 2 }
],
"signals": [
"9 FDA food recalls — elevated ingredient risk",
"4 serious adverse events (death/hospitalization)"
]
},
"contaminationPathways": {
"score": 54,
"biologicalRisk": 24,
"chemicalRisk": 18,
"environmentalRisk": 12,
"pathwayCount": 5,
"pathways": [
"Biological: salmonella",
"Biological: listeria",
"Chemical: allergen",
"Chemical: undeclared",
"Environmental: air particulate contamination"
],
"signals": [
"Multiple biological pathogen detections in recall history",
"Chemical contamination pathways detected (allergens/metals/pesticides)",
"Environmental air quality exceeds food safety thresholds"
]
},
"supplierHygiene": {
"score": 62,
"establishmentsChecked": 38,
"averageRating": 4.1,
"fiveStarPct": 57.9,
"zeroStarPct": 2.6,
"hygieneLevel": "GOOD",
"ratingDistribution": { "0": 1, "1": 2, "2": 3, "3": 5, "4": 8, "5": 19 },
"signals": []
},
"seasonalRisk": {
"score": 48,
"activeWeatherAlerts": 6,
"severeAlerts": 3,
"currentSeasonRisk": "MODERATE",
"weatherFactors": [
"Extreme heat — cold chain disruption risk",
"Flooding — water contamination risk"
],
"signals": [
"3 severe/extreme weather alerts — food safety impact"
]
},
"allSignals": [
"9 FDA food recalls — elevated ingredient risk",
"4 serious adverse events (death/hospitalization)",
"Multiple biological pathogen detections in recall history",
"Chemical contamination pathways detected (allergens/metals/pesticides)",
"Environmental air quality exceeds food safety thresholds",
"3 severe/extreme weather alerts — food safety impact"
],
"recommendations": [
"Multiple contamination pathways identified — review HACCP plan",
"Biological pathogen risk elevated — enhance microbiological testing",
"Peak seasonal risk — increase testing frequency and cold chain monitoring"
]
}
输出字段
| 字段 | 类型 | 描述 |
|---|---|---|
query | 字符串 | 输入的查询字符串 |
compositeScore | 数字 | 供应链总体风险评分 0–100(原料 30% + 污染 25% + 卫生反向计分 25% + 季节性 20%) |
riskLevel | 字符串 | 分类:LOW / MODERATE / HIGH / CRITICAL |
ingredientRisk.score | 数字 | 原料风险评分 0–100 |
ingredientRisk.recallCount | 数字 | 针对该查询找到的 FDA 召回总数 |
ingredientRisk.adverseEventCount | 数字 | 找到的 FDA CAERS 不良事件总数 |
ingredientRisk.tradeFlowVolume | 数字 | UN COMTRADE 贸易总额(美元) |
ingredientRisk.riskCorrelation | 数字 | 每百万美元贸易额对应的召回次数 |
ingredientRisk.riskLevel | 字符串 | LOW / MODERATE / HIGH / CRITICAL |
ingredientRisk.topRecallReasons | 数组 | 排名前 8 的召回原因及其出现次数 |
ingredientRisk.signals | 数组 | 触发的、易于理解的风险信号 |
contaminationPathways.score | 数字 | 污染途径评分 0–100 |
contaminationPathways.biologicalRisk | 数字 | 生物病原体子评分(最高 30) |
contaminationPathways.chemicalRisk | 数字 | 化学危害子评分(最高 30) |
contaminationPathways.environmentalRisk | 数字 | 环境空气质量子评分(最高 20) |
contaminationPathways.pathwayCount | 数字 | 检测到的不同污染途径数量 |
contaminationPathways.pathways | 数组 | 检测到的途径列表(例如,“生物:沙门氏菌”) |
contaminationPathways.signals | 数组 | 触发的、易于理解的污染信号 |
supplierHygiene.score | 数字 | 供应商卫生综合评分 0–100(越高越好) |
supplierHygiene.establishmentsChecked | 数字 | 结果中获得评级的英国 FSA 场所数量 |
supplierHygiene.averageRating | 数字 | FSA 卫生评级平均值 0–5 |
supplierHygiene.fiveStarPct | 数字 | 获得 5 星评级的场所百分比 |
supplierHygiene.zeroStarPct | 数字 | 获得 0 星评级的场所百分比 |
supplierHygiene.hygieneLevel | 字符串 | POOR / BELOW_AVERAGE / AVERAGE / GOOD / EXCELLENT |
supplierHygiene.ratingDistribution | 对象 | 各评级(0–5)的场所数量 |
supplierHygiene.signals | 数组 | 触发的卫生信号 |
seasonalRisk.score | 数字 | 季节性风险评分 0–100 |
seasonalRisk.activeWeatherAlerts | 数字 | 找到的 NOAA 天气警报总数 |
seasonalRisk.severeAlerts | 数字 | EXTREME 或 SEVERE 级别警报数量 |
seasonalRisk.recallSeasonality | 对象 | 按两位数月份键值统计的每月召回数量 |
seasonalRisk.currentSeasonRisk | 字符串 | LOW / MODERATE / HIGH / PEAK |
seasonalRisk.weatherFactors | 数组 | 与食品安全相关的天气事件描述 |
seasonalRisk.signals | 数组 | 触发的季节性信号 |
allSignals | 数组 | 汇总所有四种评分模型的信号 |
recommendations | 数组 | 超过阈值后触发的可执行建议 |
运行食品安全供应链查询需要多少费用?
此 MCP 采用按事件付费定价——每次工具调用收费 $0.045。平台计算费用已包含在内。没有月费、最低消费,也没有单次调用的数据限制。
| 场景 | 工具调用次数 | 单次调用费用 | 总费用 |
|---|---|---|---|
| 快速测试——单次召回搜索 | 1 | $0.045 | $0.045 |
| 定向检查——召回 + 不良事件 | 2 | $0.045 | $0.09 |
| 三工具供应商评估 | 3 | $0.045 | $0.135 |
| 每周完整配料审计(10 种配料) | 10 | $0.045 | $0.45 |
| 每日监控——每月 50 种产品 | 50 | $0.045 | $2.25 |
你可以为每次运行设置最高支出限额来控制费用。达到预算后,Actor 会停止运行,避免自动化工作流中的使用量失控。
相比之下,FoodLogiQ 或 SafetyChain 等食品安全信息服务每月收费 $500–2,000;使用此 MCP,大多数每天进行配料检查的团队每月花费不到 $5,且无需订阅承诺。Apify 免费套餐每月包含价值 $5 的平台额度,可免费进行 100 多次工具调用。
如何连接此食品安全 MCP 服务
Claude Desktop
将以下内容添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"food-safety-supply-chain": {
"url": "https://food-safety-supply-chain-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor / Windsurf / Cline
在 Tools 或 MCP 部分的 MCP 设置中添加此服务:
- URL:
https://food-safety-supply-chain-mcp.apify.actor/mcp - 身份验证标头:
Authorization: Bearer YOUR_APIFY_TOKEN
Python(通过 HTTP)
import requests
response = requests.post(
"https://food-safety-supply-chain-mcp.apify.actor/mcp",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "generate_supply_chain_risk_report",
"arguments": {
"query": "peanut butter",
"location": "California"
}
},
"id": 1
}
)
report = response.json()["result"]["content"][0]["text"]
import json
data = json.loads(report)
print(f"Composite risk score: {data['compositeScore']} ({data['riskLevel']})")
for rec in data.get("recommendations", []):
print(f" - {rec}")
JavaScript
const response = await fetch("https://food-safety-supply-chain-mcp.apify.actor/mcp", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "trace_ingredient_risk",
arguments: {
ingredient: "shrimp",
country: "704"
}
},
id: 1
})
});
const data = await response.json();
const result = JSON.parse(data.result.content[0].text);
console.log(`Ingredient risk: ${result.ingredientRisk.score} — ${result.ingredientRisk.riskLevel}`);
console.log(`Trade correlation: ${result.ingredientRisk.riskCorrelation} recalls per $M`);
cURL
# Full supply chain risk report
curl -X POST "https://food-safety-supply-chain-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"generate_supply_chain_risk_report","arguments":{"query":"spinach","location":"California","country":"484"}},"id":1}'
# Search recalls only
curl -X POST "https://food-safety-supply-chain-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"search_food_recalls","arguments":{"query":"romaine lettuce","classification":"Class I"}},"id":2}'
Food Safety Supply Chain MCP 的工作原理
阶段 1:并行收集数据
调用工具时,服务会使用 Promise.allSettled 向最多 7 个 Apify Actor 同时发送请求。每个 Actor 都在独立的 256 MB 容器中运行,超时时间为 120 秒。系统会妥善处理单个 Actor 的故障——失败的 Actor 会返回空数组,而不会阻塞整个响应,因此始终会返回部分结果。查询的 Actor 包括:fda-food-recall-monitor(FDA 召回数据库)、fda-food-adverse-events(FDA CAERS)、uk-food-hygiene(FSA 登记库)、open-food-facts(产品数据库)、un-comtrade-search(贸易流量)、openaq-air-quality(PM2.5/PM10 读数)和 noaa-weather-alerts(NOAA 警报信息源)。
阶段 2:应用评分模型
四个独立的评分函数会处理收集到的数据:
配料风险采用加权公式:召回严重程度(I 类 = 10 分,II 类 = 5 分,III 类 = 2 分,最高 35 分)+ 通过严重结果乘数计算的不良事件负担(最高 25 分)+ 对数缩放的贸易量(最高 20 分)+ 每百万美元召回相关性(最高 20 分)。
污染途径会扫描召回原因文本,查找 8 种生物病原体和 9 个化学危害关键词;每命中一种生物病原体得 8 分(最高 30 分),每命中一个化学危害关键词得 6 分(最高 30 分);随后加入超过 WHO 阈值的空气质量读数(PM2.5 >15 µg/m³ = 5 分,PM10 >45 µg/m³ = 3 分,最高 20 分)和不良事件严重程度加成(最高 20 分)。
供应商卫生状况使用 FSA 0–5 评分量表:平均评分 × 10(最高 50 分)+ 五星占比奖励(最高 20 分)− 0–1 星场所的低评分惩罚(最低 −30 分)+ 按 log2 缩放的销量可靠性奖励(最高 15 分)+ Open Food Facts Nutri-Score 质量调整(A 级 = +5,D/E 级 = −2,最高 15 分)。
季节性风险会计算月度召回比例,将当月召回数量与所有已观测月份的滚动平均值进行比较,然后加入 NOAA 天气严重程度分数(EXTREME = 10,SEVERE = 6,MODERATE = 3)和高温警报加成(持续高温事件最高 20 分)。
第 3 阶段:综合评分与建议
综合评分对四个模型加权:成分风险(30%)+ 污染途径(25%)+ 卫生状况反向评分(25%,因为卫生状况越好,风险越低)+ 季节性风险(20%)。系统会根据阈值条件评估五条建议规则:成分风险为 CRITICAL 时,立即建议审核供应商;污染途径达到 3 条或以上时,建议审查 HACCP 计划;卫生状况为 POOR 或 BELOW_AVERAGE 时,建议考虑替代供应商;季节性风险为 PEAK 时,建议提高检测频率;生物风险 ≥20 时,建议加强微生物检测。
第 4 阶段:MCP 响应
所有结构化结果都会序列化为 JSON,并作为 MCP 工具内容返回。服务在 Apify 的 Standby 模式下运行,使 Express HTTP 服务在请求之间保持运行,从而消除冷启动延迟。每次工具调用都会在 Actor 调用分派前计为一次按事件付费的计费事件,并在事件级别执行预算限制。
最佳使用建议
-
初步评估请使用
generate_supply_chain_risk_report。 它会在一次调用中查询全部 7 个数据源,费用为 $0.045。只有在需要深入了解某个特定维度、又不想重新运行完整流程时,才使用专用工具。 -
添加地理位置背景信息,以提高环境评分的准确性。 如果提供
latitude和longitude而非文本形式的位置,污染途径模型就能生成更丰富的环境风险信号——这使 OpenAQ Actor 能针对设施周边精确的 25 km 半径进行查询,而非仅查询城市名称。 -
按 Class I 筛选
search_food_recalls,用于分级处置。 Class I 召回表示存在导致严重健康后果的“合理可能性”。仅筛选 Class I 可减少干扰信息,并在每日监控工作流中优先呈现最高优先级事件。 -
注意解读供应商卫生评分的方向。 卫生状况越好,评分越高——这与其他评分相反,其他评分通常是越高表示风险越大。评分达到 80+ 表示 EXCELLENT;低于 40 表示 AVERAGE 或更差。请结合数值评分查看
hygieneLevel。 -
结合 Company Deep Research 开展供应商尽职调查。 卫生综合评分反映 FSA 检查历史;深度研究则会补充同一供应商实体的财务状况、诉讼情况和运营背景。
-
为受监控的成分安排每日运行。 使用 Apify 内置的计划功能,每天早晨调用
trace_ingredient_risk,检查排名前 10 的成分。每次调用费用为 $0.045,每日扫描 10 种成分的费用为 $0.45/天——不到任何商业食品安全 SaaS 费用的一小部分。 -
将
currentSeasonRisk: "PEAK"用作触发条件。 将季节性风险输出连接到 Webhook,在currentSeasonRisk变为 PEAK 时通知质量团队。这样无需人工监控,就能针对冷链和病原体风险季节建立自动预警系统。
与其他 Apify Actor 组合使用
| Actor | 组合方式 |
|---|---|
| 网站联系信息抓取工具 | 提取卫生评估中发现的问题供应商 QA 团队的联系信息 |
| 公司深度研究 | 对卫生评分为 POOR 或 BELOW_AVERAGE 的供应商开展全面尽职调查 |
| Trustpilot 评论分析器 | 将客户评论中的供应商声誉信号与卫生评级数据进行交叉核对 |
| 网站变更监控器 | 监控供应商或监管机构网站上的召回通知和合规更新 |
| B2B 潜在客户资格评估器 | 在替代供应商入驻前,对风险评估中发现的供应商进行评分 |
| HubSpot 潜在客户推送器 | 将食品安全评估中标记的问题供应商记录推送到 CRM,以便开展后续工作流 |
| 多平台评论分析器 | 汇总消费者对特定食品的反馈,并结合不良事件数据,全面了解安全情况 |
限制
- FDA 数据仅涵盖受美国监管的产品。 不包含来自欧盟、加拿大、澳大利亚或其他司法辖区的召回和不良事件。对于受欧盟监管的产品,英国食品卫生数据可提供部分参考,但并未涵盖 EFSA 的完整召回系统。
- 英国食品卫生数据涵盖英格兰、威尔士和北爱尔兰。 苏格兰采用独立的 Food Standards Scotland 系统,因此不在涵盖范围内。对于英国以外的食品经营场所,无法通过此 MCP 获取卫生评级数据。
- 贸易流量数据(UN COMTRADE)存在报告滞后。 COMTRADE 统计数据通常比当前日期晚 6–18 个月。这意味着最新的贸易变化不会反映在原料风险评分中。请将其作为趋势参考,而非实时跟踪工具。
- OpenAQ 的覆盖范围因地理位置而异。 全球空气质量监测站的分布并不均衡。农村地区或发展中国家的设施可能无法返回空气质量数据,因此环境污染评分会显示为零,而非反映实际情况。
- 污染途径检测依赖召回原因文本。 如果召回原因表述含糊(例如只写“可能掺假”,但未指明污染物),即使实际存在危害,也不会触发特定病原体或化学物质标记。
- 评分模型不能取代 HACCP 或食品安全审计。 评分反映的是公共数据中的风险信号,不构成正式的安全评估、监管认证或关于产品安全的法律意见。
- NOAA 天气数据以美国为主。 天气预警源覆盖美国领土。生产位于亚洲、南美洲或非洲的供应链不会收到这些地区的天气中断信号。
- 公共数据没有身份验证或访问限制。 所有数据源均为政府公开数据和开放数据库。无法访问私有供应商审计记录、专有检测结果和内部检查记录。
集成
- Zapier — 在数据库中添加新的供应商记录时触发食品安全风险报告,并将 HIGH/CRITICAL 结果发送到质量管理渠道
- Make — 构建自动化工作流,每周运行一次成分风险追踪,并将最新评分填入 Google Sheets 仪表板
- Google Sheets — 将所有受监控成分的供应链风险报告推送到实时电子表格,供食品安全团队使用
- Apify API — 从质量管理系统、ERP 平台或自定义食品安全应用直接调用任何 MCP 工具
- Webhooks — 在
riskLevel返回 CRITICAL 时立即接收通知,以便在召回影响供应链之前迅速响应 - LangChain / LlamaIndex — 将此 MCP 服务接入 RAG 流水线,为 AI Agent 提供实时食品安全数据,用于供应链分析和报告生成
故障排除
-
尽管已知产品存在问题,污染途径评分仍然很低或为零 — 检测引擎会根据召回原因文本进行匹配。如果 FDA 召回数据库中没有查询产品或成分的记录,评分就会很低。请尝试更宽泛的搜索词(例如,搜索“dairy”而非特定品牌),或直接在
search_food_recalls中搜索制造商名称。 -
尽管供应商信誉良好,供应商卫生评分仍接近于零 — 英国食品卫生数据仅涵盖英格兰、威尔士和北爱尔兰。如果您评估的是该地区以外的供应商,
uk-food-hygieneactor 不会返回任何有评级的经营场所,卫生评分也只会反映 Open Food Facts 产品数据。如果出现这种情况,establishmentsChecked字段会显示 0。 -
某种成分的贸易流量数据为空 — UN COMTRADE 使用标准化商品编码(HS 编码)。通用成分名称可能无法直接匹配 COMTRADE 查询格式。请尝试使用商品类别名称(例如,使用“crustaceans”而非“shrimp”)或 HS 章节说明。
-
尽管夏季炎热,季节性风险仍显示 LOW — 只有 NOAA 发布生效中的 EXTREME 或 SEVERE 高温警报时,季节性模型才会为高温计分。如果查询时没有生效中的警报,即使气温很高,高温放大评分也为零。如果情况表明风险升高,请另行查看 NOAA 针对您所在地区的当前警报状态。
-
工具调用返回支出限额错误 — 您的 Apify 账户已达到单次运行支出限额。请在运行设置中提高限额,或升级您的 Apify 套餐。免费套餐每月包含 5 美元额度,可用于 100 多次工具调用。
负责任地使用
- 此 MCP 服务仅访问公开的政府数据库和开放的食品产品数据。
- FDA、UK FSA、UN COMTRADE、OpenAQ 和 NOAA 的所有数据均以开放政府许可或公共领域许可发布。
- 风险评分是根据公开数据得出的分析结果,不构成监管认定、法律意见或官方食品安全认证。
- 请勿将此工具用作规定的监管检查、HACCP 计划或认证食品安全审计的替代品。
- 有关网页抓取合法性的指南,请参阅 Apify 指南。
常见问题
此 MCP 每次调用会查询多少个食品安全数据源?
generate_supply_chain_risk_report 工具每次调用费用为 0.045 美元,可同时查询全部 7 个数据源:FDA 食品召回监控、FDA CAERS 不良事件、UK Food Hygiene、Open Food Facts、UN COMTRADE、OpenAQ 和 NOAA Weather。根据工具不同,专用工具会查询 1–3 个数据源。
给定食材的食品安全风险评分有多准确?
综合评分基于公开监管数据,将食材召回历史与进口贸易量相关联。对于贸易量大且有充足召回记录的商品,该评分表现良好。对于监管记录很少或没有记录的小众食材,评分可能偏低,这并不代表其风险低,而是监管数据稀少。请始终将评分视为需要进一步调查的风险信号,而非确定性的安全评级。
此 MCP 能否在食品召回正式公布前检测到召回? 不能。此 MCP 会查询 FDA 已发布的召回数据库和 CAERS 不良事件报告,这些都是正式公布后的记录。不过,如果 CAERS 数据中出现可识别的模式,不良事件信号——尤其是不断增加的住院病例和危及生命的后果——可能会在相关问题正式达到召回状态之前显现新兴安全隐患。
此 MCP 的食品召回数据能否合法用于合规文件? 数据来自 FDA 官方公开数据库和英国 FSA 公开记录。不过,使用此 MCP 并不构成正式的监管合规或认证。在监管申报或合规文件中引用 MCP 输出之前,请咨询食品安全法律顾问。
这与 FDA 自有的召回数据库网站有何不同? FDA 网站提供搜索和浏览功能,但没有 API、评分功能、与贸易流数据的交叉比对,也无法与不良事件或卫生评级数据相结合。此 MCP 提供结构化 JSON API、四种评分模型、多源并行关联,以及与 6 个额外数据源的集成——所有功能都可通过任何兼容 MCP 的 AI 客户端以编程方式访问。
我能否搜索在欧洲销售的产品的食品安全数据? 部分可以。英国食品卫生数据涵盖英格兰、威尔士和北爱尔兰。Open Food Facts 收录了来自欧盟市场的产品。不过,目前尚未纳入 EFSA(欧洲食品安全局)召回系统和欧盟 RASFF 警报。FDA 数据仅涵盖美国市场。
召回和不良事件数据多久更新一次? 每次查询时都会直接从 FDA 数据库实时获取数据,不进行缓存。每次工具调用反映的都是调用时 FDA 召回数据库当前已发布的状态。
我能否使用此 MCP 自动监控一份食材清单?
可以。使用 Apify 的计划任务功能,按每日或每周计划对清单中的每种食材运行 trace_ingredient_risk 或 generate_supply_chain_risk_report。结合 Webhook,在任何食材的风险级别升至 HIGH 或 CRITICAL 时向团队发送提醒。
污染途径模型能检测哪些食品安全病原体? 生物检测引擎会扫描召回原因文本,检测 8 种病原体:Salmonella、Listeria、E. coli(及 E.coli 变种)、Campylobacter、Norovirus、Botulism 和 Clostridium。化学检测引擎涵盖 9 类危害:过敏原、未申报成分、铅、汞、砷、农药残留、三聚氰胺、黄曲霉毒素和亚硫酸盐。
以这种方式使用 FDA 和英国 FSA 的公开数据是否合法? 合法。FDA 数据依据美国联邦政府作品政策作为开放政府数据发布,属于公有领域。英国食品标准局数据依据《开放政府许可》发布。UN COMTRADE 数据是联合国公开统计数据。此 MCP 使用的所有数据源均可公开访问,且依法可用于编程应用。请参阅 Apify 关于网页抓取合法性的指南。 这与 FoodLogiQ 或 SafetyChain 等食品安全 SaaS 工具有何不同? 商业平台除了数据,还提供工作流管理、供应商门户功能、审计模板和团队协作工具,费用为每月 500–2,000 美元。这个 MCP 仅提供实时监管数据智能层,可通过任何 AI 助手访问,每次查询费用为 0.045 美元。它最适合用于现有工作流,补充实时 FDA 和监管数据,而不是替代完整的质量管理平台。
我可以在 Claude Desktop 中将这个 MCP 与其他 MCP 服务结合使用吗?
可以。你可以在 claude_desktop_config.json 中添加多个 MCP 服务。将此服务与通用网络搜索 MCP 或公司研究 MCP 结合使用,可让 AI 助手在一次对话中交叉参考食品安全风险数据、新闻、供应商背景和市场环境。
帮助我们改进
如果遇到问题,你可以在 Apify 账户中启用运行共享,帮助我们更快地进行调试:
- 前往 账户设置 > 隐私
- 启用 与公开的 Actor 创建者共享运行记录
这样一来,出现问题时我们就能查看运行详情,从而更快地修复问题。你的数据仅对 Actor 开发者可见,不会公开。
支持
发现 Bug 或有功能建议?请在此 Actor 页面上的 Issues 标签页中提交问题。如需定制集成,例如添加 EFSA 欧盟召回数据、加拿大食品检验局记录或自定义商品覆盖范围,请通过 Apify 平台联系我们。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。