AIDEVELOPER TOOLS

Infrastructure Location Risk MCP Server

Infrastructure and location risk intelligence for any address or coordinate, delivered via the Model Context Protocol. This MCP server orchestrates **15 data sources in parallel** — FEMA, USGS, NOAA, GDACS, EPA, OpenAQ, UK Police, and more — to produce structured risk scores for underwriters, real estate investors, and site selection teams. Every tool call returns a scored, graded assessment with evidence-backed findings.

Try on Apify Store
$0.10per event
1
Users (30d)
15
Runs (30d)
90
Actively maintained
Maintenance Pulse
$0.10
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

location_risk_assessments
Estimated cost:$10.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
location_risk_assessmentQuick hazard check: FEMA, earthquakes, weather, floods.$0.10
natural_disaster_exposureComprehensive disaster data: FEMA, USGS, NOAA, GDACS, UK floods.$0.12
environmental_contamination_checkEPA ECHO, air quality, food hygiene contamination analysis.$0.08
infrastructure_quality_indexPOI density, EV charging, food hygiene, property values.$0.10
climate_trajectory_forecastWeather patterns, NOAA alerts, historical disasters, daylight.$0.12
crime_safety_assessmentUK Police crime data analysis.$0.05
property_intelligenceUK Land Registry transactions and area development.$0.08
insurance_underwriting_reportAll 15 data sources, 5 risk dimensions, composite underwriting grade.$0.45

Example: 100 events = $10.00 · 1,000 events = $100.00

Connect to your AI agent

Add this MCP server to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.

MCP Endpoint
https://ryanclinton--infrastructure-location-risk-mcp.apify.actor/mcp
Claude Desktop Config
{
  "mcpServers": {
    "infrastructure-location-risk-mcp": {
      "url": "https://ryanclinton--infrastructure-location-risk-mcp.apify.actor/mcp"
    }
  }
}

Documentation

Infrastructure and location risk intelligence for any address or coordinate, delivered via the Model Context Protocol. This MCP server orchestrates 15 data sources in parallel — FEMA, USGS, NOAA, GDACS, EPA, OpenAQ, UK Police, and more — to produce structured risk scores for underwriters, real estate investors, and site selection teams. Every tool call returns a scored, graded assessment with evidence-backed findings.

Connect once via MCP and your AI assistant can answer questions like "Is this warehouse site in a flood and seismic zone?" or "Generate a full underwriting report for 1300 First Street, New Orleans" without touching a single API or dataset directly.

What data can you access?

Data PointSourceExample
📋 Federal disaster declarations and historyFEMA Disaster Declarations34 declarations — Hurricane, Flood, Tornado
🌍 Seismic events, magnitude, depthUSGS Earthquake Search12 events M4.0+ within 150 km
⛈️ Active severe weather alertsNOAA Weather Alerts3 extreme alerts — Tornado Warning
🌐 Global disaster events and impact estimatesGDACS Disaster AlertsCyclone, severity level Orange
🌊 UK flood risk warnings by areaUK Flood Warnings7 active flood alerts — Thames Valley
🌡️ Multi-day weather forecast with extremesWeather Forecast42°C high — heat stress forecast
💨 Air quality index and pollutant readingsOpenAQ Air QualityPM2.5: 87 µg/m³ — unhealthy
🏭 EPA enforcement violations and Superfund proximityEPA ECHO18 violation records within 5 km
🚔 Crime incidents by category and rateUK Police Crime Data143 incidents — 38% violent
📍 Address geocoding to coordinatesNominatim Geocoder51.5074° N, 0.1278° W
🏥 Nearby facilities — hospitals, schools, servicesOSM Points of Interest67 POIs — well-developed area
⚡ EV charging station densityOpen Charge Map24 stations — modern infrastructure
🏠 Property transaction prices and historyUK Land RegistryAvg £485K — 22 transactions
🍽️ Food hygiene ratings for local establishmentsUK Food Hygiene82% rated 4+ — area well-maintained
☀️ Day length and seasonal daylight dataSunrise/Sunset Calculator7.3h day — extreme latitude

Why use Infrastructure & Location Risk MCP Server?

