mcpField
T
Travel Risk Intelligence

Travel Risk Intelligence

远程服务
ryanclinton--travel-risk-intelligence-mcp.apify.actor媒体与设计132 周前更新

关于 Travel Risk Intelligence

Travel Risk Intelligence 是面向企业差旅管理者、安全团队和旅行 Agent 的 MCP 服务。它汇总政府及国际数据,生成目的地风险评分、行程评估和地点比较。

主要功能

  1. 01并行查询八类数据源
  2. 02四个维度的风险评分
  3. 03多站行程风险评估
  4. 04比较目的地备选方案
  5. 05规划 14 天出行天气
  6. 06提供结构化风险信号

适用场景

  1. 01制作企业差旅风险简报
  2. 02评估高管多站行程
  3. 03比较活动举办地选项
  4. 04监测员工所在地警报

MCP 相关

向 MCP 客户端提供八种工具,用于目的地风险评估、警报查询、健康与安全分析、行程评分、地点比较、出行窗口规划和简报生成。结果包含结构化评分、建议等级及说明信号。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://ryanclinton--travel-risk-intelligence-mcp.apify.actor/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

旅行风险情报 MCP 服务

在 ApifyForge 上查看 | 在 Apify Store 上使用


快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf):

{
  "mcpServers": {
    "travel-risk-intelligence-mcp": {
      "url": "https://ryanclinton--travel-risk-intelligence-mcp.apify.actor/mcp"
    }
  }
}

通过 8 个 MCP 工具提供全球任意目的地的旅行风险情报,数据来自政府和国际机构的实时数据源。企业差旅经理、安全团队和 AI 旅行 Agent 可以获取量化的目的地风险评分(0-100),涵盖自然灾害、健康、安全和天气维度,并获得 SAFE、EXERCISE_CAUTION、RECONSIDER_TRAVEL 或 DO_NOT_TRAVEL 四级综合建议。

此 MCP 服务在 Apify 平台上以始终运行的 Standby 模式运行,因此 AI 助手查询时无需冷启动。它并行协调 8 个数据源——NOAA 天气警报、GDACS 灾害警报、WHO 全球卫生观察站、英国警方犯罪数据、Interpol 红色通缉令、REST Countries 国家概况、天气预报和 Nominatim 地理编码——然后通过四个独立的评分模型进行处理,最后返回结构化 JSON,供你的 Agent 立即采取行动。

可以访问哪些数据?

数据点来源示例
📡 按严重程度划分的活跃天气警报NOAA 国家气象局“龙卷风警告——极端严重程度,3 条活跃警报”
🌊 全球灾害警报(地震、洪水、气旋)GDACS 欧盟联合研究中心“红色警报——4 级气旋,菲律宾”
☀️ 多日天气预报及极端天气标记天气预报服务温度 47°C,风速 75 km/h——极端高温标记
🏥 疾病流行率和疫情指标WHO 全球卫生观察站预期寿命 58 岁,存在疟疾风险
🦠 卫生基础设施质量(卫生设施、水资源获取)WHO GHO + REST Countries卫生设施覆盖率 38%,基尼系数 52.1
🔒 按地理区域划分的犯罪密度英国警方犯罪数据28 条犯罪记录——高犯罪率区域
🚨 与该地区相关的国际通缉人员Interpol 红色通缉令4 条与该地区相关的红色通缉令
🌍 国家人口统计、边界和区域分类REST Countries6 个接壤国家,中东次区域
📍 用于地理风险测绘的坐标解析Nominatim 地理编码器纬度:-1.2921,经度:36.8219
📊 综合目的地风险评分(0-100)评分引擎评分:67——高
⚠️ 四级建议分类综合模型SAFE / EXERCISE_CAUTION / RECONSIDER_TRAVEL / DO_NOT_TRAVEL
🗺️ 各维度风险细分及说明信号评分引擎灾害:18,健康:20,安全:22,天气:7

为什么使用 Travel Risk Intelligence MCP Server?

在旅行前手动调查目的地安全状况,意味着要在政府旅行警示网站、NOAA 天气页面、WHO 疾病通报和新闻源之间来回切换,然后将所有信息汇总成一致且可审计的内容。对于每周要管理数十趟行程的企业差旅团队来说,这个过程耗时数小时,而且不同目的地的风险评估结果无法比较。

此 MCP 服务可自动完成整个旅行风险评估工作流。AI Agent 调用一个工具,几秒钟内即可获得量化风险评分、结构化警示,以及说明评分依据的具体信号列表,可直接用于差旅审批工作流、简报文档或旅行照护责任合规记录。

  • 定时计划 — 按每日或每周间隔定期监测目的地,在出行日期前发现风险变化
  • API 访问 — 通过 Python、JavaScript 或任意 HTTP 客户端以编程方式触发风险评估
  • 待命模式 — 服务在 Apify 平台上始终保持预热,Agent 工作流无需承受冷启动延迟
  • 支出限额 — 设置每次运行的预算上限,防止 Agent 工作流产生无上限费用
  • 集成 — 连接 Zapier、Make、webhook,或将结果推送到 Google Sheets 或差旅管理系统

