Skip to main content
Part of the MCP Tools Reference, which indexes every tool. Connection, auth, plans and errors are in the MCP Server overview. The curl examples assume export WM_KEY="wm_…". With an OAuth token, replace -H "X-WorldMonitor-Key: $WM_KEY" with -H "Authorization: Bearer $TOKEN".

get_global_air_activity

Observed military aircraft from the seeded flight snapshot: total, type breakdown, overlapping geographic theater counts, and count outside every theater. Only redistribution-cleared providers contribute. Confirmed on-ground tracks are excluded; unknown ground status remains included. Untyped aircraft remain in totals. Theater counts overlap, so they must not be summed to obtain the total. Parameters (tool-specific): none.
  • API endpoints: none (MCP-only derived analysis).
  • Access: subscription — requires a Pro subscription. RPC tool: no summary argument (use jmespath to trim the response).
  • Kind: derived analysis over military:flights:v1; no new provider or seeder.
  • Freshness budget: flights 30 min before stale: true; cached_at is derived from seed-meta:military:flights.fetchedAt, not the snapshot’s fetchedAt. Missing or invalid seed metadata yields cached_at: null and stale: true.
  • Coverage: data.coverage preserves global or regional; absent or unrecognized scope becomes unknown. Regional and unknown scope set data.partial: true, so counts describe an observed subset, never a worldwide total. Global scope still does not imply every military aircraft is observable. Coverage and freshness are independent. Missing snapshots fail explicitly.

get_military_surge

Military surge watch: per-theater aircraft postures (fighters, tankers, AWACS, reconnaissance, transports, bombers, drones), foreign-presence detections, and the flights seeder’s own surge alerts reported as a separate seeded_surges block (it uses different baselines than the snapshot engine — the two are never silently merged). Parameters (tool-specific):
  • API endpoints: none (MCP-only derived analysis; posture aggregates are also served by get_military_posture).
  • Access: subscription — requires a Pro subscription. RPC tool: no summary argument (use jmespath to trim the response).
  • Kind: derived analysis — shared dashboard engine over Redis seed caches.
  • Freshness budget: flights 30 min, theater posture 60 min before stale: true.

get_military_posture

Return the seeded theater posture assessment: for each global theater (Iran, Taiwan, Baltic, Korea and others) a posture level, military risk score and the aggregated positioning and escalation signals behind it. Flagged stale after 2 hours; theater-level summaries only, no individual aircraft or vessel tracks. Seeded-cache read with no live fetch: weight 1 on API plans, included in the signed-in free allowance. theater is a case-insensitive id substring, posture_level filters one level exactly, limit caps the list (default 30, 0 for no cap). Parameters (tool-specific):
  • API endpoints: GET /api/military/v1/get-theater-posture
  • Access: free-account — callable by any signed-in account; free accounts spend the daily free allowance, Pro calls spend the daily quota. Accepts the universal summary argument.
  • Kind: cache read — sub-second response from Redis bootstrap cache.
  • Freshness budget: up to 2 h before stale: true is flagged (set by the seeder cron’s expected interval).

get_hotspot_escalation

Hotspot escalation scores: the 29 curated intelligence hotspots ranked on the documented 1-5 composite scale. News pressure, country instability, geographic signal convergence, and nearby military activity are normalized to 0-100 components, weighted 35/25/25/15, and blended 30/70 with each hotspot’s curated static baseline — the same math the dashboard map publishes. Parameters (tool-specific):
  • API endpoints: none (MCP-only derived analysis).
  • Access: subscription — requires a Pro subscription. RPC tool: no summary argument (use jmespath to trim the response).
  • Kind: derived analysis — shared dashboard engine over Redis seed caches.
  • Freshness budget: up to 30 min for news/risk/flights, 120 min for unrest before stale: true.

get_population_exposure

Population exposure: estimated people within the impact radius of active earthquakes, wildfires, and conflict events, using the dashboard’s country-density approximation (nearest priority-country centroid × event-type radius disc). Coarse screening numbers — there is no city-level population dataset behind them. Parameters (tool-specific):
  • API endpoints: GET /api/displacement/v1/get-population-exposure
  • Access: subscription — requires a Pro subscription. RPC tool: no summary argument (use jmespath to trim the response).
  • Kind: derived analysis — shared exposure core; events mode reads Redis seed caches.
  • Freshness budget: per-feed (earthquakes 30 min, wildfires 360 min, conflicts 1440 min); point and countries modes are computed, cached_at: null.

simulate_infrastructure_cascade