Manual location risk assessment for a single property involves pulling FEMA records, ordering an environmental Phase I report, consulting USGS seismic maps, checking flood zone certificates, and commissioning crime statistics — a process that can take days and cost thousands of dollars per site. Even internal risk teams with GIS access spend hours per location assembling data from a dozen disconnected government databases.

This MCP automates the entire data assembly and scoring pipeline. Connect it to Claude, GPT-4o, or any MCP-compatible AI client and your team gets structured, scored, graded risk assessments in under two minutes per location.

  • Scheduling — run recurring monitoring for portfolio properties on daily, weekly, or monthly intervals to track how risk profiles change over time
  • API access — trigger assessments from Python, JavaScript, or any HTTP client; integrate directly into underwriting platforms and deal flow tools
  • Parallel data fetching — all 15 sources are queried simultaneously, not sequentially, cutting query time dramatically versus manual workflows
  • Monitoring — receive Slack or email alerts when assessments flag extreme risk or when a run fails unexpectedly
  • Integrations — push results to Zapier, Make, Google Sheets, HubSpot, or GIS platforms via webhooks or the Apify API

Features

  • 8 purpose-built MCP tools covering every layer of physical asset risk — from a 30-second hazard check to a full insurance underwriting report
  • 15 data sources queried in parallel using Promise.all dispatch, reducing round-trip time versus sequential API calls
  • Multi-Hazard Exposure Score (0-100) combining FEMA declaration frequency, USGS M4.0+ earthquake count, NOAA severe/extreme alert severity, GDACS global disaster proximity, and UK flood warning density
  • Environmental Contamination Radius score (0-100) derived from EPA ECHO violation record density, OpenAQ PM2.5/AQI averages against WHO thresholds, and UK Food Hygiene low-rating concentration
  • Infrastructure Quality Index (0-100) scored from OSM point-of-interest density (50+ POIs = well-developed), EV charging station count as a modern-infrastructure proxy, food hygiene high-rating ratio, and UK Land Registry average property value
  • Climate Trajectory score (0-100) built from forecast extreme temperatures (>40°C / <-20°C), storm and blizzard keyword detection in weather descriptions, high-wind forecasts above 50 km/h, NOAA historical alert frequency, and sunrise/sunset day-length analysis for extreme-latitude detection
  • Crime Safety score (0-100) using UK Police crime incident counts with a violent crime proportion multiplier — incidents tagged with "violence", "robbery", or "weapon" categories trigger elevated scoring
  • Composite Insurance Underwriting Report using a weighted model: Hazard (30%) + Climate (25%) + Contamination (20%) + Crime (15%) + Infrastructure inverted (10%)
  • Four-tier risk grade output — LOW RISK / MODERATE RISK / HIGH RISK / UNINSURABLE with a plain-English recommendation for each grade
  • Auto-geocoding — supply a place name; the server resolves coordinates via Nominatim before dispatching spatial queries to earthquake, crime, flood, and POI sources
  • Spending limit enforcement — every tool call checks Actor.charge() and halts with a clear error if the run budget is reached, preventing cost overruns
  • Stateless MCP mode — runs on Apify Standby; each POST to /mcp creates an isolated server instance, safe for concurrent multi-user access

Use cases for location risk assessment

P&C insurance underwriting

Property and casualty underwriters spend 20-40 minutes per location gathering hazard data before they can price a risk. This MCP reduces that to a single tool call: insurance_underwriting_report returns a composite risk grade, all five dimensional scores, and a plain-English recommendation (Decline / Elevated Premium / Standard / Preferred). Teams processing hundreds of submissions weekly can embed this into their intake workflows via the Apify API.

Real estate investment due diligence

Investors evaluating acquisition targets need to cross-reference flood zones, seismic exposure, environmental liens, crime rates, and property market context before committing capital. The property_intelligence and natural_disaster_exposure tools combine UK Land Registry transaction history with hazard scoring, giving deal teams a rapid risk profile that would otherwise require a Phase I environmental report and a manual FEMA lookup.

Data center and critical facility site selection

Infrastructure teams selecting data center, warehouse, or manufacturing sites require low earthquake and flood exposure, clean environmental records, and strong utility infrastructure. The infrastructure_quality_index tool quantifies EV charging density and OSM POI coverage as modern-infrastructure proxies, while natural_disaster_exposure compares seismic and flood risk across candidate locations.