功能

  • 8 个并行数据源 — 同时查询 NOAA、GDACS、WHO GHO、UK Police、Interpol、REST Countries、Weather Forecast 和 Nominatim,并使用 Promise.allSettled 实现容错
  • 四个独立评分模型 — 自然灾害(最高 30 分)、健康风险(最高 25 分)、安全风险(最高 30 分)和天气严重程度(最高 15 分)分别生成独立评分,并附带说明性信号
  • 按严重程度加权的 NOAA 评分 — 极端警报每条计 5 分,严重警报计 2 分,中度警报计 1 分;自然灾害评分上限为 30 分
  • GDACS 严重程度等级 — 红色警报计 5 分,橙色警报计 3 分;与 NOAA 数据一同纳入灾害维度
  • WHO 健康指标解析 — 检查预期寿命阈值(低于 60 岁 = 严重标记,+5 分;低于 70 岁 = +2 分)、疟疾情况、每 10 万人中结核病病例数是否超过 100、HIV 患病率是否超过 1%,以及卫生设施和饮用水可及率是否低于 50%
  • 犯罪密度评分 — UK Police 记录每条乘以 2,最高 40 分;Interpol 通报每条乘以 5,最高 30 分
  • 区域安全修正 — REST Countries 的次区域数据应用基线安全惩罚:中东 +3 分、中部/东部非洲 +4 分、南亚/东南亚 +2 分
  • 均等 25/25/25/25 权重的综合简报 — generate_travel_briefing 综合四个模型,计算最终综合评分
  • DO_NOT_TRAVEL 硬性覆盖规则 — 综合评分高于 75 分或警报等级为 EMERGENCY 时,无论各维度结果如何,都会自动升级为 DO_NOT_TRAVEL
  • RECONSIDER_TRAVEL 硬性覆盖规则 — 安全风险等级为 EXTREME 时,至少会将旅行建议升级为 RECONSIDER_TRAVEL
  • 多站点行程评分 — 最多评估 5 个目的地,并识别风险最高的行程段,辅助规划行程
  • 目的地并列比较 — compare_destination_alternatives 并行评估两个目的地,并返回 saferChoice 字段
  • 旅行时段规划 — 提供 14 天天气预报和当前 NOAA 警报数量,并附带用于地图集成的地理编码坐标
  • 无数据惩罚 — 如果 WHO 未返回某个国家的记录,健康评分会自动增加 15 分,以体现无法量化的不确定性
  • 结构化信号列表 — 每项评分均包含易于理解的信号,说明评分依据(例如,“当前有 4 个 GDACS 灾害警报”“预期寿命:58 岁 — 健康环境严峻”)
  • 预算感知型工具执行 — 每个工具都会在执行前检查 Actor.charge;如果已达到支出限额,则返回清晰的错误消息

旅行风险情报的使用场景

企业关怀义务合规

对承担 ISO 31030 关怀义务的公司而言,企业差旅经理需要为每次国际旅行提供有记录、标准一致的风险评估。此 MCP 可集成到差旅审批工作流中,生成包含量化风险提示等级的行前简报。结构化 JSON 输出可记录到合规系统,或用于审批门禁逻辑,以便在分数超过规定阈值时要求签字批准。

高管安保规划

负责保护 C 级高管的安保团队需要全面评估多站点行程,而不仅仅是单个目的地。score_multi_stop_itinerary 工具会分别评估每一段行程,并标出风险最高的站点。随后,安保团队可决定是否使用 generate_travel_briefing 进一步调查,或使用 compare_destination_alternatives 比较其他路线。

旅行保险与 InsurTech 动态定价

保险承保人员和 InsurTech 平台可使用实时目的地风险评分,在销售时计算保费。前往存在生效中 GDACS 红色警报或健康评分高于 40 的目的地,与在平静时期评估同一目的地,应采用不同的定价。按查询付费的模式非常适合按需定价的承保 API。

国际活动与会议规划

为国际会议或异地活动选择场地的活动规划人员,可通过一次 API 调用比较多个候选城市。比较工具会并列返回风险明细,使决策有据可查、理由充分,而非仅凭直觉。signals 数组提供可供审计的依据,列出所考虑的因素。

员工实时位置监控

差旅运营团队可将 check_active_alerts 集成到关怀义务仪表板中,监控员工当前驻留地点。每次调用都会刷新 NOAA 和 GDACS 数据,无需手动监控多个政府数据源,即可近乎实时地掌握危险情况。每次调用费用为 $0.045,每日监控 20 名员工的位置需花费 $0.90。

AI 旅行助手与礼宾 Agent

由大模型驱动的旅行助手可调用 generate_travel_briefing,在用户出行前主动提供简报、提示相关健康注意事项,并根据风险等级推荐合适的保险保障——所有操作都可在同一对话中完成。结构化 JSON 输出专为便于语言模型解析而设计。

