Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

World Monitor

REMOTE · WORLDMONITOR.APP · SCANNED AUG 3

Live global intelligence: real-time markets, conflicts, country risk, chokepoints, energy. 39 tools.

Available components

+7 this week 81 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security97
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
  • The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
Schema Quality & AI Usability74
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 11299 tokens (~161/item across 70 items; 59 tools + 11 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities73
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
  • Supports UI / widget rendering.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · worldmonitor.app

# add to Claude Code
claude mcp add --transport http app-worldmonitor-mcp https://worldmonitor.app/mcp
# ~/.codex/config.toml
[mcp_servers.app-worldmonitor-mcp]
url = "https://worldmonitor.app/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-worldmonitor-mcp": {
      "type": "remote",
      "url": "https://worldmonitor.app/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add app-worldmonitor-mcp --url https://worldmonitor.app/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  app-worldmonitor-mcp:
    url: "https://worldmonitor.app/mcp"
// mcp.json
{
  "mcpServers": {
    "app-worldmonitor-mcp": {
      "type": "http",
      "url": "https://worldmonitor.app/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +6
    • The server rewrote its instructions, which are the text every model session reads security
    • Schema quality: unverified → good functional
  • 1 Aug 26 −5
    • Schema quality: good → unverified functional
  • 31 Jul 26 +6
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Schema quality: excellent → good functional
  • 28 Jul 26 +2
    • Schema quality: 8361 → 10913 functional
    • Schema quality: good → excellent functional
    • New tool “get_temporal_anomalies” functional
    • New tool “simulate_infrastructure_cascade” functional
    • New tool “get_test_site_seismicity” functional
    • New tool “get_population_exposure” functional
    • New tool “get_signal_convergence” functional
    • New tool “get_alert_digest” functional
    • New tool “get_focal_points” functional
    • New tool “get_hotspot_escalation” functional
    • New tool “get_military_surge” functional
  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 74

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://worldmonitor.app/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=worldmonitor.app CN=WE1,O=Google Trust Services,C=US 12 Jun 2026 10 Sept 2026 ECDSA 256 ECDSA-SHA256 32199b101741c7380e5ece53b4d2579f
SANs: worldmonitor.app, *.worldmonitor.app
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC secure

Validation of worldmonitor.app. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
worldmonitor.app. present 2371 13 Verified
worldmonitor.app. Verified address RRset verified with the apex keys
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="worldmonitor", resource_metadata="https://worldmonitor.app/.well-known/oauth-protected-resource"

Bearer realm="worldmonitor", resource_metadata="https://worldmonitor.app/.well-known/oauth-protected-resource"
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
content-security-policy default-src 'self'; connect-src 'self' https: wss: blob: data: https://*.ingest.sentry.io https://*.ingest.us.sentry.io; img-src 'self' data: blob: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'strict-dynamic' 'nonce-wm-static-bootstrap' 'sha256-+SFBjfmi2XfnyAT3POBxf6JIKYDcNXtllPclOcaNBI0=' 'sha256-3/K7+8jjohqOycLFHTiHAtlLN4tX5Mvjr+TCvgNkT14=' 'sha256-8+wzVMOmlqUDa/kK12C8s5ulmSbmXZ1nd8SPraxR5w4=' 'sha256-Jgh3W4Qj3HWZPVSti0C073yuiaz611LO8OZRUCsN0x8=' 'sha256-cgrDa2h6Yh+4VaEwqDCdQb4x8bw4aCvdbx6FQl/kKLQ=' 'sha256-lKs3SvF31U/ZDoqILsGd1YpSh0LSw9Xlo0hNHcX8Wqk=' 'sha256-qFSeUweakvZf90cHXTBJlSgrlZOixT+/ph7kpKeRYL0=' 'sha256-r9xS8+gjLrjT4DJU5lt/WJQe6pg5FjJc8ahnW7oDM54=' 'wasm-unsafe-eval'; worker-src 'self' blob:; font-src 'self' data:; media-src 'self' data: blob: https:; frame-src 'self' https://www.worldmonitor.app https://worldmonitor.app https://tech.worldmonitor.app https://finance.worldmonitor.app https://commodity.worldmonitor.app https://happy.worldmonitor.app https://energy.worldmonitor.app ht
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(self), accelerometer=(), autoplay=(self "https://www.youtube.com" "https://www.youtube-nocookie.com"), bluetooth=(), display-capture=(), encrypted-media=(self "https://www.youtube.com" "https://www.youtube-nocookie.com"), gyroscope=(), hid=(), idle-detection=(), magnetometer=(), midi=(), payment=(self "https://checkout.dodopayments.com" "https://test.checkout.dodopayments.com" "https://pay.google.com" "https://hooks.stripe.com" "https://js.stripe.com"), picture-in-picture=(self "https://www.youtube.com" "https://www.youtube-nocookie.com" "https://challenges.cloudflare.com"), unload=(*), screen-wake-lock=(), serial=(), usb=(), xr-spatial-tracking=("https://challenges.cloudflare.com")

Protected resource metadata

Document https://worldmonitor.app/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://worldmonitor.app
Authorisation server https://worldmonitor.app
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://worldmonitor.app/mcp Verified 200
http (plaintext) http://worldmonitor.app/mcp HTTPS enforced 301 https://worldmonitor.app/mcp
MCP tools — 59 exposed · ~9,745 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
analyze_situation ~130

AI geopolitical situation analysis (DeductionPanel).

NameTypeReqDescription
contextstringOptional additional geo-political context to include in the analysis
frameworkstringOptional analytical framework instructions to shape the analysis lens (e.g. Ray Dalio debt cycle, PMESII-PT, Porter's Five Forces)
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
querystringyesThe question or situation to analyze, e.g. "What are the implications of the Taiwan strait escalation for semiconductor supply chains?"
NameTypeReqDescription
analysisstringAlternate naming for the body.
confidencenumber|string|null
deductionstringLLM-generated analytical deduction.
frameworkstring
generatedAtstring|number|null
modelstring
providerstring
signalsarray|object|null

No examples provided.

classify_event ~84

Classify a supplied news headline or short text into a threat category and severity via the enum-validated WorldMonitor

NameTypeReqDescription
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
textstringyesHeadline or short excerpt to classify (1-500 characters). Longer input is rejected, not truncated.
NameTypeReqDescription
classificationobject|nullyesnull when the classifier could not produce an enum-valid result for this text.
errorstringPresent instead of a result when input validation fails.

No examples provided.

describe_tool ~60

Return the full uncompressed definition of one tool by name.

NameTypeReqDescription
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
tool_namestringyesExact tool name from tools/list.
NameTypeReqDescription
annotationsobject
availablearray
descriptionstring
errorstringPresent only on user-input failure.
hintstring
inputSchemaobject
namestring
outputSchemaobject
requestedstring

No examples provided.

extract_entities ~195

Extract named entities deterministically — registry entities (companies, indices, commodities, crypto, sectors, countr

NameTypeReqDescription
categorystringWhen text is omitted, Restrict to one full-digest category: politics, us, europe, middleeast, tech, ai, finance, commodities, gov, africa, latam, asia, energy, thinktanks, crisis, layoffs, intel. Ech…
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitintegerMaximum entities per list. Defaults to 20.
textstringOptional text to extract from (max 2048 characters; longer input is rejected). When omitted, the tool aggregates entities across recent headlines.
NameTypeReqDescription
categorystring|nullApplied full-digest category filter in headlines mode; null when scanning every category. Omitted in text mode.
entitiesarrayyesRegistry-matched entities. In text mode each match carries matchType/matchedText/confidence; in headlines mode entities aggregate to mentionCount/avgConfidence.
errorstringPresent instead of a result when input validation fails.
generatedAtstringDigest snapshot time (headlines mode only).
headlineCountnumberHeadlines scanned (headlines mode only).
modestringyes"text" when input text was supplied, "headlines" when aggregating the digest.
notestringPresent in headlines mode when category did not match any digest key (typo or missing bucket).
patternEntitiesarrayyes

No examples provided.

generate_forecasts ~103

Generate live AI geopolitical and economic forecasts.

NameTypeReqDescription
domainstringForecast domain: "geopolitical", "economic", "military", "climate", or empty for all domains
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
regionstringGeographic region filter, e.g. "Middle East", "Europe", "Asia Pacific", or empty for global
NameTypeReqDescription
forecastsarray
generatedAtstring|number|null
modelstring
providerstring

No examples provided.

get_airspace ~97

Live ADS-B aircraft over a country.

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 country code (e.g. "AE", "US", "GB", "JP")
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
typestringFilter: all flights (default), civilian only, or military only
NameTypeReqDescription
bounding_boxobject
civilian_countnumber
civilian_flightsarray
country_codestring
errorstringPresent only on unknown country_code.
military_countnumber
military_flightsarray
partialbooleanTrue if one of the two upstream sources failed.
sourcestring
updated_atstring
warningsarray

No examples provided.

get_alert_digest ~72

Cross-domain alert digest: everything that tripped a threshold today, in one rollup.

NameTypeReqDescription
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
viewstringtoday lists current threshold trips (default); weekly adds trend context.
NameTypeReqDescription
cached_atstring|nullyesOldest fetch time across the contributing feeds.
dataobjectyes
failed_inputsarraySubset of unavailable_inputs whose Redis read failed rather than returning a genuine miss.
stalebooleanyesTrue when any contributing feed is older than its freshness budget.
unavailable_inputsarrayRequired cache keys that were missing or unreadable; their contribution is not treated as quiet.

No examples provided.

get_aviation_status ~204

Airport delays, NOTAM airspace closures, and tracked military aircraft.

NameTypeReqDescription
countrystringFilter to one country by name (case-insensitive substring, e.g. "united states").
disrupted_onlybooleanDrop airports with severity "normal" — keep only airports actually experiencing delays/closures. The bootstrap lists every monitored airport, so most rows are non-events without this.
iatastringFilter to a single airport by IATA code (e.g. "JFK").
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the alert list to at most this many items (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_china_decision_signals ~56

Return the bounded six-domain China decision-signal snapshot used by the public country summary.

NameTypeReqDescription
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
accessobjectyes
generatedAtstringyes
groupsarrayyes
schemaVersionintegeryes

No examples provided.

get_chokepoint_status ~258

Live maritime chokepoint status: per-chokepoint vessel transit counts (10-min cadence), rolling transit summaries, per-p

NameTypeReqDescription
chokepointstringFilter to one chokepoint — matches by case-insensitive substring across the differing identifiers used by each dataset (e.g. "hormuz" matches "hormuz_strait", "Strait of Hormuz").
datasetarrayRestrict the response to one or more sub-datasets. Omit for the full bundle.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the chokepoint-baselines list and the _countries ISO2 index to at most this many items (default 30, pass 0 for no cap). Keyed-object maps (transit-summaries, chokepoint_transits, ref, chokepoint-…
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_climate_data ~198

Climate intelligence: temperature/precipitation anomalies (vs 30-year WMO normals), climate-relevant disaster alerts (Re

NameTypeReqDescription
countrystringFilter the country-tagged datasets (climate disasters, air-quality stations) to one ISO 3166-1 alpha-2 code.
datasetarrayRestrict the response to one or more climate sub-datasets. Omit for the full bundle.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap each list dataset (anomalies, disasters, stations, news, alerts) to at most this many items (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_commodity_geo ~95

Global mining sites with coordinates, operator, mineral type, and production status.

NameTypeReqDescription
countrystringFilter by country name (e.g. "Australia", "Chile")
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
mineralstringFilter by mineral type (e.g. "Gold", "Copper", "Lithium")
NameTypeReqDescription
sitesarrayyes
totalnumberyes

No examples provided.

get_company_intelligence ~285

Per-company corporate intelligence from SEC EDGAR and market data.

NameTypeReqDescription
end_datestringfilings-search only: latest filing date (YYYY-MM-DD).
formsstringfilings-search only: comma-separated form filter, such as "8-K" or "10-K,10-Q".
item_codestringmaterial-events only: filter to one 8-K item code, such as "5.02".
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitintegerResult cap. Honored up to 25 for filings-search and up to 100 for material-events; a value above the view's own maximum is rejected rather than silently clamped. Ignored by the enrichment and signals…
namestringCompany name fallback when no ticker is known; case-insensitive exact SEC title match only, and only when that title maps to a single CIK. Prefer ticker.
querystringfilings-search only: full-text query. Required for that view.
start_datestringfilings-search only: earliest filing date (YYYY-MM-DD).
tickerstringExchange ticker symbol, such as AAPL. Preferred company key for enrichment and signals.
viewstringDefaults to enrichment.
NameTypeReqDescription
enrichmentobject
errorstringPresent only on user-input failure.
eventsobject
searchobject
signalsobject
viewstringyes

No examples provided.

get_conflict_events ~189

Active armed conflict events (UCDP, Iran), unrest events with geo-coordinates, and country risk scores.

NameTypeReqDescription
countrystringFilter to one country — matches the country name on conflict/unrest events and the ISO 3166-1 alpha-2 region code on risk scores (case-insensitive).
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap each event list to at most this many items (default 30, pass 0 for no cap).
min_fatalitiesnumberDrop events below this fatality count (UCDP deathsBest / unrest fatalities).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_consumer_prices ~87

Per-country consumer-prices intelligence: 30-day overview, category-level inflation, retailer spread (essentials basket)

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 country code. Currently supported: AE (case-insensitive).
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
cached_atstring|null
country_codestring
dataobject
errorstringPresent only on user-input failure (missing/unknown country_code).
staleboolean

No examples provided.

get_country_brief ~108

AI-generated per-country intelligence brief.

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 country code, e.g. "US", "DE", "CN", "IR"
frameworkstringOptional analytical framework instructions to shape the analysis lens (e.g. Ray Dalio debt cycle, PMESII-PT)
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
briefstringLLM-synthesized country intelligence brief.
country_codestring
frameworkstring
generatedAtstring|number|null
modelstring
providerstring
sourcesarrayOriginal feed articles used as grounding inputs for this brief.

No examples provided.

get_country_macro ~165

Per-country macroeconomic indicators from IMF WEO (~210 countries, monthly cadence).

NameTypeReqDescription
countriesarrayISO 3166-1 alpha-2 country codes to keep across all four IMF datasets (e.g. ["US","DE","CN"]). Omit for all ~210 countries.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitintegerCap each IMF dataset country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_country_risk ~95

Structured risk intelligence for a specific country: Composite Instability Index (CII) score 0-100, component breakdown

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 country code, e.g. "RU", "IR", "CN", "UA"
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
ciinumber|nullComposite Instability Index 0-100.
componentsobject
country_codestring
sanctionsExposureobject|array|null
travelAdvisoryobject|string|null

No examples provided.

get_cyber_threats ~209

Active cyber threat intelligence: malware IOCs (URLhaus, Feodotracker), CISA known exploited vulnerabilities, and active

NameTypeReqDescription
countrystringFilter to one ISO 3166-1 alpha-2 country code (many threats have no country and are dropped by this filter).
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the threat list to at most this many items (default 30, pass 0 for no cap).
min_severitystringDrop threats below this severity level.
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
threat_typestringFilter to one threat type (case-insensitive substring, e.g. "malware", "vulnerability", "c2").
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_displacement_data ~167

Refugee and IDP counts by country (UNHCR annual data).

NameTypeReqDescription
countriesarrayISO 3166-1 alpha-3 country codes to keep (e.g. ["SYR","UKR","AFG"]). Matches both per-country totals and origin/asylum flows. Omit for all.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the per-country and top-flow lists to at most this many items (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_economic_data ~203

China macro: official-only 12-series; 5 NBS/SAFE ingestible, PBoC/GACC unavailable, no proxies; see launchReady/status.

NameTypeReqDescription
countrystringFilter the country-keyed datasets (fuel-prices, BIS DSR/property, economic calendar) to one ISO 3166-1 alpha-2 code.
datasetarrayRestrict the response to one or more sub-datasets. Omit for the full economic bundle.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap each list dataset (calendar, spending, earnings) to at most this many items (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_energy_intelligence ~216

Energy supply, prices, storage, disruptions, and policy: EIA petroleum stocks, electricity prices (Ember), gas storage (

NameTypeReqDescription
countrystringFilter the country-keyed datasets (Ember electricity mix, gas storage, fuel shortages, energy disruptions, fossil-share) to one ISO 3166-1 alpha-2 code.
datasetarrayRestrict the response to one or more energy sub-datasets. Omit for the full bundle.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap each list-bearing energy slice (crisis-policies, electricity regions, gas-storage countries, World Bank renewable history/regions) to at most this many items (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_eu_housing_cycle ~193

Eurostat annual house price index (prc_hpi_a, base 2015=100) for all 27 EU members plus EA20 and EU27_2020 aggregates.

NameTypeReqDescription
countriesarrayEurostat geo codes to keep — ISO 3166-1 alpha-2, but "EL" for Greece, plus aggregates "EA20" and "EU27_2020". Omit for all.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitintegerCap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_eu_industrial_production ~177

Eurostat monthly industrial production index (sts_inpr_m, NACE B-D industry excl.

NameTypeReqDescription
countriesarrayEurostat geo codes to keep — ISO 3166-1 alpha-2, but "EL" for Greece, plus aggregates "EA20" and "EU27_2020". Omit for all.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitintegerCap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_eu_quarterly_gov_debt ~197

Eurostat quarterly general government gross debt (gov_10q_ggdebt, %GDP) for all 27 EU members plus EA20 and EU27_2020 ag

NameTypeReqDescription
countriesarrayEurostat geo codes to keep — ISO 3166-1 alpha-2, but "EL" for Greece, plus aggregates "EA20" and "EU27_2020". Omit for all.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitintegerCap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_focal_points ~107

Focal-point detection: entities where news coverage and live map signals converge, ranked by multi-signal score.

NameTypeReqDescription
country_codestringFilter focal points to one country (ISO-2) and entities the registry relates to it.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the focal point list (default 10, pass 0 for no cap).
NameTypeReqDescription
cached_atstring|nullyesOldest fetch time across the contributing feeds.
dataobjectyes
failed_inputsarraySubset of unavailable_inputs whose Redis read failed rather than returning a genuine miss.
stalebooleanyesTrue when any contributing feed is older than its freshness budget.
unavailable_inputsarrayRequired cache keys that were missing or unreadable; their contribution is not treated as quiet.

No examples provided.

get_forecast_predictions ~160

AI-generated geopolitical and economic forecasts from WorldMonitor's predictive models.

NameTypeReqDescription
domainstringFilter to one forecast domain (exact, case-insensitive — e.g. "shipping", "energy", "macro").
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the forecast list to at most this many items (default 30, pass 0 for no cap).
regionstringFilter to one region/theater (case-insensitive substring).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_forecast_scorecard ~96

Forecast resolution scorecard with calibration, Brier/log score, domain and generation-origin breakdowns, and pending/ju

NameTypeReqDescription
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_health_signals ~216

Active disease outbreaks (WHO/ECDC etc.) and global air-quality station readings (OpenAQ/WAQI PM2.5).

NameTypeReqDescription
countrystringFilter outbreaks and air-quality stations to one ISO 3166-1 alpha-2 country code.
diseasestringKeep only outbreaks whose disease name contains this text (case-insensitive).
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the outbreak and station lists to at most this many items (default 30, pass 0 for no cap).
min_aqinumberDrop air-quality stations below this AQI value.
signal_typearrayRestrict to disease outbreaks, air-quality stations, or both. Omit for both.
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_hotspot_escalation ~112

Hotspot escalation scores: the 29 curated intelligence hotspots ranked by dynamic escalation on a 1-5 scale.

NameTypeReqDescription
hotspot_idstringReturn only this curated hotspot id (see any full response for the id list).
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the ranked hotspot list (default 29, the full curated set; pass 0 for no cap).
NameTypeReqDescription
cached_atstring|nullyesOldest fetch time across the contributing feeds.
dataobjectyes
errorstringPresent only on a user-input failure; the envelope keys are still returned.
failed_inputsarraySubset of unavailable_inputs whose Redis read failed rather than returning a genuine miss.
known_idsarrayAll curated hotspot ids; present only alongside an unknown-hotspot_id error.
stalebooleanyesTrue when any contributing feed is older than its freshness budget.
unavailable_inputsarrayRequired cache keys that were missing or unreadable; their contribution is not treated as quiet.

No examples provided.

get_infrastructure_status ~153

Internet infrastructure health: Cloudflare Radar outages and service status for major cloud providers and internet servi

NameTypeReqDescription
countrystringFilter to one country by name (case-insensitive substring).
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the outage list to at most this many items (default 30, pass 0 for no cap).
severitystringFilter to one outage severity (case-insensitive substring).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_intel_timeline ~203

Reverse-chronological read of WorldMonitor's accumulating intelligence-event history for one domain or country (Pro).

NameTypeReqDescription
countrystringISO 3166-1 alpha-2 country code, uppercase, e.g. "UA". Required unless domain is set. Supplying both narrows to their intersection.
domainstringRestrict to one producing domain. Required unless country is set.
fromnumberEarliest occurredAt to return, Unix epoch milliseconds, inclusive. Omit for no lower bound.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitintegerMaximum events to return. The route returns 40 when this is omitted and caps MCP responses at 40 to stay within the output budget.
tonumberLatest occurredAt to return, Unix epoch milliseconds, inclusive. Omit for no upper bound.
NameTypeReqDescription
partialbooleanyesTrue when the bounded post-filter window may omit older matching events.
recordsarrayyesScoped history, newest first.
upstreamUnavailablebooleanyesTrue when the history store could not be reached. `records` is then empty because the read failed — never read that as "nothing happened in this window".

No examples provided.

get_keyword_spikes ~122

Trending keyword, CVE, and APT/FIN threat-group spikes versus baseline, using the same term-candidacy and spike-decision

NameTypeReqDescription
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitintegerMaximum spikes returned. Defaults to 10.
min_countintegerMinimum recent-window story count for a term to spike. Defaults to 5.
window_hoursintegerRecent window to test for spikes. Defaults to 2.
NameTypeReqDescription
baseline_hoursnumberyesExact hours in the sampled pre-window baseline cohort. 0 means no baseline was available and spikes is empty.
generatedAtstringyes
notestringPresent when the accumulator was unavailable/empty or the story store was only partially readable.
sample_truncatedbooleanyesTrue when either bounded cohort hit its 800-story cap.
spikesarrayyes
story_countnumberyesStories this computation saw across the separately bounded recent and baseline cohorts.
window_hoursnumberyes

No examples provided.

get_maritime_activity ~81

Live vessel traffic and maritime disruptions for a country's waters.

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 country code (e.g. "AE", "SA", "JP", "EG")
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
bounding_boxobject
country_codestring
density_zonesarray
disruptionsarray
errorstringPresent only on unknown country_code.
snapshot_atstring
total_disruptionsnumber
total_zonesnumber

No examples provided.

get_market_data ~222

Real-time equity quotes, commodity prices (including gold futures GC=F), crypto prices, forex FX rates (USD/EUR, USD/JPY

NameTypeReqDescription
asset_classarrayRestrict the response to one or more asset classes. Omit for all.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap each per-class quote list (stocks/commodities/crypto/gulf/sectors/ETF flows) to at most this many items (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
symbolsarrayTickers to keep, e.g. ["AAPL","GC=F","BTC"]. Case-insensitive; matches equity/commodity/crypto/gulf quotes, sector ETFs, and ETF-flow tickers. Omit for the full snapshot.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_military_posture ~159

Theater posture assessment and military risk scores.

NameTypeReqDescription
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the theaters list to at most this many items (default 30, pass 0 for no cap).
posture_levelstringFilter to a single posture level.
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
theaterstringFilter to one theater by id (case-insensitive substring, e.g. "iran", "taiwan", "baltic", "korea").
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_military_surge ~80

Military surge watch: theater aircraft postures, foreign-presence detections, and seeder-computed surge alerts.

NameTypeReqDescription
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
theaterstringFilter to one theater by id or name substring (case-insensitive).
NameTypeReqDescription
cached_atstring|nullyesOldest fetch time across the contributing feeds.
dataobjectyes
failed_inputsarraySubset of unavailable_inputs whose Redis read failed rather than returning a genuine miss.
stalebooleanyesTrue when any contributing feed is older than its freshness budget.
unavailable_inputsarrayRequired cache keys that were missing or unreadable; their contribution is not treated as quiet.

No examples provided.

get_natural_disasters ~186

Recent earthquakes (USGS), active wildfires (NASA FIRMS), and natural hazard events.

NameTypeReqDescription
active_onlybooleanKeep only natural events that are still active (not closed).
datasetarrayRestrict to one or more hazard datasets (earthquakes / wildfires / other natural events). Omit for all.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap each hazard list to at most this many items (default 30, pass 0 for no cap).
min_magnitudenumberDrop earthquakes and natural events below this magnitude.
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_news_clusters ~188

Current topic clusters over the live headline digest, computed with the same Jaccard clustering the dashboard uses.

NameTypeReqDescription
categorystringRestrict to one full-digest category: politics, us, europe, middleeast, tech, ai, finance, commodities, gov, africa, latam, asia, energy, thinktanks, crisis, layoffs, intel. Echoed as `category` in t…
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitintegerMaximum clusters returned. Defaults to 10.
min_sourcesintegerOnly return clusters carrying at least this many DISTINCT sources (outlets), not merely this many member headlines. Defaults to 1.
NameTypeReqDescription
categorystring|nullyesApplied full-digest category filter; null when clustering every category.
clustersarrayyes
generatedAtstringyes
headlineCountnumberyes
notestringPresent when category did not match any digest key (typo or missing bucket).
totalClustersnumberyesCluster count before limit/min_sources filtering.

No examples provided.

get_news_intelligence ~221

AI-classified geopolitical threat news summaries, GDELT intelligence signals, cross-source signals, and security advisor

NameTypeReqDescription
alerts_onlybooleanKeep only top stories flagged as alerts.
categorystringFilter top news stories to one category (e.g. "conflict", "economy"; fallback is "general").
countrystringFilter top stories and travel advisories to one ISO 3166-1 alpha-2 country code (case-insensitive).
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap each list (top stories, signals, advisories) to at most this many items (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
topicstringFilter GDELT intelligence to a single topic.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_population_exposure ~175

Population exposure: estimated people within the impact radius of active earthquakes, wildfires, and conflict events.

NameTypeReqDescription
event_sourcestringWhich event feeds to enrich in events mode (default all).
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
latnumberLatitude for point mode.
limitnumberCap the enriched event list in events mode (default 20, pass 0 for no cap).
lonnumberLongitude for point mode.
modestringevents enriches live feeds (default); point takes lat/lon; countries lists the population table.
radius_kmnumberRadius in km for point mode (default 50, clamped to 1000).
NameTypeReqDescription
cached_atstring|nullyesOldest fetch time across the feeds read; null in point and countries modes.
dataobjectyes
errorstringPresent only on a user-input failure; the envelope keys are still returned.
failed_inputsarraySubset of unavailable_inputs whose Redis read failed rather than returning a genuine miss.
stalebooleanyesTrue when any contributing feed is older than its freshness budget.
unavailable_inputsarrayRequired cache keys that were missing or unreadable; their contribution is not treated as quiet.

No examples provided.

get_positive_events ~129

Positive geopolitical events: diplomatic agreements, humanitarian aid, development milestones, and peace initiatives wor

NameTypeReqDescription
categorystringFilter to one positive-event category.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap the event list to at most this many items (default 30, pass 0 for no cap).
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.

get_prediction_markets ~210

Prediction markets: geopolitical/elections, tagged tech (AI/crypto/science), finance/economics or untagged fallback.

NameTypeReqDescription
categorystringRestrict to one market category bucket. Omit for all three. Finance also owns untagged non-geopolitical records.
jmespathstringOptional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumberCap each category bucket to at most this many markets (default 30, pass 0 for no cap).
querystringKeep only markets whose title contains this text (case-insensitive).
sourcestringFilter to one prediction-market source. Kalshi currently provides no classifier tags, so source=kalshi with category=tech returns no records.
summarybooleanReturn counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
dataobjectyes
stalebooleanyesTrue when any contributing cache key is older than its per-key maxStaleMin freshness budget.

No examples provided.