Municipal and urban planning

City planners and resilience officers assessing neighborhoods for capital improvement programs need multi-hazard exposure data, environmental contamination proximity, and infrastructure quality indices. This MCP produces all five dimensions for any location, enabling data-driven prioritization of flood defenses, environmental remediation, or infrastructure investment.

Climate risk portfolio assessment

Asset managers and ESG teams tracking climate-adjusted portfolio risk can schedule weekly climate_trajectory_forecast calls across their property portfolio to monitor whether weather extremes, NOAA alert frequency, or flood risk is trending upward. Historical FEMA disaster counts serve as the primary trend signal.

Property buyer due diligence

Individual buyers and their advisors can run a quick location_risk_assessment before making an offer — checking FEMA disaster history, active flood alerts, and seismic exposure for a specific postcode or address in under two minutes, for $0.045.

How to use Infrastructure & Location Risk MCP Server

  1. Connect the MCP server — Add the server URL to your MCP client (Claude Desktop, Cursor, Windsurf, or any MCP-compatible tool). The endpoint is https://infrastructure-location-risk-mcp.apify.actor/mcp. Use your Apify API token as the Bearer token.
  2. Ask a location question — Type a natural-language question: "Run a full risk assessment for the Port of Houston, TX" or "What is the seismic and flood exposure for 221B Baker Street, London?"
  3. The server geocodes and fetches data — If you supply a place name, Nominatim resolves coordinates automatically. Up to 15 data sources are queried in parallel. A typical full report takes 60-90 seconds.
  4. Review the structured output — You receive a scored, graded JSON response with dimensional risk scores (0-100), risk level labels, evidence findings, and a recommendation. For full underwriting reports, all 15 data source counts are included so you know exactly what evidence informed the grade.

MCP tools

ToolPriceWhat it does
location_risk_assessment$0.045Quick hazard check: FEMA disasters, USGS earthquakes, NOAA alerts, UK floods. Returns Hazard Exposure Score (0-100).
natural_disaster_exposure$0.045Full natural disaster profile: FEMA (30 records), USGS 200 km radius, NOAA severe/extreme filter, GDACS global events, UK flood warnings.
environmental_contamination_check$0.045EPA ECHO violation density, OpenAQ air quality readings, UK Food Hygiene low-rating concentration. Returns Contamination Score (0-100).
infrastructure_quality_index$0.045OSM POI density, EV charging count, food hygiene ratios, UK Land Registry property values, geocode resolution. Returns Quality Score (0-100).
climate_trajectory_forecast$0.045Extreme temperature and storm forecast analysis, NOAA alert frequency, FEMA historical trend, UK flood risk, day-length latitude scoring.
crime_safety_assessment$0.045UK Police crime incident count with violent crime proportion analysis and top-10 category breakdown.
property_intelligence$0.045UK Land Registry transactions, average price calculation, property type breakdown, nearby POI count, geocode data.
insurance_underwriting_report$0.045Full composite report across all 5 dimensions and 15 data sources. Weighted risk score, letter grade, and plain-English underwriting recommendation.

Tool input parameters

All tools accept these parameters:

ParameterTypeRequiredDescription
locationstringYesPlace name, address, city, or postcode. e.g., "Houston, TX", "SW1A 1AA"
latitudenumberNoDecimal latitude. If omitted, resolved from location via Nominatim.
longitudenumberNoDecimal longitude. If omitted, resolved from location via Nominatim.

Note: property_intelligence accepts only location (string); it handles geocoding internally.

Connecting this MCP server

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "infrastructure-location-risk": {
      "url": "https://infrastructure-location-risk-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Cursor / Windsurf / Cline

Add a new MCP server entry pointing to:

https://infrastructure-location-risk-mcp.apify.actor/mcp

Include Authorization: Bearer YOUR_APIFY_TOKEN in the request headers.

Python (direct HTTP)

import httpx, json

APIFY_TOKEN = "YOUR_APIFY_TOKEN"
MCP_URL = "https://infrastructure-location-risk-mcp.apify.actor/mcp"

payload = {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
        "name": "insurance_underwriting_report",
        "arguments": {
            "location": "Houston, TX"
        }
    },
    "id": 1
}