如何使用 Travel Risk Intelligence MCP Server

  1. 连接 MCP 服务 — 将服务 URL 添加到 MCP 客户端配置中(Claude Desktop、Cursor、Windsurf、Cline 或任何兼容 MCP 的客户端)。URL 为 https://travel-risk-intelligence-mcp.apify.actor/mcp。使用 Apify API token 作为 Bearer 授权标头。
  2. 选择工具 — 如需完整的行前简报,请使用 generate_travel_briefing。如需快速检查警报,请使用 check_active_alerts。如需评估多城市行程,请使用 score_multi_stop_itinerary。如需比较两个目的地选项,请使用 compare_destination_alternatives。
  3. 提供目的地 — 输入城市、国家或地区名称(例如,“Nairobi”、“Kenya”、“Southeast Asia”)。对于 generate_travel_briefing,还需传入 country 参数,以提高 WHO 和 Interpol 查询的准确性。
  4. 接收结构化结果 — 工具会返回一个 JSON 对象,其中包含风险评分、风险提示等级、各维度明细、有效警报,以及解释评分依据的信号列表。根据查询的数据源数量,大多数调用会在 15-60 秒内完成。

MCP 工具

工具价格描述
assess_destination_risk$0.045天气、灾害、国家概况——基于 5 个来源计算目的地风险评分(0-100)
check_active_alerts$0.045查询指定地点的 NOAA 实时天气警报和 GDACS 灾害警报
analyze_health_risks$0.045WHO 健康指标、疾病患病率、卫生条件和不平等评估
evaluate_security_risk$0.045犯罪密度、国际刑警组织红色通报、区域安全概况
plan_travel_window$0.04514 天天气预报、当前警报数量、地理编码后的目的地坐标
score_multi_stop_itinerary$0.045每段行程的风险评分,并识别风险最高的停留地点(最多 5 个目的地)
compare_destination_alternatives$0.045并排比较风险,并识别更安全的目的地
generate_travel_briefing$0.045完整综合简报——涵盖全部 8 个来源、4 种评分模型,以及从 SAFE 到 DO_NOT_TRAVEL 的等级
工具参数
工具参数类型必填描述
assess_destination_riskdestinationstring是城市、国家或地区名称
assess_destination_riskcountrystring否国家名称或 ISO 代码(可提高 REST Countries 查询准确度)
check_active_alertslocationstring是要查询 NOAA 和 GDACS 当前警报的地点
analyze_health_riskscountrystring是用于查询 WHO GHO 和 REST Countries 的国家名称或 ISO 代码
evaluate_security_risklocationstring是城市、地区或国家名称
evaluate_security_riskcountrystring否用于查询国际刑警组织数据的国家 ISO 代码
plan_travel_windowdestinationstring是用于获取天气预报和警报的旅行目的地
score_multi_stop_itinerarystopsstring是以逗号分隔的目的地,例如 "London, Istanbul, Nairobi"
compare_destination_alternativesdestination_astring是用于比较的第一个目的地
compare_destination_alternativesdestination_bstring是用于比较的第二个目的地
generate_travel_briefingdestinationstring是主要旅行目的地
generate_travel_briefingcountrystring否用于查询健康和安全数据的国家名称或 ISO 代码
输入提示
  • 请为简报工具同时提供 destination 和 country。 在 generate_travel_briefing 中单独提供国家参数,可显著提高 WHO GHO 和国际刑警组织查询的准确度,因为这些查询使用国家名称或 ISO 代码,而非城市名称。
  • 高频监控请使用 check_active_alerts。 该工具仅查询 2 个来源(完整简报会查询 8 个),因此适合以每次调用 $0.045 的费用监控当前在外工作的员工。
  • WHO 查询请使用 ISO 国家代码。 传入 "KE" 而不是 "Kenya",或传入 "DE" 而不是 "Germany",可获得更一致的 WHO GHO 结果,并避免 15 分的无数据惩罚。
  • 多站点列表请控制在 4-5 个目的地。 各停留地点会按顺序处理;5 个目的地可能需要 60-150 秒。对于更长的行程,请拆分成两次调用。
  • 请为 Agent 工作流设置支出限额。 如果 AI Agent 自主调用此 MCP,请在 actor run 上配置 maxTotalChargeLimitUsd,以便达到限额时 MCP 内置的支出检查能够正常退出。

如何连接此 MCP 服务

Claude Desktop

将以下内容添加到你的 claude_desktop_config.json:

{
  "mcpServers": {
    "travel-risk": {
      "url": "https://travel-risk-intelligence-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}
Cursor / Windsurf / Cline

在 IDE 的 MCP 设置面板中添加 MCP 服务:

URL: https://travel-risk-intelligence-mcp.apify.actor/mcp
Auth: Bearer YOUR_APIFY_TOKEN
Python
import httpx
import json

response = httpx.post(
    "https://travel-risk-intelligence-mcp.apify.actor/mcp",
    headers={
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
    },
    json={
        "jsonrpc": "2.0",
        "method": "tools/call",
        "params": {
            "name": "generate_travel_briefing",
            "arguments": {
                "destination": "Nairobi",
                "country": "Kenya"
            }
        },
        "id": 1
    },
    timeout=90
)

result = response.json()
briefing = json.loads(result["result"]["content"][0]["text"])
print(f"Advisory: {briefing['advisory']} (composite score: {briefing['compositeScore']})")
for signal in briefing["allSignals"]:
    print(f"  - {signal}")
for rec in briefing["recommendations"]:
    print(f"  > {rec}")
JavaScript
const response = await fetch("https://travel-risk-intelligence-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: "generate_travel_briefing",
      arguments: { destination: "Nairobi", country: "Kenya" }
    },
    id: 1
  })
});

const result = await response.json();
const briefing = JSON.parse(result.result.content[0].text);
console.log(`Advisory: ${briefing.advisory} — Composite score: ${briefing.compositeScore}`);
briefing.recommendations.forEach(r => console.log(`  > ${r}`));
cURL
# Full travel briefing for a destination (all 8 sources, all 4 models)
curl -X POST "https://travel-risk-intelligence-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_travel_briefing",
      "arguments": { "destination": "Karachi", "country": "Pakistan" }
    },
    "id": 1
  }'

# Quick active alerts check only (2 sources, faster, cheaper)
curl -X POST "https://travel-risk-intelligence-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization": "Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "check_active_alerts",
      "arguments": { "location": "Miami" }
    },
    "id": 2
  }'

输出示例

以下是 generate_travel_briefing 针对多个维度风险较高的目的地生成的代表性输出。

{
  "destination": "Nairobi",
  "compositeScore": 54,
  "advisory": "RECONSIDER_TRAVEL",
  "destinationRisk": {
    "score": 61,
    "hazardScore": 6,
    "healthScore": 20,
    "securityScore": 27,
    "riskLevel": "HIGH",
    "signals": [
      "28 crime records — high crime density",
      "Significant health risks: low life expectancy or high disease burden"
    ]
  },
  "activeAlerts": {
    "score": 15,
    "weatherAlerts": 2,
    "disasterAlerts": 1,
    "totalAlerts": 3,
    "alertLevel": "ADVISORY",
    "signals": [
      "2 NOAA weather alert(s) active",
      "1 GDACS disaster alert(s) active"
    ]
  },
  "healthRisk": {
    "score": 52,
    "indicators": 12,
    "criticalFlags": 9,
    "riskLevel": "ELEVATED",
    "signals": [
      "Malaria risk present",
      "Life expectancy: 64 years",
      "High inequality (Gini: 48.5) — uneven healthcare access"
    ]
  },
  "securityRisk": {
    "score": 44,
    "crimeRecords": 22,
    "interpolNotices": 2,
    "riskLevel": "ELEVATED",
    "signals": [
      "22 crime records — high crime density",
      "Eastern Africa subregion flag applied"
    ]
  },
  "allSignals": [
    "28 crime records — high crime density",
    "Significant health risks: low life expectancy or high disease burden",
    "2 NOAA weather alert(s) active",
    "1 GDACS disaster alert(s) active",
    "Malaria risk present",
    "High inequality (Gini: 48.5) — uneven healthcare access",
    "22 crime records — high crime density"
  ],
  "recommendations": [
    "Monitor active alerts and have evacuation plan",
    "Consult travel medicine clinic, ensure vaccinations up to date",
    "Register with embassy, avoid high-crime areas, maintain situational awareness",
    "Carry medical kit, verify hospital locations, consider medical evacuation insurance"
  ]
}

输出字段