Infrastructure cascade simulation: breadth-first failure propagation across the seeded submarine-cable table plus the curated pipeline, port, and chokepoint registries. Call with no source_id for the catalog of simulatable node ids grouped by type; chained capacity math multiplies along paths so distant impacts shrink realistically. Pass countries to compare subsea cable exposure. Each data.exposure entry lists the cables that land in the country, its distinct landing stations, the chokepoints those cables cross with the share of the country’s cables each one carries (largestSingleChokepointShare is the worst single closure), and activeIncidents for cables the NGA notice monitor flags FAULT or DEGRADED. A cable with no incident has no matched notice; that does not confirm it is healthy. health_available: false means the cable-health snapshot could not be read. Chokepoint crossings combine simplified route geometry with landing points: a cable that lands inside the Persian Gulf or Red Sea and also outside it crosses the exit between them. Parameters (tool-specific):
  • API endpoints: none (MCP-only derived analysis).
  • Access: subscription — requires a Pro subscription. RPC tool: no summary argument (use jmespath to trim the response).
  • Kind: derived analysis — dependency graph built per request from the seeded cable table.
  • Freshness budget: up to 25200 min (~17.5 days) for the weekly cable table before stale: true.

get_china_decision_signals

Returns the bounded six-domain China decision-signal snapshot used by the country summary. Macro-financial, policy/enforcement, cross-Strait activity, corporate disclosures, corridor conditions, and activity nowcast groups share one stable order and the status vocabulary available, partial, stale, or unavailable. Every returned item retains canonical provenance, publisher type, source and original reference, translation state, observation/effective/publication/ retrieval times, revision and supersession, confidence, corroboration, and freshness claims. The tool returns the same bounded items as the public RPC; it does not expose detailed bilateral trade rows or operator-only source health.
  • Parameters: none, apart from the optional common jmespath projection.
  • API endpoint: GET /api/intelligence/v1/get-china-decision-signals
  • Access: subscription — requires a Pro subscription. RPC tool: no summary argument (use jmespath to trim the response).
  • Kind: canonical RPC over the Railway-composed cache.
  • Refresh cadence: every 15 min; each group can degrade independently.

get_alert_digest

Cross-domain alert digest: every threshold trip across seven domains (country instability, military surges, cable health, ongoing outages, temporal anomalies, thermal escalation, shipping stress) using each producer’s own severity vocabulary — no invented thresholds. Quiet domains and unavailable caches are listed separately so silence is never mistaken for calm. The weekly view adds weekly.cii_movers with up to five risers and five fallers across the 31 CII countries. Each row compares the latest point with the last point on or before the requested start day and reports its actual fromDate. Changes within ±1 point are excluded. Endpoints must share the current methodology; countries without comparable history appear in insufficient_history. as_of is the latest eligible source time. Missing history appears as cii_history in data.unavailable, and history older than 30 minutes makes the response stale. History accrues from activation, so the first seven-day ranking needs at least seven days of observations. Parameters (tool-specific):
  • API endpoints: none (MCP-only derived analysis).
  • Access: subscription — requires a Pro subscription. RPC tool: no summary argument (use jmespath to trim the response).
  • Kind: derived analysis — shared digest core over seven Redis seed caches.
  • Freshness budget: per-feed (30-360 min); stale: true when any contributing feed exceeds its budget.

get_signal_convergence

Geographic signal convergence: one-degree grid cells where protests, military flights, naval movements, and earthquakes co-occur inside a 24-hour window. Alerts carry coordinates, contributing domains, a reverse-geocoded location name, and a breadth/volume score. Pass lat/lon/radius_km together to narrow to one area. Parameters (tool-specific):
  • API endpoints: none (MCP-only derived analysis).
  • Access: subscription — requires a Pro subscription. RPC tool: no summary argument (use jmespath to trim the response).
  • Kind: derived analysis — shared dashboard engine over Redis seed caches.
  • Freshness budget: per-feed (flights 30 min, unrest 120 min, earthquakes 30 min, fleet 720 min); stale: true when any feed exceeds its budget.

get_focal_points

Focal-point detection: entities where news coverage and live map signals converge, ranked by multi-signal score. News story clusters are entity-matched against the curated registry, cross-referenced with cross-source escalation signals, and scored with the same engine the dashboard runs. Includes an application-authored ai_context block; source headlines remain separate in focal-point evidence. Also includes mapping-coverage counters. Parameters (tool-specific):
  • API endpoints: none (MCP-only derived analysis).
  • Access: subscription — requires a Pro subscription. RPC tool: no summary argument (use jmespath to trim the response).
  • Kind: derived analysis — shared dashboard engine over Redis seed caches.
  • Freshness budget: up to 30 min per contributing feed before stale: true.