response = httpx.post(
    MCP_URL,
    json=payload,
    headers={"Authorization": f"Bearer {APIFY_TOKEN}"},
    timeout=120.0
)
result = response.json()
report = json.loads(result["result"]["content"][0]["text"])

print(f"Location: {report['location']}")
print(f"Risk grade: {report['grade']}")
print(f"Overall score: {report['overallRiskScore']}/100")
print(f"Hazard exposure: {report['dimensions']['hazardExposure']['score']}/100 — {report['dimensions']['hazardExposure']['riskLevel']}")
print(f"Recommendation: {report['recommendation']}")

JavaScript / Node.js

const APIFY_TOKEN = "YOUR_APIFY_TOKEN";
const MCP_URL = "https://infrastructure-location-risk-mcp.apify.actor/mcp";

const response = await fetch(MCP_URL, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": `Bearer ${APIFY_TOKEN}`,
  },
  body: JSON.stringify({
    jsonrpc: "2.0",
    method: "tools/call",
    params: {
      name: "insurance_underwriting_report",
      arguments: { location: "New Orleans, LA" }
    },
    id: 1
  })
});

const data = await response.json();
const report = JSON.parse(data.result.content[0].text);

console.log(`${report.location}: ${report.grade} (score: ${report.overallRiskScore}/100)`);
console.log(`Hazard: ${report.dimensions.hazardExposure.score} | Climate: ${report.dimensions.climateTrajectory.score} | Contamination: ${report.dimensions.contamination.score}`);
console.log(`Recommendation: ${report.recommendation}`);

cURL

# Run a full insurance underwriting report
curl -X POST "https://infrastructure-location-risk-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "insurance_underwriting_report",
      "arguments": { "location": "New Orleans, LA" }
    },
    "id": 1
  }'

# Quick location risk check
curl -X POST "https://infrastructure-location-risk-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "location_risk_assessment",
      "arguments": { "location": "San Francisco, CA" }
    },
    "id": 2
  }'

Output example

Example response from insurance_underwriting_report for a high-risk location:

{
  "location": "New Orleans, LA",
  "coordinates": { "lat": 29.9511, "lng": -90.0715 },
  "overallRiskScore": 71,
  "grade": "UNINSURABLE / EXTREME RISK",
  "dimensions": {
    "hazardExposure": {
      "score": 85,
      "riskLevel": "EXTREME RISK",
      "findings": [
        "34 FEMA disaster declarations — extreme historical disaster zone",
        "3 significant earthquakes (M4.0+)",
        "5 severe/extreme NOAA alerts — active severe weather zone",
        "Multi-hazard zone: FEMA disasters, seismic, severe weather, flooding"
      ],
      "hazardTypes": ["FEMA disasters", "seismic", "severe weather", "flooding"]
    },
    "contamination": {
      "score": 43,
      "riskLevel": "MODERATE CONTAMINATION RISK",
      "findings": [
        "18 EPA enforcement records — moderate contamination risk",
        "Air quality index 72 — moderate air quality",
        "3 food establishments with low hygiene ratings"
      ]
    },
    "infrastructureQuality": {
      "score": 62,
      "label": "GOOD",
      "findings": [
        "74 points of interest — well-developed area",
        "18 EV charging stations — good infrastructure",
        "78% high-rated food establishments — well-maintained area",
        "Location successfully geocoded — well-mapped area"
      ]
    },
    "climateTrajectory": {
      "score": 68,
      "label": "HIGH CLIMATE RISK",
      "findings": [
        "2 extreme temperature forecast(s) — climate stress",
        "1 storm/severe weather forecast(s)",
        "34 historical FEMA disasters — recurring climate pattern",
        "7 active NOAA alerts — elevated climate risk period"
      ]
    },
    "crimeSafety": {
      "score": 37,
      "label": "MODERATE CRIME RISK",
      "findings": [
        "73 crime incidents — moderate crime",
        "11 violent crime incident(s)"
      ]
    }
  },
  "recommendation": "Location presents extreme risk. Multiple hazard types, environmental contamination, or severe climate exposure. Decline coverage or apply maximum surcharges.",
  "dataSources": {
    "femaDisasters": 34,
    "earthquakes": 8,
    "noaaAlerts": 7,
    "gdacsDisasters": 2,
    "ukFloods": 0,
    "weatherForecasts": 7,
    "airQualityReadings": 12,
    "epaRecords": 18,
    "crimeIncidents": 73,
    "pointsOfInterest": 74,
    "evChargingStations": 18,
    "landRegistryRecords": 0,
    "foodHygieneRatings": 0
  }
}