字段类型描述
destinationstring传递给工具的目的地名称
compositeScorenumber综合风险评分,范围为 0-100(由 4 个模型各占 25% 得出)
advisorystringSAFE / EXERCISE_CAUTION / RECONSIDER_TRAVEL / DO_NOT_TRAVEL
destinationRisk.scorenumber目的地风险子评分(0-100)
destinationRisk.hazardScorenumber自然灾害分项(0-30),数据来自 NOAA + GDACS 警报
destinationRisk.healthScorenumber健康分项(0-25),依据 WHO 指标
destinationRisk.securityScorenumber安全分项(0-30),依据犯罪、Interpol 和地区信息
destinationRisk.riskLevelstringLOW / MODERATE / ELEVATED / HIGH / EXTREME
destinationRisk.signalsstring[]推动目的地风险评分的可读因素
activeAlerts.scorenumber警报严重程度评分(0-100)
activeAlerts.weatherAlertsnumber当前生效的 NOAA 天气警报数量
activeAlerts.disasterAlertsnumber当前生效的 GDACS 灾害警报数量
activeAlerts.totalAlertsnumber天气警报与灾害警报的总数
activeAlerts.alertLevelstringNONE / ADVISORY / WATCH / WARNING / EMERGENCY
activeAlerts.signalsstring[]特定警报信号(例如,“有 3 条 NOAA 天气警报生效”)
healthRisk.scorenumber健康风险评分(0-100)
healthRisk.indicatorsnumber检索到的 WHO GHO 指标数量
healthRisk.criticalFlagsnumber关键健康信号的加权计数
healthRisk.riskLevelstringLOW / MODERATE / ELEVATED / HIGH / CRITICAL
healthRisk.signalsstring[]具体健康风险(例如,“存在疟疾风险”)
securityRisk.scorenumber安全风险评分(0-100)
securityRisk.crimeRecordsnumberUK Police API 返回的犯罪记录数
securityRisk.interpolNoticesnumberInterpol 针对该地区返回的红色通缉令数量
securityRisk.riskLevelstringLOW / MODERATE / ELEVATED / HIGH / EXTREME
securityRisk.signalsstring[]具体安全信号(犯罪数量、Interpol 数量、地区标记)
allSignalsstring[]汇总全部四个模型的信号
recommendationsstring[]根据评分阈值得出的可执行建议

运行旅行风险评估需要多少费用?

Travel Risk Intelligence MCP 采用按事件付费定价——每次工具调用收费 $0.045。平台计算费用已包含在内。只有工具成功执行时才会收费;达到支出限额的调用不会产生费用。

场景工具调用次数每次调用费用总费用
单次活动警报检查1$0.045$0.045
目的地风险评估1$0.045$0.045
完整旅行简报(全部 8 个数据源)1$0.045$0.045
每周监控 — 20 个地点20$0.045$0.90
每月企业计划 — 200 次评估200$0.045$9.00

你可以为每次运行设置最高支出限额以控制费用。MCP 会在每次工具执行前检查预算;如果已达到限额,则会返回清晰的错误消息,不会产生部分费用。

Apify 免费套餐每月包含 $5 的平台抵用额度,约可支付 111 次工具调用。相比之下,International SOS 的订阅费用为每位用户每年 $50-200;此 MCP 无需承诺订阅,即可用极低的成本提供自动化的初步风险筛查。

Travel Risk Intelligence MCP 的工作原理

阶段 1:并行收集数据

调用工具时,服务端会使用 Promise.allSettled 同时分派最多 8 个子调用。每个子调用都是一个独立的 Apify actor,并有自己的 API 集成:

  • NOAA 天气警报(actor BJTV7I8rfiNHa0PlD)— 返回按位置筛选的有效 NWS 警报,包含严重程度、紧迫性和消息字段
  • 天气预报搜索(actor TpfQHy4R1EZT3ZqOp)— 返回包含气温和风速数据的多日预报
  • GDACS 灾害警报(actor pmweI2ngI1bo4l6KD)— 返回 alertlevel 值为 red、orange 或 green 的有效灾害事件
  • WHO GHO 搜索(actor jgahofLKxi6FAycgA)— 返回查询国家的健康指标,包括 IndicatorCode 和 NumericValue
  • 英国警方犯罪数据(actor jiVktGAOz5rv108S2)— 返回查询区域的犯罪记录
  • Interpol 红色通报(actor A5qfeUw5yBCtcdhn4)— 返回与该地区相关的国际通缉人员
  • REST Countries(actor 6GUYnSUCFTRuVcQDA)— 返回国家概况,包括区域、次区域、边境数组、人口和基尼系数对象
  • Nominatim 地理编码器(actor i4BCLB2eHbePe78aj)— 将目的地字符串解析为 lat 和 lon 坐标

Promise.allSettled 可确保任何单一数据源发生故障时都不会中止评估。故障来源会返回空数组,每个评分模型都会妥善处理缺失数据,包括在缺少 WHO 记录时施加 15 分的不确定性惩罚。

阶段 2:四个独立评分模型

scoreDestinationRisk 会对 NOAA 警报按严重程度加权累积分数(极端 +5、严重 +2、中等 +1,上限为 30),对 GDACS 警报累积分数(红色/橙色 +5,其他 +2,并计入同一 30 分灾害上限),并评估 WHO 健康指标(预期寿命阈值、疾病负担标记)和 REST Countries 区域叠加因素。四个维度的分数——灾害(最高 30)、健康(最高 25)、安全(最高 30)、天气(最高 15)——总计最高 100 分。

checkActiveAlerts 仅关注实时紧急信号:累加 NOAA 严重程度分数(每条警报:极端 +3、严重 +2、其他 +1,最高 50 分)和 GDACS 严重程度分数(每条警报:红色 +5、橙色 +3、其他 +1,最高 50 分)。五级警报级别按分数阈值划分:20(ADVISORY)、40(WATCH)、60(WARNING)和 80(EMERGENCY)。

