Travel Risk Intelligence
About
Travel risk intelligence for any global destination, delivered through 8 MCP tools backed by real-time government and international data sources.
Details
- Author
- apifyforge
- GitHub stars
- 1
- Downloads
- 210
- Categories
- Media
Jump to
- 8 parallel data sources queried simultaneously with fault tolerance
- Four independent scoring models (hazard, health, security, weather)
- Severity-weighted NOAA alert scoring (extreme, severe, moderate)
- GDACS disaster alert severity tiers (red, orange)
- WHO health indicator parsing (life expectancy, malaria, etc.)
- Crime density and Interpol red notice scoring
- Regional security overlays (e.g., Middle East +3, Central Africa +4)
- Multi-stop itinerary scoring for up to 5 destinations
- Side-by-side destination comparison with safer choice
- Budget-aware execution with spending limit checks
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Travel Risk IntelligenceCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server URL (https://ryanclinton--travel-risk-intelligence-mcp.apify.actor/mcp) to an MCP client configuration (e.g., Claude Desktop, Cursor, Windsurf). Provide a destination (city, country, or region) and the tool returns structured JSON with risk scores, dimension breakdowns, and explanatory signals. Most queries complete in 15–60 seconds and cost $0.045 per call.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"travel risk intelligence": {
"travel-risk-intelligence-mcp": {
"url": "https://ryanclinton--travel-risk-intelligence-mcp.apify.actor/mcp"
}
}
}
}
McpServers
{
"travel-risk-intelligence-mcp": {
"url": "https://ryanclinton--travel-risk-intelligence-mcp.apify.actor/mcp"
}
}
Travel Risk Intelligence MCP Server
> View on ApifyForge | Use on Apify Store
---
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf):
{
"mcpServers": {
"travel-risk-intelligence-mcp": {
"url": "https://ryanclinton--travel-risk-intelligence-mcp.apify.actor/mcp"
}
}
}
---
Travel risk intelligence for any global destination, delivered through 8 MCP tools backed by real-time government and international data sources. Corporate travel managers, security teams, and AI travel agents get a quantified Destination Risk Score (0-100) across natural hazard, health, security, and weather dimensions — plus a composite advisory of SAFE, EXERCISE_CAUTION, RECONSIDER_TRAVEL, or DO_NOT_TRAVEL.
This MCP server runs on the Apify platform in always-on Standby mode, so your AI assistant queries it without cold starts. It orchestrates 8 parallel data feeds — NOAA weather alerts, GDACS disaster alerts, WHO Global Health Observatory, UK Police crime data, Interpol red notices, REST Countries profiles, weather forecasts, and Nominatim geocoding — then processes them through four independent scoring models before returning structured JSON your agent can act on immediately.
What data can you access?
| Data Point | Source | Example |
|---|---|---|
| 📡 Active weather alerts by severity tier | NOAA National Weather Service | "Tornado Warning — extreme severity, 3 active alerts" |
| 🌊 Global disaster alerts (earthquakes, floods, cyclones) | GDACS EU Joint Research Centre | "Red alert — Category 4 cyclone, Philippines" |
| ☀️ Multi-day weather forecast with extreme-condition flags | Weather Forecast Service | Temp 47°C, wind 75 km/h — extreme heat flag |
| 🏥 Disease prevalence and epidemic indicators | WHO Global Health Observatory | Life expectancy 58 yrs, malaria risk present |
| 🦠 Health infrastructure quality (sanitation, water access) | WHO GHO + REST Countries | Sanitation access 38%, Gini coefficient 52.1 |
| 🔒 Crime density by geographic area | UK Police Crime Data | 28 crime records — high crime area |
| 🚨 Internationally wanted persons linked to region | Interpol Red Notices | 4 red notices linked to region |
| 🌍 Country demographics, borders, regional classification | REST Countries | 6 border countries, Middle East subregion |
| 📍 Coordinate resolution for geographic risk mapping | Nominatim Geocoder | lat: -1.2921, lon: 36.8219 |
| 📊 Composite Destination Risk Score (0-100) | Scoring engine | Score: 67 — HIGH |
| ⚠️ Four-tier advisory classification | Composite model | SAFE / EXERCISE_CAUTION / RECONSIDER_TRAVEL / DO_NOT_TRAVEL |
| 🗺️ Per-dimension risk breakdown with explanatory signals | Scoring engine | hazard: 18, health: 20, security: 22, weather: 7 |
Why use Travel Risk Intelligence MCP Server?
Manually researching destination safety before travel means tabbing between government advisory websites, NOAA weather pages, WHO disease bulletins, and news feeds — then synthesizing it all into something consistent and auditable. For a corporate travel team managing dozens of trips a week, that process takes hours and produces risk assessments that are incomparable across destinations.
This MCP server automates the entire travel risk assessment workflow. An AI agent calls a single tool, and within seconds it has a quantified risk score, a structured advisory, and a list of specific signals explaining what drove the score — ready to feed into a travel approval workflow, a briefing document, or a duty-of-care compliance record.
- Scheduling — run recurring destination monitoring on daily or weekly intervals to detect risk changes before travel dates
- API access — trigger risk assessments programmatically from Python, JavaScript, or any HTTP client
- Standby mode — server is always warm on the Apify platform with no cold-start latency for agent workflows
- Spending limits — set a per-run budget cap so agentic workflows cannot run unbounded costs
- Integrations — connect to Zapier, Make, webhooks, or push results to Google Sheets or travel management systems
Features
- 8 parallel data sources — NOAA, GDACS, WHO GHO, UK Police, Interpol, REST Countries, Weather Forecast, and Nominatim queried simultaneously using Promise.allSettled for fault tolerance
- Four independent scoring models — natural hazard (max 30 points), health risk (max 25 points), security risk (max 30 points), and weather severity (max 15 points) each produce an independent score with explanatory signals
- Severity-weighted NOAA scoring — extreme alerts contribute 5 points, severe 2 points, moderate 1 point per alert; natural hazard score capped at 30
- GDACS severity tiers — red alerts score 5 points, orange 3 points; integrated into the hazard dimension alongside NOAA data
- WHO health indicator parsing — checks life expectancy thresholds (below 60 = critical flag, +5 points; below 70 = +2 points), malaria presence, tuberculosis rates above 100 per 100K, HIV prevalence above 1%, and sanitation and drinking water access below 50%
- Crime density scoring — UK Police records multiplied 2x per record up to a ceiling of 40 points; Interpol notices multiplied 5x up to 30 points
- Regional security overlays — REST Countries subregion data applies baseline security penalties: Middle East +3, Central/Eastern Africa +4, Southern/Southeast Asia +2
- Composite briefing with equal 25/25/25/25 weighting — generate_travel_briefing blends all four models for the final composite score
- DO_NOT_TRAVEL hard override — composite score above 75 OR an EMERGENCY alert level automatically escalates to DO_NOT_TRAVEL regardless of individual dimension results
- RECONSIDER_TRAVEL hard override — EXTREME security risk level escalates the advisory to RECONSIDER_TRAVEL at minimum
- Multi-stop itinerary scoring — up to 5 destinations assessed with highest-risk leg identification for trip planning
- Side-by-side destination comparison — compare_destination_alternatives runs both destinations in parallel and returns a saferChoice field
- Travel window planning — 14-day forecast plus active NOAA alert count with geocoded coordinates for map integration
- No-data penalty — if WHO returns no records for a country, the health score automatically adds 15 points to represent unquantifiable uncertainty
- Structured signal lists — every score includes human-readable signals explaining what drove it (e.g., "4 GDACS disaster alerts active", "Life expectancy: 58 years — critical health environment")
- Budget-aware tool execution — each tool checks Actor.charge before executing and returns a clean error message if the spending limit has been reached
Use cases for travel risk intelligence
Corporate duty-of-care compliance
Corporate travel managers at companies with ISO 31030 duty-of-care obligations need documented, consistent risk assessments for every international trip. This MCP integrates into travel approval workflows to generate a pre-travel briefing with a quantified advisory level. The structured JSON output can be logged to compliance systems or fed into approval gate logic to require sign-off above a defined score threshold.
Executive protection planning
Security teams protecting C-suite executives need to assess multi-stop itineraries holistically, not just individual destinations. The score_multi_stop_itinerary tool evaluates each leg independently and surfaces the highest-risk stop. Security teams can then decide whether to investigate further with generate_travel_briefing or compare alternative routings with compare_destination_alternatives.
Travel insurance and InsurTech dynamic pricing
Insurance underwriters and InsurTech platforms can use real-time destination risk scores to inform premium calculations at point-of-sale. A trip to a destination with an active GDACS red alert or a health score above 40 warrants different pricing than the same destination assessed in a calm period. The pay-per-query model fits naturally into underwriting APIs where pricing happens on demand.
International event and conference planning
Event planners selecting venues for international conferences or offsites can compare multiple candidate cities with a single API call. The comparison tool returns a side-by-side risk breakdown so decisions are documented and defensible, not intuitive. The signals array provides audit-ready evidence of the factors considered.
Real-time employee location monitoring
Travel operations teams can integrate check_active_alerts into duty-of-care dashboards that monitor locations where employees are currently deployed. NOAA and GDACS data refresh on each call, providing near-real-time hazard awareness without requiring manual monitoring of multiple government feeds. At $0.045 per call, monitoring 20 employee locations daily costs $0.90.
AI travel assistant and concierge agents
LLM-powered travel assistants can call generate_travel_briefing to proactively brief users before a trip, surface relevant health precautions, and recommend appropriate insurance coverage based on the risk level — all within the same conversation. The structured JSON output is designed to be parseable by language models.
How to use Travel Risk Intelligence MCP Server
1. Connect the MCP server — Add the server URL to your MCP client configuration (Claude Desktop, Cursor, Windsurf, Cline, or any MCP-compatible client). The URL is https://travel-risk-intelligence-mcp.apify.actor/mcp. Use your Apify API token as a Bearer authorization header.
2. Choose your tool — For a full pre-travel briefing, use generate_travel_briefing. For a quick alert check, use check_active_alerts. For a multi-city trip, use score_multi_stop_itinerary. For comparing two destination options, use compare_destination_alternatives.
3. Provide the destination — Enter a city name, country name, or region (e.g., "Nairobi", "Kenya", "Southeast Asia"). For generate_travel_briefing, also pass a country parameter to improve WHO and Interpol lookup accuracy.
4. Receive structured results — The tool returns a JSON object with the risk score, advisory level, dimension breakdown, active alerts, and a signals list explaining the score. Most calls complete in 15-60 seconds depending on the number of data sources queried.
MCP tools
| Tool | Price | Description |
|------|-------|-------------|
| assess_destination_risk | $0.045 | Weather, disaster, country profile — Destination Risk Score (0-100) across 5 sources |
| check_active_alerts | $0.045 | Real-time NOAA weather alerts and GDACS disaster alerts for a location |
| analyze_health_risks | $0.045 | WHO health indicators, disease prevalence, sanitation, inequality assessment |
| evaluate_security_risk | $0.045 | Crime density, Interpol red notices, regional security overlay |
| plan_travel_window | $0.045 | 14-day weather forecast, active alert count, geocoded destination coordinates |
| score_multi_stop_itinerary | $0.045 | Risk score per leg, highest-risk stop identified (up to 5 destinations) |
| compare_destination_alternatives | $0.045 | Side-by-side risk comparison, safer destination identified |
| generate_travel_briefing | $0.045 | Full composite briefing — all 8 sources, 4 scoring models, SAFE to DO_NOT_TRAVEL |
Tool parameters
| Tool | Parameter | Type | Required | Description |
|------|-----------|------|----------|-------------|
| assess_destination_risk | destination | string | Yes | City, country, or region name |
| assess_destination_risk | country | string | No | Country name or ISO code (improves REST Countries lookup) |
| check_active_alerts | location | string | Yes | Location to query for active NOAA and GDACS alerts |
| analyze_health_risks | country | string | Yes | Country name or ISO code for WHO GHO and REST Countries lookup |
| evaluate_security_risk | location | string | Yes | City, region, or country name |
| evaluate_security_risk | country | string | No | Country ISO code for Interpol query |
| plan_travel_window | destination | string | Yes | Travel destination for forecast and alert retrieval |
| score_multi_stop_itinerary | stops | string | Yes | Comma-separated destinations, e.g. "London, Istanbul, Nairobi" |
| compare_destination_alternatives | destination_a | string | Yes | First destination for comparison |
| compare_destination_alternatives | destination_b | string | Yes | Second destination for comparison |
| generate_travel_briefing | destination | string | Yes | Primary travel destination |
| generate_travel_briefing | country | string | No | Country name or ISO code for health and security lookups |
Input tips
- Provide both destination and country for the briefing tool. Supplying a separate country parameter to generate_travel_briefing significantly improves WHO GHO and Interpol lookups, which query by country name or ISO code rather than city name.
- Use check_active_alerts for high-frequency monitoring. It queries only 2 sources (vs. 8 for the full briefing), making it the right tool for monitoring employees currently in the field at $0.045 per call.
- Use ISO country codes for WHO queries. Passing "KE" instead of "Kenya" or "DE" instead of "Germany" produces more consistent WHO GHO results and avoids the 15-point no-data penalty.
- Keep multi-stop lists to 4-5 destinations. Stops are processed sequentially; 5 destinations can take 60-150 seconds. For larger itineraries, split across two calls.
- Set a spending limit on agentic workflows. If an AI agent calls this MCP autonomously, configure maxTotalChargeLimitUsd on the actor run so the MCP's built-in spending check will exit cleanly if reached.
How to connect this MCP server
Claude Desktop
Add this to your 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
Add the MCP server in your IDE's MCP settings panel:
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
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