Output fields

FieldTypeDescription
locationstringInput location as provided
coordinates.latnumberResolved decimal latitude
coordinates.lngnumberResolved decimal longitude
overallRiskScorenumberComposite risk score 0-100 (higher = more risk)
gradestringRisk grade: LOW RISK — PREFERRED RATE / MODERATE RISK — STANDARD PREMIUM / HIGH RISK — ELEVATED PREMIUM / UNINSURABLE / EXTREME RISK
dimensions.hazardExposure.scorenumberMulti-hazard exposure score 0-100
dimensions.hazardExposure.riskLevelstringLOW / MODERATE / HIGH / EXTREME RISK
dimensions.hazardExposure.findingsstring[]Evidence statements from each data source
dimensions.hazardExposure.hazardTypesstring[]Active hazard categories detected
dimensions.contamination.scorenumberEnvironmental contamination score 0-100
dimensions.contamination.riskLevelstringLOW / MODERATE / HIGH CONTAMINATION RISK
dimensions.contamination.findingsstring[]EPA violation counts, AQI readings, hygiene data
dimensions.infrastructureQuality.scorenumberInfrastructure quality index 0-100 (higher = better)
dimensions.infrastructureQuality.labelstringPOOR / FAIR / GOOD / EXCELLENT
dimensions.infrastructureQuality.findingsstring[]POI count, EV charging, property values
dimensions.climateTrajectory.scorenumberClimate risk trajectory score 0-100
dimensions.climateTrajectory.labelstringLOW / MODERATE / ELEVATED / HIGH CLIMATE RISK
dimensions.climateTrajectory.findingsstring[]Forecast extremes, NOAA patterns, FEMA trends
dimensions.crimeSafety.scorenumberCrime and safety score 0-100
dimensions.crimeSafety.labelstringLOW / MODERATE / HIGH CRIME RISK
dimensions.crimeSafety.findingsstring[]Incident counts and violent crime proportion
recommendationstringPlain-English underwriting recommendation
dataSources.*numberRecord count from each of the 13 data source categories

For individual tools (location_risk_assessment, natural_disaster_exposure, etc.), responses return the relevant subset of these fields.

How much does it cost to run location risk assessments?

This MCP uses pay-per-event pricing — you pay $0.045 per tool call. Platform compute costs are included. There is no subscription or monthly minimum.

ScenarioTool callsCost per callTotal cost
Single quick hazard check1$0.045$0.05
Full underwriting report1$0.045$0.05
Compare 5 candidate sites (quick)5$0.045$0.23
Compare 5 sites (full reports)5$0.045$0.23
Portfolio of 100 properties (full reports)100$0.045$4.50

You can set a maximum spending limit per run in your Apify account to control costs. The actor stops and returns a clear error message when your budget is reached.

Compare this to traditional Phase I environmental assessments at $1,500-$3,500 per property, or flood zone determination certificates at $25-$150 each. A 100-property portfolio assessment that would cost $150,000+ through conventional channels costs $4.50 with this MCP.

Apify's free tier includes $5 of monthly platform credits, covering approximately 110 tool calls at no cost.

How Infrastructure & Location Risk MCP Server works

Phase 1: Geocoding and coordinate resolution

If coordinates are not provided, the server calls the Nominatim geocoder with maxResults: 1 to resolve the input location string to a decimal latitude/longitude pair. This coordinate is then used for all subsequent spatial queries — USGS earthquake radius searches (150-200 km), OSM POI proximity lookups, EV charging station radius, UK crime location queries, and sunrise/sunset calculation.

Phase 2: Parallel data fetching

All applicable actor calls are dispatched concurrently using Promise.all. For the full underwriting report, 14 actor calls run simultaneously: FEMA, USGS (150 km radius), NOAA, GDACS, UK Flood, Weather, OpenAQ, EPA ECHO, UK Crime, OSM POI (50 results), Open Charge Map, UK Land Registry, UK Food Hygiene, and Sunrise/Sunset. Each actor is allocated 256 MB memory with a 120-second timeout, after which it returns an empty array rather than blocking the pipeline.