analyzeHealthRisks 会解析 WHO 指标代码:预期寿命低于 60 岁(+5 个关键分)或低于 70 岁(+2 分)、存在疟疾(+2)、结核病发病率高于每 10 万人 100 例(+2)、HIV 流行率高于 1%(+2)、卫生设施覆盖率低于 50%(+3),以及安全饮用水覆盖率低于 50%(+3)。REST Countries 的基尼系数高于 45 时,会增加医疗服务可及性不平等信号。如果 WHO 完全没有返回数据,则施加 15 分的基准惩罚。

evaluateSecurityRisk 会根据犯罪数量(记录数 × 2,最高 40 分)、Interpol 通报密度(通报数 × 5,最高 30 分),以及基于 REST Countries 次区域得出的国家级安全叠加因素评分:中东 +3、中非 +4、东非 +4、南亚 +2、东南亚 +2、多边境国家(边境数不少于 6)+3。

阶段 3:生成综合建议

generateTravelBriefing 会以相同的 25% 权重综合四个模型的分数,生成 0–100 的综合评分。建议分类:0–24 = SAFE,25–49 = EXERCISE_CAUTION,50–74 = RECONSIDER_TRAVEL,75 及以上 = DO_NOT_TRAVEL。以下两种情况会触发强制覆盖:EMERGENCY 警报级别无论综合评分如何,都会强制判定为 DO_NOT_TRAVEL;EXTREME 安全风险级别至少会强制判定为 RECONSIDER_TRAVEL。四个模型的所有信号都会合并到 allSignals 中,五条基于阈值的建议规则则会针对警报、健康、安全、自然灾害和医疗撤离保障生成可执行指导。

获取最佳结果的提示

  1. 读取 signals 数组,而不只是查看分数。 如果综合评分为 45,原因是“存在疟疾风险”,那么需要采取的行动与同样分数由“有 14 条生效的天气警报”导致时不同。信号适用于合规文档和直接向旅行者进行说明。

  2. 预订前使用 compare_destination_alternatives。 系统会并行评估两个目的地,因此费用与单次评估相同。saferChoice 字段可为自动预订审批逻辑提供明确的决策信号。

  3. 对于时间敏感的行程,将 assess_destination_risk 与 plan_travel_window 结合使用。 如果风险评分达到 ELEVATED 或更高,请调用 plan_travel_window,判断风险是暂时性的(如正在发生的天气事件),还是结构性的(如地方性健康负担、区域安全标记)。

  4. 多站行程重点关注风险最高的一站。 score_multi_stop_itinerary 的响应包含 highestRisk 字段,用于标明风险最高的停留点。可据此决定是否为该目的地调用 generate_travel_briefing。

  5. 为 Agent 工作流设置支出限额。 在 Actor 运行中配置 maxTotalChargeLimitUsd,这样达到限额时,MCP 内置的支出检查就会正常退出,不会产生部分扣费。

  6. 使用 ISO 国家代码以提高准确性。 两位字母的 ISO 代码可使 WHO GHO 结果更加一致,并避免对确实健康风险较低的 OECD 国家触发 15 分的无数据惩罚。

  7. 安排 check_active_alerts 进行现场监控。 每次调用费用为 $0.045,每日监控 20 个员工所在地的成本为 $0.90/天。使用计划运行并配置 webhook,在评分超过阈值时通知 Slack 或通过电子邮件通知。

与其他 Apify Actor 结合使用

Actor组合方式
Location Risk Report评估目的地的实体基础设施和设施风险——与差旅风险评估相结合,适用于以场所为基础的差旅计划
NOAA Weather Alerts单独运行 NOAA 查询,在不使用评分层的情况下获取原始警报数据,用于开发自定义风险模型
GDACS Disaster Alerts直接查询 GDACS,获取原始灾害事件数据,包括完整的影响估算和人口暴露数据
WHO GHO Search获取差旅计划目的地候选名单中国家的原始 WHO 健康指标数据
Interpol Red Notices针对目标执行 Interpol 查询,在差旅风险评分之外进行高管保护尽职调查
Company Deep Research调查目的地的政治和经济环境,用定性的国家背景补充定量风险评分
AML Entity Screening筛查与目的地相关的个人或实体,评估其制裁和金融犯罪风险

