Data Center Siting Intelligence MCP Server
Data center site selection intelligence, delivered as an MCP server your AI agent can call directly. This server queries 8 government data sources — USGS seismic catalogs, NOAA weather alerts, OpenAQ air quality, EIA power grid data, FEMA disaster records, UK flood warnings, Nominatim geocoding, and weather forecasts — and synthesizes them through 4 scoring models into a composite Site Viability Score (0-100) for any candidate location. The result is a structured, machine-readable site assessmen
Maintenance Pulse
90/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| assess_site_viability | Power + hazards + cooling + infrastructure viability check. | $0.10 |
| compare_metro_areas | Multi-signal metro area comparison for DC siting. | $0.10 |
| power_grid_analysis | EIA energy sources, generation mix, grid reliability. | $0.08 |
| natural_hazard_profile | USGS seismic + NOAA weather + FEMA + flood risk. | $0.10 |
| climate_cooling_efficiency | Air quality + temperature for PUE modeling. | $0.08 |
| flood_risk_assessment | Flood warnings + FEMA zones + weather flood risk. | $0.08 |
| seismic_risk_report | USGS earthquake history and magnitude analysis. | $0.06 |
| site_ranking_matrix | All 8 sources, 4 models. PRIME_SITE to NOT_RECOMMENDED verdict. | $0.30 |
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.
https://ryanclinton--data-center-siting-intelligence-mcp.apify.actor/mcp{
"mcpServers": {
"data-center-siting-intelligence-mcp": {
"url": "https://ryanclinton--data-center-siting-intelligence-mcp.apify.actor/mcp"
}
}
}Documentation
Data center site selection intelligence, delivered as an MCP server your AI agent can call directly. This server queries 8 government data sources — USGS seismic catalogs, NOAA weather alerts, OpenAQ air quality, EIA power grid data, FEMA disaster records, UK flood warnings, Nominatim geocoding, and weather forecasts — and synthesizes them through 4 scoring models into a composite Site Viability Score (0-100) for any candidate location. The result is a structured, machine-readable site assessment that replaces days of manual desk research for each shortlisted market.
Data center real estate teams, hyperscaler infrastructure planners, and colocation operators use this server to give their AI assistants the ability to evaluate power availability, natural hazard exposure, PUE cooling potential, and general site viability in a single tool call. Every assessment uses pay-per-event pricing at $0.045 per tool call, with no subscription, no minimum, and no per-seat fee. The same multi-source site screening that commercial advisories charge $15,000-50,000 to produce now costs under $5 for a 100-site national sweep.
What data can you access?
| Data Point | Source | Coverage |
|---|---|---|
| 📊 Seismic activity, earthquake magnitude, M4+ event frequency | USGS Earthquake Search | Global |
| 🌩 Severe weather alerts, storm frequency, extreme event count | NOAA Weather Alerts | US and global |
| 💨 PM2.5 averages, air quality index, free-cooling suitability | OpenAQ Air Quality | 10,000+ global stations |
| 📍 Geographic coordinates, location resolution, geocoding confidence | Nominatim Geocoder | Global |
| 🌡 Temperature profiles, cool-hour ratios, extreme heat periods | Weather Forecast Search | Global |
| ⚡ Electricity generation, fuel mix, renewable percentage, source diversity | EIA Energy Data | US state-level |
| 🌊 Flood warnings, flood zone classifications, flood-related events | UK Flood Warnings | England and Wales |
| 🏚 Federal disaster declarations, disaster type history, frequency | FEMA Disaster Search | All US declarations |
Why use Data Center Siting Intelligence MCP Server?
A site selection analyst manually pulling power data from EIA, cross-referencing USGS earthquake catalogs, checking FEMA disaster histories, and modeling climate conditions spends 8-12 hours per candidate site. At five to ten shortlisted locations, that is a full two weeks of desk research before a single slide is ready for a capital committee.
This MCP server automates the entire data collection and scoring pipeline. Your AI agent calls one tool — site_ranking_matrix — and receives a scored, structured report with a PRIME_SITE / STRONG_CANDIDATE / ACCEPTABLE / MARGINAL / NOT_RECOMMENDED verdict, actionable recommendations, and supporting signals from all 8 sources. The same analysis that takes analysts days takes under 60 seconds.
Beyond speed, deploying through the Apify platform gives your team:
- Scheduling — run daily or weekly site monitoring sweeps to track changing conditions in shortlisted markets
- API access — trigger assessments from Python, JavaScript, or any HTTP client; embed in existing site selection platforms
- Spending controls — set a per-run cost ceiling so batch site surveys stay within budget
- Monitoring — receive Slack or email alerts when runs fail or return unexpected results
- Integrations — connect to Zapier, Make, webhooks, or Google Sheets for stakeholder reporting
Features
- 8 parallel data sources per tool call —
site_ranking_matrixfires all 8 underlying actors concurrently viaPromise.all, minimizing latency; total latency is determined by the slowest single source, not the sum - 4 independent scoring models — Power Availability Index, Natural Hazard Composite, Cooling Efficiency Rating, and Site Viability Score each run independently, so partial data still produces valid sub-scores
- Weighted composite formula — composite score weights power availability 30%, natural hazard inversion 25%, cooling efficiency 25%, and site viability 20%, reflecting actual capital planning priorities
- Verdict override logic — EXTREME hazard level or INSUFFICIENT power automatically overrides the composite score to NOT_RECOMMENDED, preventing false-positive site recommendations regardless of other dimensions
- Power grid diversity scoring — EIA series IDs are parsed for solar, wind, hydro, geothermal, nuclear, gas, and coal source types; 5 points per source type up to a 20-point diversity maximum rewards diversified grids
- Renewable energy signal detection — sites where renewable generation exceeds 30% of total EIA output generate an explicit ESG-favorable signal to support PPA targeting and sustainability commitments
- Grid reliability from FEMA disaster history — severe storm, hurricane, ice storm, and winter weather declaration types each deduct 4 points from a 30-point grid reliability baseline
- PUE proxy modeling from cool-hour ratios — cooling score derives from the proportion of forecast periods below 18°C; a 10-point bonus applies for zero extreme heat periods, directly modeling free-cooling hours
- Free-cooling eligibility assessment — PM2.5 averages below 12 µg/m³ score the full 40-point air quality maximum; above 55 µg/m³ generates an explicit air-side economizer warning
- Seismic magnitude weighting — M4.0+ earthquakes each add 5 points to the seismic sub-score; any M5.0+ event adds a flat 10-point penalty regardless of count
- FEMA disaster frequency counter — 5 or more disaster declarations trigger a high-frequency signal; each declaration reduces site viability score by 5 points to a floor of 0
- 8 targeted MCP tools — each tool is scoped to a specific analysis task so AI agents only pay for the data dimensions they need, from focused seismic reports to full composite rankings
- Standby-mode architecture — the server uses Apify's Standby mode with StreamableHTTP transport; each POST to
/mcpcreates a fresh McpServer instance for stateless, scalable operation - Structured JSON output with human-readable signals — every tool returns scores, level classifications, signal strings, and actionable recommendation text for direct use in AI reasoning chains
Use cases for data center site selection
Hyperscaler site selection and capital committee reporting
Infrastructure teams at hyperscalers evaluating 10-20 candidate markets for a new AI-focused build can use site_ranking_matrix to generate a scored comparison table in minutes. The structured output maps directly to capital committee templates — composite score, power level, hazard level, cooling level, and specific engineering recommendations. Shortlisting time drops from two weeks of analyst hours to under an hour of API calls.
Colocation operator market expansion
Colo operators identifying their next campus location can use compare_metro_areas to benchmark secondary markets against established hubs like Ashburn, Phoenix, or Dallas. Power mix and cooling efficiency scores reveal which emerging markets have the infrastructure fundamentals to support next-generation AI workloads before committing to site acquisition costs.
Real estate developer due diligence
Real estate developers evaluating land parcels for data center campus development can run natural_hazard_profile and flood_risk_assessment before committing to acquisition. FEMA disaster history and seismic scores inform structural design requirements and insurance underwriting — both material line items in pro forma modeling — before any capital is deployed.
Energy procurement and PPA planning
Energy teams structuring power purchase agreements can use power_grid_analysis to assess the renewable energy mix and source diversity for a given US state before engaging utilities. The renewable indicator signal and energy source type count directly inform PPA target pricing, ESG commitment language, and utility negotiation leverage.
PUE-driven facility engineering
Mechanical and electrical engineers modeling cooling system design can use climate_cooling_efficiency to quantify free-cooling hours and air quality suitability for economizer operation. PM2.5 averages and cool-hour ratios feed directly into PUE projections and total cost of ownership models before schematic design begins.
Insurance underwriting for critical infrastructure
Property insurers underwriting data center facilities can use natural_hazard_profile and seismic_risk_report to quantify multi-peril exposure — earthquake, flood, severe weather, and historical disaster frequency — without pulling data from four separate government databases and normalizing it manually for each submission.
How to use data center site selection MCP tools
- Connect your MCP client — add the server URL to Claude Desktop, Cursor, Windsurf, Cline, or any MCP-compatible client using the configuration examples below. You only need your Apify API token.
- Choose your tool — for a full site assessment use
site_ranking_matrix; for targeted analysis use individual tools likepower_grid_analysisorclimate_cooling_efficiency. Most evaluations start withsite_ranking_matrix. - Provide a location — enter any city name, address, metro area, or geographic region. Example:
"Quincy, Washington"or"Northern Virginia, USA". The Nominatim geocoder resolves the location automatically. - Receive scored results — within 30-60 seconds the tool returns a structured JSON report with composite score, verdict, sub-scores, key signals, and recommendations ready for stakeholder reporting or downstream pipeline use.
MCP tools
| Tool | Price | Data Sources | Description |
|---|---|---|---|
assess_site_viability | $0.045 | Nominatim, EIA, FEMA, USGS, NOAA | Site Viability Score (0-100) with natural hazard overlay. Returns viability score, hazard score, geocode, and disaster history. |
compare_metro_areas | $0.045 | EIA, Weather, OpenAQ, FEMA, USGS | Full composite ranking for a metro area: composite score, verdict, power level, hazard level, cooling level, signals, and recommendations. |
power_grid_analysis | $0.045 | EIA, FEMA | Power Availability Index with energy source diversity, renewable indicators, grid reliability sub-score, and raw EIA generation data. |
natural_hazard_profile | $0.045 | USGS, NOAA, UK Flood, FEMA | Hazard composite: seismic score, flood score, severe weather score, FEMA disaster count, hazard level classification. |
climate_cooling_efficiency | $0.045 | OpenAQ, Weather Forecast | Cooling Efficiency Rating: PM2.5 index, cool-hour ratio, temperature score, free-cooling suitability, PUE proxy signals. |
flood_risk_assessment | $0.045 | UK Flood, FEMA, NOAA | Flood risk score with active flood warnings, FEMA flood-related disaster declarations, and weather-driven flood signals. |
seismic_risk_report | $0.045 | USGS, Nominatim | Seismic risk score with earthquake catalog slice, magnitude distribution, M4+ event count, max magnitude, and geocoded site location. |
site_ranking_matrix | $0.045 | All 8 sources | Full site ranking matrix: all 4 scoring models, composite score, verdict (PRIME_SITE through NOT_RECOMMENDED), all signals, and recommendations. |
Connection configuration
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"data-center-siting": {
"type": "streamable-http",
"url": "https://data-center-siting-intelligence-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor / Windsurf / Cline:
{
"mcpServers": {
"data-center-siting": {
"url": "https://data-center-siting-intelligence-mcp.apify.actor/mcp?token=YOUR_APIFY_TOKEN"
}
}
}
Tool usage tips
- Start with
site_ranking_matrixfor any new candidate location — it runs all 8 sources in parallel for the same $0.045 as individual tools, giving maximum information per dollar - Use
power_grid_analysisfor US regions only — EIA data is US state-level; for non-US power analysis rely on composite signals from weather and disaster data - Batch candidates with parallel API calls — run
site_ranking_matrixon 5-10 locations simultaneously usingPromise.all; each call is stateless and independent - Interpret signals, not just scores — the
allSignalsandrecommendationsarrays contain human-readable reasoning behind every score; review these before acting on a verdict assess_site_viabilityvssite_ranking_matrix—assess_site_viabilityuses 5 sources and returns viability plus hazard sub-scores;site_ranking_matrixruns all 4 models across all 8 sources for the same cost
Output example
The following is example output from site_ranking_matrix for a candidate data center site in Quincy, Washington:
{
"location": "Quincy, Washington",
"compositeScore": 78,
"verdict": "STRONG_CANDIDATE",
"power": {
"score": 81,
"energySources": 4,
"renewableIndicators": 1,
"gridReliability": 26,
"powerLevel": "EXCELLENT",
"signals": [
"4 energy source types — diversified power grid",
"68% renewable energy — ESG-favorable for DC siting"
]
},
"hazard": {
"score": 28,
"seismicRisk": 8,
"floodRisk": 5,
"severeWeatherRisk": 9,
"hazardLevel": "LOW",
"signals": []
},
"cooling": {
"score": 72,
"airQualityIndex": 9,
"temperatureScore": 32,
"coolingLevel": "GOOD",
"signals": [
"Excellent air quality (PM2.5 avg 9.2) — ideal for free cooling",
"64% cool hours — excellent PUE potential"
]
},
"siteViability": {
"score": 75,
"viabilityLevel": "STRONG",
"signals": [
"Location successfully geocoded — accessible site",
"Strong energy infrastructure data — power grid connectivity likely"
]
},
"allSignals": [
"4 energy source types — diversified power grid",
"68% renewable energy — ESG-favorable for DC siting",
"Excellent air quality (PM2.5 avg 9.2) — ideal for free cooling",
"64% cool hours — excellent PUE potential",
"Location successfully geocoded — accessible site",
"Strong energy infrastructure data — power grid connectivity likely"
],
"recommendations": [
"Good cooling conditions — air-side economizers can reduce PUE significantly",
"Renewable energy available — leverage for PPA and ESG reporting"
]
}
Output fields
| Field | Type | Description |
|---|---|---|
location | string | Input location as provided to the tool |
compositeScore | number | Weighted composite score 0-100 (power 30%, hazard inverse 25%, cooling 25%, viability 20%) |
verdict | string | PRIME_SITE / STRONG_CANDIDATE / ACCEPTABLE / MARGINAL / NOT_RECOMMENDED |
power.score | number | Power Availability Index 0-100 |
power.energySources | number | Count of distinct energy source types detected (solar, wind, hydro, nuclear, gas, coal) |
power.renewableIndicators | number | 1 if renewable generation detected in EIA data, 0 otherwise |
power.gridReliability | number | Grid reliability sub-score 0-30, deducted 4 points per power-disrupting disaster type |
power.powerLevel | string | EXCELLENT / STRONG / ADEQUATE / CONSTRAINED / INSUFFICIENT |
power.signals | string[] | Human-readable signals from power availability scoring |
hazard.score | number | Natural Hazard Composite 0-100 (higher = more hazardous; inverted in composite formula) |
hazard.seismicRisk | number | Seismic sub-score 0-30 |
hazard.floodRisk | number | Flood risk sub-score 0-25 |
hazard.severeWeatherRisk | number | Severe weather sub-score 0-25 |
hazard.hazardLevel | string | MINIMAL / LOW / MODERATE / HIGH / EXTREME |
hazard.signals | string[] | Human-readable hazard signals with trigger conditions |
cooling.score | number | Cooling Efficiency Rating 0-100 |
cooling.airQualityIndex | number | Average PM2.5 µg/m³ computed from OpenAQ station readings |
cooling.temperatureScore | number | Temperature sub-score 0-40 based on cool-hour ratio |
cooling.coolingLevel | string | EXCELLENT / GOOD / ADEQUATE / MARGINAL / POOR |
cooling.signals | string[] | Free-cooling suitability and PUE-related signals |
siteViability.score | number | Site Viability sub-score 0-100 |
siteViability.viabilityLevel | string | PRIME / STRONG / VIABLE / MARGINAL / NOT_VIABLE |
siteViability.signals | string[] | Geocoding success and energy infrastructure signals |
allSignals | string[] | Merged signal list from all 4 scoring models |
recommendations | string[] | Actionable recommendations derived from score threshold conditions |
How much does it cost to evaluate a data center site?
Data Center Siting Intelligence MCP Server uses pay-per-event pricing — each tool call costs $0.045. Platform compute costs are included. There is no subscription, no minimum spend, and no per-seat fee.
| Scenario | Tool Calls | Cost per Call | Total Cost |
|---|---|---|---|
| Single site full assessment | 1 | $0.045 | $0.045 |
| 5-site shortlist comparison | 5 | $0.045 | $0.23 |
| 20-site regional sweep | 20 | $0.045 | $0.90 |
| 100-site national screening | 100 | $0.045 | $4.50 |
| 500-site portfolio assessment | 500 | $0.045 | $22.50 |
You can set a maximum spending limit per run to control costs. The actor stops when your budget is reached, preventing runaway costs on large batch jobs.
Compare this to commercial data center site selection advisory engagements that cost $15,000-50,000 per project or SaaS platforms at $2,000-5,000 per month. A 500-site national screening with this MCP server costs $22.50. Most AI agent workflows spend under $2/month.
Using data center site selection tools via the API
Python
import requests
import json
API_TOKEN = "YOUR_API_TOKEN"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_TOKEN}"
}
# Full composite site ranking matrix
payload = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "site_ranking_matrix",
"arguments": {"location": "Quincy, Washington"}
},
"id": 1
}
response = requests.post(
"https://data-center-siting-intelligence-mcp.apify.actor/mcp",
json=payload,
headers=headers
)
result = response.json()
report = json.loads(result["result"]["content"][0]["text"])
print(f"Location: {report['location']}")
print(f"Composite Score: {report['compositeScore']}/100 — {report['verdict']}")
print(f"Power: {report['power']['powerLevel']} | Hazard: {report['hazard']['hazardLevel']} | Cooling: {report['cooling']['coolingLevel']}")
for rec in report.get("recommendations", []):
print(f" -> {rec}")
JavaScript
const API_TOKEN = "YOUR_API_TOKEN";
async function assessSite(location) {
const response = await fetch(
"https://data-center-siting-intelligence-mcp.apify.actor/mcp",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_TOKEN}`
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "site_ranking_matrix",
arguments: { location }
},
id: 1
})
}
);
const data = await response.json();
const report = JSON.parse(data.result.content[0].text);
console.log(`${report.location}: ${report.compositeScore}/100 — ${report.verdict}`);
console.log(` Power: ${report.power.powerLevel} | Hazard: ${report.hazard.hazardLevel} | Cooling: ${report.cooling.coolingLevel}`);
report.recommendations.forEach(rec => console.log(` -> ${rec}`));
return report;
}
// Batch assessment — run 3 candidate sites in parallel
const sites = ["Quincy, Washington", "Ashburn, Virginia", "Phoenix, Arizona"];
const assessments = await Promise.all(sites.map(assessSite));
assessments.sort((a, b) => b.compositeScore - a.compositeScore);
assessments.forEach(r => console.log(`${r.compositeScore} — ${r.verdict} — ${r.location}`));
cURL
# Full site ranking matrix for a candidate location
curl -X POST "https://data-center-siting-intelligence-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "site_ranking_matrix",
"arguments": {"location": "Quincy, Washington"}
},
"id": 1
}'
# Power grid analysis for a specific US region
curl -X POST "https://data-center-siting-intelligence-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "power_grid_analysis",
"arguments": {"region": "Oregon"}
},
"id": 2
}'
# List all available tools
curl -X POST "https://data-center-siting-intelligence-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":0}'
How Data Center Siting Intelligence MCP Server works
Phase 1: Parallel data acquisition
Each tool call dispatches between 2 and 8 sub-actor runs concurrently via Promise.all. The site_ranking_matrix tool fires all 8 underlying actors simultaneously: usgs-earthquake-search, noaa-weather-alerts, openaq-air-quality, nominatim-geocoder, weather-forecast-search, eia-energy-data, uk-flood-warnings, and fema-disaster-search. Each sub-actor receives the user-provided location string as its query. Sub-actors run with 512 MB memory allocation and a 120-second timeout. Results are aggregated into a keyed Record<string, unknown[]> object. Sub-actor failures are caught individually and default to empty arrays, allowing partial results to still produce valid scores.
Phase 2: Four-model scoring
The aggregated data object is passed through four independent scoring functions in scoring.ts:
scorePowerAvailability parses EIA series IDs for energy source keywords (solar, wind, hydro, geothermal, nuclear, natural gas, coal) and counts distinct source types, awarding 5 points per type up to a 20-point diversity maximum. A capacity depth score adds up to 20 additional points from EIA record count. Grid reliability starts at 30 points and deducts 4 points for each FEMA declaration matching power-disrupting event types: severe storm, hurricane, ice storm, winter weather. Weather forecast data penalizes stability for temperatures outside -20 to 40°C or wind above 50 km/h.
scoreNaturalHazard parses USGS earthquake records for maximum magnitude and M4.0+ event count. M5.0+ events add a flat 10-point seismic penalty on top of the per-event score. Flood score accumulates from UK flood warning count (5 points each) plus FEMA record presence. NOAA alerts filtered for extreme or severe severity labels each add 5 points to the severe weather sub-score. FEMA disaster declaration count contributes a further 3 points each up to 20 points.
scoreCoolingEfficiency computes average PM2.5 from OpenAQ readings using a stepped scoring function: below 12 µg/m³ scores 40 points, 12-25 µg/m³ scores 30, 25-35 µg/m³ scores 20, 35-55 µg/m³ scores 10, above 55 µg/m³ scores 0. The temperature component divides forecast periods below 18°C by total periods; the resulting cool-hour ratio drives up to 40 points, plus a 10-point bonus for zero extreme heat periods.
scoreSiteViability awards 20 points for successful geocoding, up to 35 points from EIA record depth (5 per record), and up to 35 points from FEMA disaster absence (35 minus 5 per declaration).
Phase 3: Composite scoring and verdict generation
generateSiteRanking applies the weighted formula: power × 0.30 + (100 - hazard) × 0.25 + cooling × 0.25 + viability × 0.20. Two hard overrides prevent false-positive recommendations regardless of composite score: EXTREME hazard or INSUFFICIENT power force the verdict to NOT_RECOMMENDED. Recommendation strings are generated from threshold conditions — seismic sub-score above 15, flood sub-score above 10, cooling above 60, power below 40, PM2.5 above 35 µg/m³, and renewable energy presence.
Phase 4: MCP transport
The server uses @modelcontextprotocol/sdk with StreamableHTTPServerTransport running on Express. Each POST to /mcp creates a new McpServer instance, registers all 8 tools, and handles the request statelessly. Sessions are not persisted between calls. Actor.charge() is called at the start of each tool handler before any data acquisition; if the spending limit is reached, the tool returns early with a clear error message.
Tips for best results
-
Use
site_ranking_matrixas your default tool. It costs the same $0.045 as any individual tool but runs all 8 sources in parallel, giving the most complete picture per dollar. Reserve individual tools for targeted follow-up only. -
Interpret verdicts in context. A MARGINAL verdict in a non-US geography may reflect absent EIA and FEMA data rather than genuine infrastructure weakness. Review the
signalsarray — empty power signals on a non-US site indicate data absence, not poor grid quality. -
Account for EIA data boundaries. Power grid scoring via EIA is US state-level only. For European or Asia-Pacific locations, rely on weather stability and cooling signals for power-related inferences, and supplement with local utility studies.
-
Use
seismic_risk_reportfor West Coast and Pacific sites. California, Alaska, Hawaii, and the Pacific Northwest carry elevated base seismic risk. A dedicated seismic report gives you full USGS magnitude distribution detail that the composite score compresses into a single sub-score. -
Combine cooling and power signals for ESG reporting. Renewable energy indicators alongside PM2.5 cooling scores indicate whether a site can support air-side economizers with renewable power — the combination most valued for low-PUE, low-carbon siting commitments.
-
Run 5-10 sites in parallel via the API. Each
site_ranking_matrixcall is stateless and independent. Parallel execution viaPromise.allreduces total analysis time proportionally; 10 sites in parallel takes no longer than 1 site sequentially. -
Filter to STRONG_CANDIDATE and PRIME_SITE for capital committee shortlists. These two verdicts (composite scores above 60 and 75 respectively) confirm that no hard overrides were triggered and all four scoring dimensions are favorable.
-
Set a spending limit for large portfolio sweeps. When screening 100+ locations, configure
maxTotalChargeUsdin the actor run options to cap costs while the sweep runs unattended.
Combine with other Apify actors
| Actor | How to combine |
|---|---|
| Company Deep Research | Research utility companies, grid operators, and land sellers at shortlisted sites before formal due diligence engagement |
| Website Tech Stack Detector | Identify the technology footprint of potential anchor tenants or colocation operators in target markets |
| Website Change Monitor | Monitor utility company websites and local planning authority pages for capacity announcements during extended due diligence |
| Trustpilot Review Analyzer | Analyze reputation of local utility providers or incumbent colocation operators in candidate markets |
| B2B Lead Qualifier | Score and prioritize data center tenants or anchor customers associated with shortlisted markets |
| WHOIS Domain Lookup | Verify domain registrations for site-adjacent businesses, utility providers, or competing developers |
| Multi-Review Analyzer | Aggregate reviews of colocation operators and managed service providers across candidate markets in one pass |
Limitations
- EIA power data is US-only.
power_grid_analysisand the power availability scoring dimension rely entirely on the US Energy Information Administration. Non-US locations receive no EIA generation data, reducing power scores due to absent data rather than weak grids. Supplement with local utility data for international sites. - UK Flood Warnings cover England and Wales only. Flood risk scoring for US, European, or Asia-Pacific locations relies on FEMA records and NOAA signals, not dedicated flood authority data.
- FEMA disaster history is US-only. Non-US locations receive no FEMA disaster penalty or resilience credit. This inflates site viability scores for international candidates relative to US sites with active FEMA histories.
- Scores reflect publicly available signals, not on-site surveys. Composite scores are derived from government public databases. They do not replace physical site inspections, utility capacity studies, geotechnical assessments, or transmission interconnection studies.
- EIA data is regional, not parcel-specific. Grid data reflects state or regional generation capacity, not the substation proximity or transmission capacity of a specific parcel. A physical grid interconnection study is required before committing to any site.
- Seismic scores reflect historical earthquake frequency, not probabilistic hazard maps. USGS catalog data captures recent and historical event frequency but does not model 475-year or 2,475-year return-period hazard levels used in ASCE 7 structural design. Use the seismic score for initial screening only.
- Air quality scores depend on nearby monitoring station density. Rural or remote locations may have sparse OpenAQ coverage, defaulting the PM2.5 average to 50 µg/m³ (mid-range penalty) when no stations are found. A value near 50 with no cooling signals usually indicates absent data, not measured poor air quality.
- No traffic, fiber, or land availability data. Dark fiber proximity, network carrier access, road infrastructure, and land parcel availability are critical siting factors not covered by any of the 8 current data sources.
Integrations
- Zapier — trigger site assessments automatically when new candidate locations are added to a tracking spreadsheet or Airtable base
- Make — build automated site screening workflows that push scored results into Google Sheets or Notion databases for stakeholder review
- Google Sheets — export site ranking matrix results directly into a comparison workbook sortable by composite score or verdict
- Apify API — integrate site assessment calls into existing real estate analysis or capital planning pipelines via REST
- Webhooks — receive notifications when batch site sweeps complete or when hazard levels shift above a threshold during ongoing monitoring
- LangChain / LlamaIndex — use this MCP server as a reasoning tool in LangChain or LlamaIndex agent workflows for fully automated site selection pipelines
Troubleshooting
-
Composite score seems low for a known good location outside the US — EIA (power) and FEMA (disaster resilience) data are US-only. Non-US sites receive no EIA generation data, which significantly reduces the power score component. Check the
power.signalsarray: if it is empty andpower.scoreis below 30, absent EIA data is the cause rather than weak grid infrastructure. The hazard and cooling dimensions still function globally. -
Site returns NOT_RECOMMENDED despite a geographically favorable location — check
hazard.hazardLevelandpower.powerLeveldirectly. The verdict override logic forces NOT_RECOMMENDED for EXTREME hazard or INSUFFICIENT power regardless of all other scores. EXTREME hazard can be triggered by a high count of FEMA disaster declarations or multiple severe USGS events near the location. Reviewhazard.signalsfor the specific triggers. -
seismic_risk_reportreturns empty earthquake data — USGS returns results based on proximity to recent catalog events. Locations with no seismic activity in the catalog return empty arrays, which is a positive indicator. An empty earthquake result combined withseismicRisk: 0means minimal detected seismic activity, not a data error. -
climate_cooling_efficiencyreturns a low score for a cold-climate location — this occurs when OpenAQ has sparse monitoring coverage for the location.airQualityIndexdefaults to 50 µg/m³ when no PM2.5 data is found. A value near 50 with no signals entry indicates absent data rather than measured poor air quality. For locations with confirmed clean air, the actual free-cooling potential is likely higher than the score reflects. -
Tool call returns a spending limit error —
Actor.charge()checks against your configured per-run spending limit before executing the data acquisition. Increase the maximum spending limit in your actor run configuration, or use an API token with sufficient credit balance.
Responsible use
- This MCP server only accesses publicly available data from USGS, NOAA, OpenAQ, Nominatim/OpenStreetMap, EIA, UK Environment Agency, and FEMA.
- All underlying data sources are open-access government databases published for public research and planning use.
- Site scores and verdicts are analytical outputs intended to supplement, not replace, professional engineering, legal, and financial due diligence.
- Do not rely solely on automated composite scores for capital investment decisions without independent verification of the underlying data.
- For guidance on data use policies, see Apify's guide on web scraping legality.
FAQ
What does the data center site selection composite score actually measure?
The composite score (0-100) weights four dimensions: power availability (30%), natural hazard resistance (25%), cooling efficiency (25%), and site viability (20%). Power availability measures energy source diversity, renewable percentage, and grid reliability inferred from FEMA disaster history. Natural hazard is inverted — a high hazard score reduces the composite. Cooling efficiency models free-cooling potential from PM2.5 levels and cool-hour ratios. Site viability measures geocoding success, EIA data depth, and FEMA disaster absence as a resilience proxy.
How is the data center site selection verdict determined?
PRIME_SITE requires a composite score of 75 or above with no hard overrides triggered. STRONG_CANDIDATE covers 60-74. ACCEPTABLE covers 45-59. MARGINAL covers 25-44. NOT_RECOMMENDED covers below 25 — or is forced regardless of score when hazard.hazardLevel is EXTREME or power.powerLevel is INSUFFICIENT. These overrides exist to prevent a strong cooling score from masking catastrophic power or hazard conditions.
How accurate is the PUE cooling efficiency estimate?
The cooling score is a proxy based on PM2.5 air quality averages and weather forecast temperature distributions. It indicates free-cooling suitability and broad PUE potential, not a precise PUE number. Actual PUE depends on facility design, cooling technology selection, server inlet temperature targets, and operational practices. Treat the cooling score as a comparative screening input, not an engineering specification.
Does data center site selection work for international locations?
Seismic (USGS), severe weather (NOAA), air quality (OpenAQ), and geocoding (Nominatim) have global coverage. Temperature forecasts are global. EIA energy data and FEMA disaster records are US-only. UK flood warnings cover England and Wales. For non-US locations, power and disaster resilience dimensions will reflect absent data rather than measured infrastructure conditions; hazard and cooling dimensions remain fully functional.
Can I compare multiple data center candidate sites simultaneously?
Yes. Call site_ranking_matrix for each candidate site in parallel using Promise.all in your orchestration layer. Each call is stateless and independent. The output structure is identical across calls, making it straightforward to sort results by compositeScore or filter by verdict to produce a shortlist table automatically.
How is this different from commercial data center site selection tools like JLL or CBRE advisory services?
Commercial site selection engagements typically cost $15,000-50,000 and take 4-8 weeks, including broker relationships, utility negotiations, and permitting guidance. This MCP server provides automated, quantified scoring from public data sources in under 60 seconds for $0.045 per site. It replaces the initial desk research and long-listing phase — the part that currently consumes analyst hours — not the full advisory relationship.
What is the seismic risk score based on and how reliable is it?
The seismic score is derived from USGS earthquake catalog data: recent event count, number of M4.0+ events, and maximum observed magnitude. M5.0+ events add a flat 10-point penalty. This reflects recent seismic activity, not probabilistic seismic hazard analysis (PSHA). For structural engineering design, a formal geotechnical study using ASCE 7 or IBC standards is required. Use the seismic score for initial screening and relative ranking only.
Can I evaluate data center sites in earthquake-prone regions like California?
Yes, and the scoring is calibrated to flag these sites appropriately. Locations with frequent M4.0+ events or any M5.0+ events generate high seismic risk sub-scores and explicit signals. The natural_hazard_profile and seismic_risk_report tools provide the full USGS earthquake catalog slice for detailed review alongside the composite score.
Is it legal to use this data for commercial site selection decisions?
All data sources are public government databases — USGS, NOAA, EIA, FEMA, OpenAQ, UK Environment Agency, Nominatim/OpenStreetMap. They are published for public use with no commercial restrictions on derived analysis. See Apify's guide on web scraping legality for general context.
How long does a full site_ranking_matrix assessment take?
Typically 20-45 seconds. The tool fires all 8 sub-actor queries in parallel via Promise.all. Each sub-actor runs with a 120-second timeout. Total latency is determined by the slowest single sub-actor response. Most assessments complete in under 30 seconds under normal conditions.
Can I schedule this MCP server to monitor shortlisted sites for changing conditions?
Yes. Use Apify's scheduling feature to run site_ranking_matrix or natural_hazard_profile on a recurring schedule for a fixed set of shortlisted sites. Configure a webhook to notify your team when scores change significantly or when hazard levels shift. This is useful for continuous monitoring during extended due diligence periods where conditions may change.
What happens if one of the 8 underlying data sources is unavailable?
Each sub-actor call is wrapped in a try-catch block. If a sub-actor fails or times out, its result defaults to an empty array. All four scoring functions handle empty input gracefully — absent data contributes zero points to the relevant sub-score rather than throwing an error. The composite score will be lower due to absent signals, and the allSignals array will be shorter, but the tool always returns a valid, parseable result.
Help us improve
If you encounter unexpected scores or tool behavior, you can help us debug faster by enabling run sharing in your Apify account:
- Go to Account Settings > Privacy
- 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 integrations — additional data sources, alternative scoring models, or enterprise site screening workflows — reach out through the Apify platform.
How it works
Configure
Set your parameters in the Apify Console or pass them via API.
Run
Click Start, trigger via API, webhook, or set up a schedule.
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.
Related actors
Bulk Email Verifier
Verify email deliverability at scale. MX record validation, SMTP mailbox checks, disposable and role-based detection, catch-all flagging, and confidence scoring. No external API costs.
GitHub Repository Search
Search GitHub repositories by keyword, language, topic, stars, forks. Sort by stars, forks, or recently updated. Returns metadata, topics, license, owner info, URLs. Free API, optional token for higher limits.
Website Content to Markdown
Convert any website to clean Markdown for RAG pipelines, LLM training, and AI apps. Crawls pages, strips boilerplate, preserves headings, tables, and code blocks. GFM support.
Website Tech Stack Detector
Detect 100+ web technologies on any website. Identifies CMS, frameworks, analytics, marketing tools, chat widgets, CDNs, payment systems, hosting, and more. Batch-analyze multiple sites with version detection and confidence scoring.
Ready to try Data Center Siting Intelligence MCP Server?
Start for free on Apify. No credit card required.
Open on Apify Store