Phase 3: Scoring model computation

Five scoring functions process the collected data arrays against threshold rules:

  • Hazard scoring applies tiered point values: 20+ FEMA declarations = 25 pts; 5+ M4.0 earthquakes = 20 pts; 3+ severe NOAA alerts = 15 pts; any GDACS event = 10 pts; 5+ UK floods = 15 pts. Scores are capped at 100.
  • Contamination scoring averages OpenAQ value/aqi/pm25 fields across all readings. AQI >150 = 30 pts; EPA records >20 = 35 pts.
  • Infrastructure quality uses POI count thresholds (50+ = 25 pts) and EV charging density (20+ = 20 pts), then adds a food hygiene high-rating ratio bonus (>80% rated 4+ = 15 pts) and UK Land Registry average price premium (>£500K = 10 pts).
  • Climate trajectory detects extreme temperatures (>40°C or <-20°C) in forecast temperature/temp/maxTemp fields, storm keywords in description/conditions/summary, wind speeds above 50 km/h, and day-length outliers below 8 hours or above 16 hours.
  • Crime safety counts total incidents and computes violent crime ratio: incidents with "violen", "robbery", or "weapon" in the category/crimeType field that exceed 30% of total incidents trigger a 30-point penalty.

Phase 4: Composite underwriting report

The weighted formula is: (hazard × 0.30) + (climate × 0.25) + (contamination × 0.20) + (crime × 0.15) + ((100 - infrastructure) × 0.10). Infrastructure quality is inverted because higher quality reduces overall risk. The composite total maps to four grades: 0-29 = LOW RISK (preferred rate), 30-49 = MODERATE RISK (standard premium), 50-69 = HIGH RISK (elevated premium), 70-100 = UNINSURABLE (decline or maximum surcharge).

Tips for best results

  1. Supply coordinates when you have them. If you already know the latitude and longitude, include them in the tool call. This skips the Nominatim geocoding step and saves approximately 5-10 seconds per request.

  2. Use specific location strings. "1600 Pennsylvania Ave NW, Washington DC" geocodes more accurately than "Washington DC". For UK locations, postcodes ("SW1A 1AA") produce the most precise radius searches.

  3. Start with location_risk_assessment before the full report. The quick hazard check costs the same $0.045 and takes 20-30 seconds. If the hazard score is low, you may not need the full underwriting report.

  4. Understand UK vs. US data coverage. Crime, flood, land registry, and food hygiene tools are UK-specific. For US locations, hazard data (FEMA, USGS, NOAA, EPA) is comprehensive but property and crime dimensions will return limited data. Use the natural_disaster_exposure tool for US locations rather than the full underwriting report.

  5. Batch comparisons with the API. When comparing 10+ candidate sites, use the Python or JavaScript client to run assessments in parallel. Loop through your location list and collect all results before analyzing — avoid running them sequentially from a chat interface.

  6. Combine with property data actors. The property_intelligence tool covers UK Land Registry. For US property data, combine this MCP with Company Deep Research or WHOIS Domain Lookup for supplementary due diligence on property owners.

  7. Schedule weekly climate trajectory checks. For portfolio properties in hurricane corridors, flood plains, or wildfire zones, schedule climate_trajectory_forecast weekly. NOAA alert frequency and weather extremes shift seasonally — a quarterly review will miss a deteriorating season.

  8. Set a spending limit for bulk runs. When running assessments programmatically across large portfolios, configure a per-run spending limit in Apify's run settings to prevent unexpected charges if your location list is longer than expected.

Combine with other Apify actors

ActorHow to combine
Location Risk ReportFull narrative PDF-style report for a location — use after this MCP flags high risk for a deeper written analysis
Company Deep ResearchLook up the operating company at a facility after flagging it for environmental or hazard risk
WHOIS Domain LookupResearch domain registration for businesses operating from a flagged location
Website Tech Stack DetectorProfile insurtech or proptech companies to identify potential integration partners in this space
B2B Lead QualifierScore and qualify commercial property firms or insurers as leads after identifying their risk profiles
Trustpilot Review AnalyzerValidate the reputation of real estate agencies or environmental consultancies in a given location
Event Lead ExtractorExtract contacts from insurance and real estate conference sponsors who may need location risk tools