局限性

  • 犯罪数据以英国为主。 英国警方犯罪数据来源涵盖英格兰、威尔士和苏格兰部分地区。对于英国以外的目的地,犯罪维度主要依赖 Interpol 通报和区域安全叠加数据,因此可能低估英国以外高犯罪率城市的犯罪风险。
  • WHO 健康数据的国家覆盖范围不一。 WHO GHO 数据对仍面临疾病负担的发展中国家最为全面。对于 OECD 国家,健康数据可能较少,即使健康风险确实较低,也可能触发 15 分的无数据惩罚。请查看 signals 数组,判断较高的健康分数反映的是真实风险还是数据缺失。
  • NOAA 警报以美国为中心。 NOAA 国家气象局主要覆盖美国领土及附近海域。对于北美以外的目的地,天气警报维度依赖 GDACS 数据,以及天气预报中的温度/风力阈值,而非 NWS 公告。
  • 没有政治不稳定或制裁数据。 MCP 不会查询 OFAC 制裁名单、国务院旅行警告、政治风险指数或武装冲突数据库。安全风险根据犯罪记录和 Interpol 通报得出,不会直接涵盖正在发生的武装冲突、内乱或政变风险。
  • 多站点评分按顺序处理,而非并行处理。 score_multi_stop_itinerary 工具会循环处理每个目的地,而不是同时处理。若有 5 个停靠点,预计需要 60-150 秒。
  • 没有历史趋势数据。 所有数据均反映当前情况。MCP 无法评估某个目的地的安全状况是否随时间变得更好或更差;它反映的是查询时的情况。
  • 没有医疗设施数据。 健康风险分数反映的是国家层面的疾病负担和基础设施质量,但不包括医院位置、ICU 容量、血库可用性或医疗撤离路线。
  • 分数反映的是数据可用性,而非绝对风险。 热浪期间某个欧洲首都的 40 分,不等同于疟疾流行城市的 40 分。请务必结合 signals 数组解读数值分数。

集成

  • Apify API — 直接通过任意 HTTP 客户端调用 MCP 端点,将旅行风险评分集成到企业差旅管理系统或承保 API 中
  • Webhooks — 定时运行目的地监测后,若返回的分数高于指定阈值,则触发 Slack 或电子邮件通知
  • Zapier — 连接差旅预订平台或 HR 系统,在新行程获批时自动触发风险评估
  • Make — 构建自动化的关怀义务工作流,在员工预订前往风险较高目的地的行程时进行评估、记录并通知管理者
  • Google Sheets — 将目的地风险分数记录到电子表格中,用于差旅项目报告和合规审计追踪
  • LangChain / LlamaIndex — 在大模型 Agent 流程中集成为工具,用于需要实时安全背景信息的旅行助手或安全简报应用

故障排除

**对于明显安全的国家,评估却返回较高的健康评分。**这通常是无数据惩罚所致——如果 WHO GHO 中没有查询国家名称对应的记录,健康模型默认会加 15 分。尝试在 country 参数中传入两字母的 ISO 国家代码(例如,使用 "DE" 而不是 "Germany")。如果 signals 数组包含 "No WHO health data available — unable to assess health risks",则升高的评分反映的是数据缺失,而非实际健康风险。

**多站点行程超时或只返回部分结果。**每个站点都会查询 3 个数据源,因此包含 5 个站点的行程可能需要 90-150 秒。如果子调用触发了 120 秒的 actor 超时,请将每次调用的站点数减至 3-4 个,或将行程拆分为多次 API 调用,并在客户端合并结果。

**低犯罪目的地的安全评分似乎偏高。**区域安全叠加层会根据 REST Countries 数据,对特定子区域(中东、中非、东非)施加基准惩罚。如果目的地位于这些地区,但实际犯罪率较低,securityRisk 对象中的 crimeRecords: 0 值表明,评分是由区域标记导致的,而非实际观测到的犯罪数据。

**工具返回 "Spending limit reached" 错误。**你的 Apify actor 运行已达到 maxTotalChargeLimitUsd 限额。请在 Apify Console 的 actor 运行设置中提高限额,或以更高预算开始新的运行。被阻止的调用不会产生费用。

**对于同一目的地,generate_travel_briefing 返回的评分与 assess_destination_risk 不同。**这是预期行为。generate_travel_briefing 会查询全部 8 个数据源,并对全部 4 个评分模型采用相同权重。assess_destination_risk 会查询 5 个数据源,且只应用 scoreDestinationRisk。简报工具的评估更全面、更权威。

负责任地使用

  • 此 MCP 服务使用的所有数据源均为公开的政府及国际组织数据库(NOAA、GDACS、WHO、Interpol、UK Police、REST Countries、Nominatim/OpenStreetMap)。
  • 风险评分是根据公开数据生成的自动化评估,应作为初步筛查工具,而不应成为高风险情境下做出安全决策的唯一依据。
  • 对于实际的旅行紧急情况或高风险任务,除自动评分外,还应咨询合格的安全专业人士并查阅官方政府旅行建议。
  • 如需了解网络抓取的合法性指南,请参阅 Apify 的指南。

常见问题

目的地的旅行风险情报评分是如何计算的? 服务会并行查询最多 8 个数据源,然后应用四个独立的评分模型:自然灾害风险(根据 NOAA 和 GDACS 警报按严重程度加权,最高 30 分)、健康风险(根据 WHO 的预期寿命、疾病指标和基础设施评估,最高 25 分)、安全风险(根据犯罪密度、Interpol 通报和区域标记评估,最高 30 分),以及天气严重程度(根据温度和风力阈值评估,最高 15 分)。这些分数相加得出目的地风险评分(0-100)。综合简报以相同的 25% 权重综合这四个模型。

目的地风险评分有多准确? 该评分反映查询时可获取的公开数据。NOAA 警报接近实时;重大事件发生后,GDACS 会在数小时内更新;WHO 和 REST Countries 数据则会定期更新。该评分比大多数静态旅行建议系统更新,但政变、突然暴发疫情等快速变化的情况,可能不会立即出现在结构化数据源中。对于局势正快速变化的情况,请务必查阅官方政府建议。 在多站点行程中,我最多可以评估多少个目的地? 每次 score_multi_stop_itinerary 调用最多可评估 5 个目的地。目的地会按顺序处理。对于超过 5 个停留点的行程,请拆分为两次调用,并在客户端合并结果。

旅行风险情报是否涵盖地震或飓风等实时危机? 是。GDACS 灾害警报会在重大自然灾害发生后的数小时内更新,NOAA 天气警报则近乎实时更新。两者都会直接纳入危险和警报评分维度。若目的地正处于飓风警报生效期间,建议级别将升至 WARNING 或 EMERGENCY。

这与 International SOS 或 Control Risks 相比如何? International SOS 和 Control Risks 提供人工分析师网络、全天候紧急响应热线和医疗撤离服务,而这些能力并非此 MCP 所能替代。此 MCP 基于公开数据提供自动化、量化的风险筛查,成本仅为订阅服务的一小部分(每次查询 $0.045,而订阅服务每位用户每年需 $50-200 以上)。建议两者结合使用:通过此 MCP 进行可扩展的初步筛查,并在高风险任务或实时紧急情况下使用人工咨询服务。

使用这些旅行风险数据合法吗? 合法。所有数据来源都是由政府机构和国际组织运营的公开数据库:NOAA(美国政府)、GDACS(欧盟联合研究中心)、WHO GHO(联合国)、Interpol(国际执法机构)、UK Police(英国内政部)、REST Countries(开放数据)和 Nominatim(OpenStreetMap)。查询这些 API 不会违反任何服务条款。请参阅 Apify 关于网页抓取合法性的指南。

我可以安排自动监控身处外地的员工所在地吗? 可以。配置定时运行的 Apify actor,每天或每小时为每位员工的位置调用 check_active_alerts。当评分超过设定阈值时,使用 webhook 向 Slack 频道或邮件分发列表发送通知。这样无需人工干预,即可建立轻量级的员工关怀监控系统。

如果某个数据源不可用,会发生什么? 服务端使用 Promise.allSettled,这意味着任何单个数据源发生故障都不会中止评估。故障的数据源会返回空数组,评分模型则会妥善处理缺失数据。如果 WHO 查询失败,signals 数组会包含“No WHO health data available — unable to assess health risks”,从而在输出中明确呈现数据缺口。

我可以在 Claude、GPT 或其他 AI Agent 工作流中使用此 MCP 吗? 可以。此 MCP 遵循 Model Context Protocol 标准,兼容任何符合规范的客户端:Claude Desktop、Cursor、Windsurf、Cline,以及任何支持 MCP 工具调用的大模型框架。结构化 JSON 输出专为语言模型解析而设计,并提供简洁的信号字符串,便于纳入 Agent 回复。

典型的旅行风险评估需要多长时间? check_active_alerts(2 个数据源)通常需要 10-20 秒。assess_destination_risk(5 个数据源)需要 15-35 秒。generate_travel_briefing(8 个数据源、4 个模型)需要 20-60 秒,具体取决于数据源的响应时间。包含 5 个停留点的 score_multi_stop_itinerary 可能需要 60-150 秒。

什么建议级别会触发 DO_NOT_TRAVEL 分类? 综合风险评分达到 75 或以上,或者 checkActiveAlerts 返回 EMERGENCY 警报级别(根据 NOAA 和 GDACS 的当前严重程度,评分达到 80 或以上),都会触发 DO_NOT_TRAVEL,无论其他维度如何。若安全风险级别为 EXTREME(安全模型评分达到 80 或以上),则至少会触发 RECONSIDER_TRAVEL,无论综合评分如何。 旅行风险评分能否与 SAP Concur 或 Egencia 等旅行管理系统集成? 目前没有原生连接器。你可以使用 Apify API 或 Webhook 构建自定义集成层,在旅行管理系统中创建行程时调用 MCP,并将风险评估结果记录到预订记录中。

帮助我们改进

如果你遇到问题,可以在 Apify 账户中启用运行共享,帮助我们更快地调试:

  1. 前往 账户设置 > 隐私
  2. 启用与公开 Actor 创建者共享运行

这样一来,如果出现问题,我们就能查看你的运行详情,从而更快地修复问题。只有 Actor 开发者可以查看你的数据,公众无法查看。

支持

发现 Bug 或有功能需求?请在此 Actor 页面上的 问题标签页中提交问题。如需定制解决方案或企业集成,请通过 Apify 平台联系我们。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。