Limitations

  • UK crime, flood, land registry, and food hygiene data is UK-only. Crime Safety scores, UK Flood Warnings, UK Land Registry, and UK Food Hygiene results will be empty for US and non-UK locations. The composite underwriting score for US locations is driven primarily by FEMA, USGS, NOAA, EPA, and climate trajectory dimensions.
  • FEMA and EPA ECHO data is US-only. For international locations outside the UK and US, meaningful risk data is limited to GDACS (global disasters), OpenAQ (air quality), USGS (earthquakes), and weather forecasts.
  • No real-time satellite or imagery analysis. The MCP works entirely from API data sources — it does not perform visual inspection, drone analysis, or satellite change detection.
  • Data source freshness varies. FEMA disaster declarations are historical records. NOAA alerts are real-time. UK Land Registry transactions lag 2-3 months. OpenAQ readings are near-real-time but station coverage varies by city.
  • Geocoding precision is address-dependent. Rural locations, industrial estates, or newly built areas may resolve to town-center coordinates rather than exact parcel coordinates. Supply explicit latitude/longitude for precision-critical assessments.
  • Each tool call has a 120-second per-actor timeout. If a data source is slow or unavailable, that source returns an empty array rather than blocking the overall response. The risk score will reflect the available data only.
  • No PDF or report export. Outputs are structured JSON via the MCP protocol. Rendering to PDF or feeding into a downstream document requires a separate integration step.
  • Scoring models are deterministic thresholds, not ML models. The scoring engine applies fixed point thresholds derived from the source code (e.g., 20+ FEMA declarations = 25 pts). They are calibrated for comparative ranking, not actuarial pricing.

Integrations

  • Apify API — call any tool programmatically; integrate location risk checks into underwriting platforms, deal tracking systems, or GIS pipelines
  • Zapier — trigger a location risk check whenever a new property is added to your CRM or spreadsheet
  • Make — build multi-step workflows: receive a property address by email, run a risk assessment, and route the result to a Slack channel based on grade
  • Google Sheets — feed assessment results into a property portfolio tracker; one row per location, one column per dimension score
  • Webhooks — receive a webhook payload when a scheduled portfolio assessment completes for integration with dashboard or BI tools
  • LangChain / LlamaIndex — mount this MCP server as a tool in agentic pipelines where the AI decides when to trigger location risk checks during deal analysis or report generation

Troubleshooting

  • Empty scores for a US location — The crime, flood, land registry, and food hygiene dimensions are UK-specific and will return empty arrays for US addresses. This is expected behavior. Use natural_disaster_exposure for US-focused hazard analysis, which provides full FEMA, USGS, NOAA, and GDACS coverage.

  • Geocoding fails or returns unexpected coordinates — Nominatim resolves location strings to the best-matching OpenStreetMap entry. Ambiguous inputs like "Springfield" may resolve to the wrong city. Supply explicit latitude and longitude parameters for any location where precise coordinates matter.

  • Tool call times out or returns partial data — Individual upstream actors have a 120-second timeout. If a government data source is slow or returning HTTP errors at query time, that source contributes empty arrays to the score. The response will note the affected source count in the dataSources field. Retry after a few minutes if critical data sources show zero records unexpectedly.

  • Spending limit reached error — You have hit the per-run budget cap set in your Apify account. Increase the maximum spend in the run settings, or purchase additional Apify credits under Account > Billing.

  • Score seems too low for a known high-risk location — For non-UK/non-US locations, several scoring dimensions have no data and default to zero, which will lower the composite score. This is a data coverage limitation, not a scoring error. Apply judgment when interpreting scores for locations outside the US and UK.

Responsible use

  • This MCP server only accesses publicly available government databases and open data registries.
  • All data sources — FEMA, USGS, NOAA, EPA, UK Police, UK Environment Agency, UK Land Registry, Food Standards Agency — are open government data accessible to the public.
  • Risk scores are analytical tools to assist decision-making and are not substitutes for professional insurance assessments, Phase I environmental reports, or licensed engineering surveys.
  • Do not use location risk data to discriminate against individuals or communities in ways that violate fair lending, fair housing, or anti-discrimination laws.
  • For guidance on data use legality, see Apify's guide.

FAQ

How many location risk assessments can I run per month? There is no cap on the number of tool calls. Each call costs $0.045. The only limit is your Apify account balance or any per-run spending limit you configure. Apify's free tier provides $5 of credits per month, covering approximately 110 tool calls.

Does the location risk MCP cover international locations outside the US and UK? Global coverage is provided by GDACS (worldwide disaster alerts), USGS earthquakes (global seismic data), OpenAQ (global air quality stations), Open Charge Map (global EV charging), and weather forecasts. US-specific coverage includes FEMA, NOAA, and EPA. UK-specific coverage includes crime, flood warnings, land registry, and food hygiene. For locations in other countries, hazard and climate scores will be meaningful but crime and property dimensions will be empty.

How accurate is the Multi-Hazard Exposure Score? The score is a comparative ranking tool, not a certified actuarial model. It applies tiered thresholds to government data counts and severity classifications. A location scoring 80+ has significantly more documented hazard activity than one scoring 20. For regulatory or compliance use cases, supplement with certified flood zone determinations, seismic hazard maps, and professional Phase I environmental reports.

How is this different from a commercial risk data provider like Verisk or CoreLogic? Commercial providers offer proprietary models, historical loss data, and regulatory-grade peril scores. This MCP provides open-government data aggregation and comparative scoring at a fraction of the cost — $0.045 per query versus hundreds of dollars per property for commercial platforms. It is best suited for initial screening, due diligence triage, and AI-assisted research rather than binding underwriting decisions.

Can I compare multiple locations to find the lowest-risk site? Yes. Run location_risk_assessment or insurance_underwriting_report for each candidate location and compare overallRiskScore values. Lower scores indicate lower composite risk. The dimensional breakdown lets you compare locations on individual risk factors — a site might have low hazard exposure but high contamination risk.

How long does a full insurance underwriting report take to run? A full underwriting report queries 14 data sources in parallel. Typical run time is 60-120 seconds depending on data source response times. Quick hazard checks (location_risk_assessment) take 20-40 seconds. Set your HTTP client timeout to at least 150 seconds.

Is the location risk data legal to use for insurance underwriting? All data sources are public government databases. Using public data for analytical purposes is generally lawful. However, using location data as a proxy for protected characteristics in insurance pricing may be subject to fair insurance regulations in your jurisdiction. Consult legal counsel before using location scores as a direct pricing input.

Can I schedule this MCP to monitor a property portfolio automatically? Yes. Use the Apify Scheduler to run assessments on a daily, weekly, or monthly schedule. You can also set up webhooks to receive the results in your system automatically when each scheduled run completes.

What happens if one of the 15 data sources is unavailable? Each upstream actor has a 120-second timeout with graceful error handling. If a source fails, it contributes an empty array to the scoring pipeline, and the affected dimension is scored from the available data only. The dataSources field in the response shows the record count from each source so you can identify which data was missing.

How does the composite risk grade map to insurance underwriting decisions? The four grades translate to standard underwriting actions: LOW RISK (0-29) = preferred rates, standard terms. MODERATE RISK (30-49) = standard underwriting, no adjustments required. HIGH RISK (50-69) = apply risk-adjusted premiums, require additional inspections. UNINSURABLE / EXTREME RISK (70-100) = decline coverage or apply maximum surcharges and exclusions.

Can I use this MCP with Claude, GPT-4o, or other AI assistants? Yes. Any MCP-compatible AI client can connect to this server. Tested with Claude Desktop, Cursor, Windsurf, and Cline. GPT-4o with tool use can call the MCP endpoint directly via HTTP. The server uses the standard MCP Streamable HTTP transport with stateless session handling.

Does the MCP store my location queries? The server is stateless — each tool call creates an isolated MCP server instance that is destroyed after the response. Apify stores run logs and dataset outputs per the standard Apify data retention policy, which you can configure under account settings.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom scoring models, enterprise integrations, or bulk data contracts, reach out through the Apify platform.

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try Infrastructure Location Risk MCP Server?

Start for free on Apify. No credit card required.

Open on Apify Store