Tickers 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.
asset_class
array
optional
Restrict the response to one or more asset classes. Omit for all.
limit
number
optional
Cap 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).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"symbols": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tickers 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."
},
"asset_class": {
"type": "array",
"items": {
"type": "string",
"enum": [
"equity",
"commodity",
"crypto",
"sectors",
"etf",
"gulf",
"sentiment"
]
},
"description": "Restrict the response to one or more asset classes. Omit for all."
},
"limit": {
"type": "number",
"description": "Cap 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)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_conflict_events
Active armed conflict events (UCDP, Iran), unrest events with geo-coordinates, and country risk scores.
Parameters5
country
string
optional
Filter 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).
min_fatalities
number
optional
Drop events below this fatality count (UCDP deathsBest / unrest fatalities).
limit
number
optional
Cap each event list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Filter 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)."
},
"min_fatalities": {
"type": "number",
"description": "Drop events below this fatality count (UCDP deathsBest / unrest fatalities)."
},
"limit": {
"type": "number",
"description": "Cap each event list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_aviation_status
Airport delays, NOTAM airspace closures, and tracked military aircraft.
Parameters6
disrupted_only
boolean
optional
Drop 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.
country
string
optional
Filter to one country by name (case-insensitive substring, e.g. "united states").
iata
string
optional
Filter to a single airport by IATA code (e.g. "JFK").
limit
number
optional
Cap the alert list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"disrupted_only": {
"type": "boolean",
"description": "Drop 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."
},
"country": {
"type": "string",
"description": "Filter to one country by name (case-insensitive substring, e.g. \"united states\")."
},
"iata": {
"type": "string",
"description": "Filter to a single airport by IATA code (e.g. \"JFK\")."
},
"limit": {
"type": "number",
"description": "Cap the alert list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
Filter top news stories to one category (e.g. "conflict", "economy"; fallback is "general").
country
string
optional
Filter top stories and travel advisories to one ISO 3166-1 alpha-2 country code (case-insensitive).
alerts_only
boolean
optional
Keep only top stories flagged as alerts.
limit
number
optional
Cap each list (top stories, signals, advisories) to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"enum": [
"conflict",
"economy",
"cyber",
"nuclear",
"intelligence",
"maritime"
],
"description": "Filter GDELT intelligence to a single topic."
},
"category": {
"type": "string",
"description": "Filter top news stories to one category (e.g. \"conflict\", \"economy\"; fallback is \"general\")."
},
"country": {
"type": "string",
"description": "Filter top stories and travel advisories to one ISO 3166-1 alpha-2 country code (case-insensitive)."
},
"alerts_only": {
"type": "boolean",
"description": "Keep only top stories flagged as alerts."
},
"limit": {
"type": "number",
"description": "Cap each list (top stories, signals, advisories) to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_natural_disasters
Recent earthquakes (USGS), active wildfires (NASA FIRMS), and natural hazard events.
Parameters6
dataset
array
optional
Restrict to one or more hazard datasets (earthquakes / wildfires / other natural events). Omit for all.
min_magnitude
number
optional
Drop earthquakes and natural events below this magnitude.
active_only
boolean
optional
Keep only natural events that are still active (not closed).
limit
number
optional
Cap each hazard list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"dataset": {
"type": "array",
"items": {
"type": "string",
"enum": [
"earthquakes",
"wildfires",
"other"
]
},
"description": "Restrict to one or more hazard datasets (earthquakes / wildfires / other natural events). Omit for all."
},
"min_magnitude": {
"type": "number",
"description": "Drop earthquakes and natural events below this magnitude."
},
"active_only": {
"type": "boolean",
"description": "Keep only natural events that are still active (not closed)."
},
"limit": {
"type": "number",
"description": "Cap each hazard list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_military_posture
Theater posture assessment and military risk scores.
Parameters5
theater
string
optional
Filter to one theater by id (case-insensitive substring, e.g. "iran", "taiwan", "baltic", "korea").
posture_level
string
optional
Filter to a single posture level.
limit
number
optional
Cap the theaters list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"theater": {
"type": "string",
"description": "Filter to one theater by id (case-insensitive substring, e.g. \"iran\", \"taiwan\", \"baltic\", \"korea\")."
},
"posture_level": {
"type": "string",
"description": "Filter to a single posture level."
},
"limit": {
"type": "number",
"description": "Cap the theaters list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_cyber_threats
Active cyber threat intelligence: malware IOCs (URLhaus, Feodotracker), CISA known exploited vulnerabilities, and active
Parameters6
threat_type
string
optional
Filter to one threat type (case-insensitive substring, e.g. "malware", "vulnerability", "c2").
min_severity
string
optional
Drop threats below this severity level.
country
string
optional
Filter to one ISO 3166-1 alpha-2 country code (many threats have no country and are dropped by this filter).
limit
number
optional
Cap the threat list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"threat_type": {
"type": "string",
"description": "Filter to one threat type (case-insensitive substring, e.g. \"malware\", \"vulnerability\", \"c2\")."
},
"min_severity": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"critical"
],
"description": "Drop threats below this severity level."
},
"country": {
"type": "string",
"description": "Filter to one ISO 3166-1 alpha-2 country code (many threats have no country and are dropped by this filter)."
},
"limit": {
"type": "number",
"description": "Cap the threat list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_economic_data
Macro economic indicators: Fed Funds rate (FRED), economic calendar events, the normalized China macro snapshot plus off
Parameters5
dataset
array
optional
Restrict the response to one or more sub-datasets. Omit for the full economic bundle.
country
string
optional
Filter the country-keyed datasets (fuel-prices, BIS DSR/property, economic calendar) to one ISO 3166-1 alpha-2 code.
limit
number
optional
Cap each list dataset (calendar, spending, earnings) to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"dataset": {
"type": "array",
"items": {
"type": "string",
"enum": [
"fedfunds",
"econ-calendar",
"china-macro",
"china-release-calendar",
"fuel-prices",
"ecb-fx-rates",
"yield-curve-eu",
"spending",
"earnings-calendar",
"cot",
"dsr",
"property-residential",
"property-commercial"
]
},
"description": "Restrict the response to one or more sub-datasets. Omit for the full economic bundle."
},
"country": {
"type": "string",
"description": "Filter the country-keyed datasets (fuel-prices, BIS DSR/property, economic calendar) to one ISO 3166-1 alpha-2 code."
},
"limit": {
"type": "number",
"description": "Cap each list dataset (calendar, spending, earnings) to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_country_macro
Per-country macroeconomic indicators from IMF WEO (~210 countries, monthly cadence).
Parameters4
countries
array
optional
ISO 3166-1 alpha-2 country codes to keep across all four IMF datasets (e.g. ["US","DE","CN"]). Omit for all ~210 countries.
limit
integer
optional
Cap each IMF dataset country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "ISO 3166-1 alpha-2 country codes to keep across all four IMF datasets (e.g. [\"US\",\"DE\",\"CN\"]). Omit for all ~210 countries."
},
"limit": {
"type": "integer",
"minimum": 0,
"description": "Cap each IMF dataset country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_eu_housing_cycle
Eurostat annual house price index (prc_hpi_a, base 2015=100) for all 27 EU members plus EA20 and EU27_2020 aggregates.
Parameters4
countries
array
optional
Eurostat geo codes to keep โ ISO 3166-1 alpha-2, but "EL" for Greece, plus aggregates "EA20" and "EU27_2020". Omit for all.
limit
integer
optional
Cap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Eurostat geo codes to keep โ ISO 3166-1 alpha-2, but \"EL\" for Greece, plus aggregates \"EA20\" and \"EU27_2020\". Omit for all."
},
"limit": {
"type": "integer",
"minimum": 0,
"description": "Cap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_eu_quarterly_gov_debt
Eurostat quarterly general government gross debt (gov_10q_ggdebt, %GDP) for all 27 EU members plus EA20 and EU27_2020 ag
Parameters4
countries
array
optional
Eurostat geo codes to keep โ ISO 3166-1 alpha-2, but "EL" for Greece, plus aggregates "EA20" and "EU27_2020". Omit for all.
limit
integer
optional
Cap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Eurostat geo codes to keep โ ISO 3166-1 alpha-2, but \"EL\" for Greece, plus aggregates \"EA20\" and \"EU27_2020\". Omit for all."
},
"limit": {
"type": "integer",
"minimum": 0,
"description": "Cap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_eu_industrial_production
Eurostat monthly industrial production index (sts_inpr_m, NACE B-D industry excl.
Parameters4
countries
array
optional
Eurostat geo codes to keep โ ISO 3166-1 alpha-2, but "EL" for Greece, plus aggregates "EA20" and "EU27_2020". Omit for all.
limit
integer
optional
Cap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Eurostat geo codes to keep โ ISO 3166-1 alpha-2, but \"EL\" for Greece, plus aggregates \"EA20\" and \"EU27_2020\". Omit for all."
},
"limit": {
"type": "integer",
"minimum": 0,
"description": "Cap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_prediction_markets
Active Polymarket event contracts with current probabilities.
Parameters6
category
string
optional
Restrict to one market category bucket. Omit for all three.
query
string
optional
Keep only markets whose title contains this text (case-insensitive).
source
string
optional
Filter to one prediction-market source.
limit
number
optional
Cap each category bucket to at most this many markets (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"geopolitical",
"tech",
"finance"
],
"description": "Restrict to one market category bucket. Omit for all three."
},
"query": {
"type": "string",
"description": "Keep only markets whose title contains this text (case-insensitive)."
},
"source": {
"type": "string",
"enum": [
"kalshi",
"polymarket"
],
"description": "Filter to one prediction-market source."
},
"limit": {
"type": "number",
"description": "Cap each category bucket to at most this many markets (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_sanctions_data
OFAC SDN sanctioned entities list and sanctions pressure scores by country.
Parameters6
country
string
optional
Filter sanctioned entities and pressure scores to one ISO 3166-1 alpha-2 country code.
entity_type
string
optional
Filter to one entity type (case-insensitive substring, e.g. "vessel", "aircraft", "person", "entity").
query
string
optional
Keep only sanctioned entities whose name contains this text (case-insensitive).
limit
number
optional
Cap the entity list and recent pressure entries to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Filter sanctioned entities and pressure scores to one ISO 3166-1 alpha-2 country code."
},
"entity_type": {
"type": "string",
"description": "Filter to one entity type (case-insensitive substring, e.g. \"vessel\", \"aircraft\", \"person\", \"entity\")."
},
"query": {
"type": "string",
"description": "Keep only sanctioned entities whose name contains this text (case-insensitive)."
},
"limit": {
"type": "number",
"description": "Cap the entity list and recent pressure entries to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_displacement_data
Refugee and IDP counts by country (UNHCR annual data).
Parameters4
countries
array
optional
ISO 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.
limit
number
optional
Cap the per-country and top-flow lists to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "ISO 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."
},
"limit": {
"type": "number",
"description": "Cap the per-country and top-flow lists to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_health_signals
Active disease outbreaks (WHO/ECDC etc.) and global air-quality station readings (OpenAQ/WAQI PM2.5).
Parameters7
signal_type
array
optional
Restrict to disease outbreaks, air-quality stations, or both. Omit for both.
country
string
optional
Filter outbreaks and air-quality stations to one ISO 3166-1 alpha-2 country code.
disease
string
optional
Keep only outbreaks whose disease name contains this text (case-insensitive).
min_aqi
number
optional
Drop air-quality stations below this AQI value.
limit
number
optional
Cap the outbreak and station lists to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"signal_type": {
"type": "array",
"items": {
"type": "string",
"enum": [
"outbreaks",
"air-quality"
]
},
"description": "Restrict to disease outbreaks, air-quality stations, or both. Omit for both."
},
"country": {
"type": "string",
"description": "Filter outbreaks and air-quality stations to one ISO 3166-1 alpha-2 country code."
},
"disease": {
"type": "string",
"description": "Keep only outbreaks whose disease name contains this text (case-insensitive)."
},
"min_aqi": {
"type": "number",
"description": "Drop air-quality stations below this AQI value."
},
"limit": {
"type": "number",
"description": "Cap the outbreak and station lists to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_energy_intelligence
Energy supply, prices, storage, disruptions, and policy: EIA petroleum stocks, electricity prices (Ember), gas storage (
Parameters5
dataset
array
optional
Restrict the response to one or more energy sub-datasets. Omit for the full bundle.
country
string
optional
Filter the country-keyed datasets (Ember electricity mix, gas storage, fuel shortages, energy disruptions, fossil-share) to one ISO 3166-1 alpha-2 code.
limit
number
optional
Cap 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).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"dataset": {
"type": "array",
"items": {
"type": "string",
"enum": [
"eia-petroleum",
"electricity",
"ember",
"gas-storage",
"fuel-shortages",
"disruptions",
"crisis-policies",
"fossil-share",
"renewable"
]
},
"description": "Restrict the response to one or more energy sub-datasets. Omit for the full bundle."
},
"country": {
"type": "string",
"description": "Filter the country-keyed datasets (Ember electricity mix, gas storage, fuel shortages, energy disruptions, fossil-share) to one ISO 3166-1 alpha-2 code."
},
"limit": {
"type": "number",
"description": "Cap 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)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
Restrict the response to one or more climate sub-datasets. Omit for the full bundle.
country
string
optional
Filter the country-tagged datasets (climate disasters, air-quality stations) to one ISO 3166-1 alpha-2 code.
limit
number
optional
Cap each list dataset (anomalies, disasters, stations, news, alerts) to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"dataset": {
"type": "array",
"items": {
"type": "string",
"enum": [
"anomalies",
"disasters",
"co2-monitoring",
"air-quality",
"ocean-ice",
"news-intelligence",
"alerts"
]
},
"description": "Restrict the response to one or more climate sub-datasets. Omit for the full bundle."
},
"country": {
"type": "string",
"description": "Filter the country-tagged datasets (climate disasters, air-quality stations) to one ISO 3166-1 alpha-2 code."
},
"limit": {
"type": "number",
"description": "Cap each list dataset (anomalies, disasters, stations, news, alerts) to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_infrastructure_status
Internet infrastructure health: Cloudflare Radar outages and service status for major cloud providers and internet servi
Parameters5
country
string
optional
Filter to one country by name (case-insensitive substring).
severity
string
optional
Filter to one outage severity (case-insensitive substring).
limit
number
optional
Cap the outage list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Filter to one country by name (case-insensitive substring)."
},
"severity": {
"type": "string",
"description": "Filter to one outage severity (case-insensitive substring)."
},
"limit": {
"type": "number",
"description": "Cap the outage list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
Restrict the response to one or more sub-datasets (dry-bulk shipping stress / customs revenue / COMTRADE flows). Omit for all.
commodity
string
optional
Filter COMTRADE flows to one commodity โ matches the HS code exactly or the commodity description by substring (e.g. "2709" or "crude").
reporter
string
optional
Filter COMTRADE flows to one reporter by numeric reporter code or reporter name (e.g. "156" or "China").
limit
number
optional
Cap each list dataset (carriers, months, flows) to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"dataset": {
"type": "array",
"items": {
"type": "string",
"enum": [
"shipping_stress",
"customs-revenue",
"flows"
]
},
"description": "Restrict the response to one or more sub-datasets (dry-bulk shipping stress / customs revenue / COMTRADE flows). Omit for all."
},
"commodity": {
"type": "string",
"description": "Filter COMTRADE flows to one commodity โ matches the HS code exactly or the commodity description by substring (e.g. \"2709\" or \"crude\")."
},
"reporter": {
"type": "string",
"description": "Filter COMTRADE flows to one reporter by numeric reporter code or reporter name (e.g. \"156\" or \"China\")."
},
"limit": {
"type": "number",
"description": "Cap each list dataset (carriers, months, flows) to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_tariff_trends
Global trade and pricing indicators: US tariff trends (HTS-coded), BigMac index, FAO Food Price Index, and per-country n
Parameters5
dataset
array
optional
Restrict the response to one or more sub-datasets. Omit for the full bundle.
country
string
optional
Filter the per-country datasets to one ISO 3166-1 alpha-2 country code (e.g. "US"). It is translated to alpha-3 internally for the national-debt dataset; passing an alpha-3 code directly also works.
limit
number
optional
Cap each list dataset (tariff datapoints, BigMac countries, debt entries) to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"dataset": {
"type": "array",
"items": {
"type": "string",
"enum": [
"tariffs",
"bigmac",
"fao-ffpi",
"national-debt"
]
},
"description": "Restrict the response to one or more sub-datasets. Omit for the full bundle."
},
"country": {
"type": "string",
"description": "Filter the per-country datasets to one ISO 3166-1 alpha-2 country code (e.g. \"US\"). It is translated to alpha-3 internally for the national-debt dataset; passing an alpha-3 code directly also works."
},
"limit": {
"type": "number",
"description": "Cap each list dataset (tariff datapoints, BigMac countries, debt entries) to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_chokepoint_status
Live maritime chokepoint status: per-chokepoint vessel transit counts (10-min cadence), rolling transit summaries, per-p
Parameters5
chokepoint
string
optional
Filter 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").
dataset
array
optional
Restrict the response to one or more sub-datasets. Omit for the full bundle.
limit
number
optional
Cap 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-flows) are intentionally not capped โ use the `chokepoint` filter instead.
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"chokepoint": {
"type": "string",
"description": "Filter 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\")."
},
"dataset": {
"type": "array",
"items": {
"type": "string",
"enum": [
"transit-summaries",
"chokepoint_transits",
"_countries",
"chokepoint-baselines",
"ref",
"chokepoint-flows"
]
},
"description": "Restrict the response to one or more sub-datasets. Omit for the full bundle."
},
"limit": {
"type": "number",
"description": "Cap 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-flows) are intentionally not capped โ use the `chokepoint` filter instead."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_positive_events
Positive geopolitical events: diplomatic agreements, humanitarian aid, development milestones, and peace initiatives wor
Parameters4
category
string
optional
Filter to one positive-event category.
limit
number
optional
Cap the event list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"science-health",
"nature-wildlife",
"climate-wins",
"innovation-tech",
"humanity-kindness",
"culture-community"
],
"description": "Filter to one positive-event category."
},
"limit": {
"type": "number",
"description": "Cap the event list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_radiation_data
Radiation observation levels from global monitoring stations.
Parameters5
country
string
optional
Filter to one country by name (case-insensitive substring).
anomalous_only
boolean
optional
Drop observations with severity "normal" โ keep only elevated/spike readings.
limit
number
optional
Cap the observation list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Filter to one country by name (case-insensitive substring)."
},
"anomalous_only": {
"type": "boolean",
"description": "Drop observations with severity \"normal\" โ keep only elevated/spike readings."
},
"limit": {
"type": "number",
"description": "Cap the observation list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_research_signals
Tech and research event signals: emerging technology events bootstrap data from curated research feeds.
Parameters5
type
string
optional
Filter to one tech-event type.
source
string
optional
Filter to one source feed (e.g. "techmeme", "dev.events", "curated").
limit
number
optional
Cap the event list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"conference",
"earnings",
"ipo",
"other"
],
"description": "Filter to one tech-event type."
},
"source": {
"type": "string",
"description": "Filter to one source feed (e.g. \"techmeme\", \"dev.events\", \"curated\")."
},
"limit": {
"type": "number",
"description": "Cap the event list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_forecast_predictions
AI-generated geopolitical and economic forecasts from WorldMonitor's predictive models.
Parameters5
domain
string
optional
Filter to one forecast domain (exact, case-insensitive โ e.g. "shipping", "energy", "macro").
region
string
optional
Filter to one region/theater (case-insensitive substring).
limit
number
optional
Cap the forecast list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Filter to one forecast domain (exact, case-insensitive โ e.g. \"shipping\", \"energy\", \"macro\")."
},
"region": {
"type": "string",
"description": "Filter to one region/theater (case-insensitive substring)."
},
"limit": {
"type": "number",
"description": "Cap the forecast list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_forecast_scorecard
Forecast resolution scorecard with calibration, Brier/log score, domain and generation-origin breakdowns, and pending/ju
Parameters2
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_social_velocity
Reddit geopolitical social velocity: top posts from worldnews, geopolitics, and related subreddits with engagement score
Parameters4
subreddit
string
optional
Filter to one subreddit (e.g. "worldnews", "geopolitics").
limit
number
optional
Cap the post list to at most this many items (default 30, pass 0 for no cap).
summary
boolean
optional
Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"subreddit": {
"type": "string",
"description": "Filter to one subreddit (e.g. \"worldnews\", \"geopolitics\")."
},
"limit": {
"type": "number",
"description": "Cap the post list to at most this many items (default 30, pass 0 for no cap)."
},
"summary": {
"type": "boolean",
"description": "Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_procurement_opportunities
Search open global public-procurement opportunities through the canonical Pro route.
Parameters12
country
string
optional
One ISO 3166-1 alpha-2 country code.
countries
array
optional
Additional ISO 3166-1 alpha-2 country codes. Combined with country.
source
string
optional
Official source adapter, such as sam, ted, contracts-finder, canada-buys, gets, or world-bank.
query
string
optional
Case-insensitive text search across procurement titles and descriptions.
buyer
string
optional
Case-insensitive buyer or contracting-authority text.
deadline_from
string
optional
Include deadlines on or after this ISO-8601 timestamp.
deadline_to
string
optional
Include deadlines on or before this ISO-8601 timestamp.
sort
string
optional
Result ordering. Defaults to newest.
min_automation_score
integer
optional
Optional positive keyword-relevance threshold. Non-integer or non-positive values are ignored; the canonical route clamps values above 100. This is not bidding-eligibility evidence.
page_size
integer
optional
Records per call. Defaults to 10; capped at 25 to protect agent context.
cursor
string
optional
Opaque nextCursor from the prior result; keep the same filters and sort when continuing.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "One ISO 3166-1 alpha-2 country code."
},
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional ISO 3166-1 alpha-2 country codes. Combined with country."
},
"source": {
"type": "string",
"description": "Official source adapter, such as sam, ted, contracts-finder, canada-buys, gets, or world-bank."
},
"query": {
"type": "string",
"description": "Case-insensitive text search across procurement titles and descriptions."
},
"buyer": {
"type": "string",
"description": "Case-insensitive buyer or contracting-authority text."
},
"deadline_from": {
"type": "string",
"description": "Include deadlines on or after this ISO-8601 timestamp."
},
"deadline_to": {
"type": "string",
"description": "Include deadlines on or before this ISO-8601 timestamp."
},
"sort": {
"type": "string",
"enum": [
"newest",
"closing_soon",
"estimated_value",
"relevance"
],
"description": "Result ordering. Defaults to newest."
},
"min_automation_score": {
"type": "integer",
"minimum": 1,
"description": "Optional positive keyword-relevance threshold. Non-integer or non-positive values are ignored; the canonical route clamps values above 100. This is not bidding-eligibility evidence."
},
"page_size": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Records per call. Defaults to 10; capped at 25 to protect agent context."
},
"cursor": {
"type": "string",
"description": "Opaque nextCursor from the prior result; keep the same filters and sort when continuing."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_world_brief
AI-generated world intelligence brief.
Parameters2
geo_context
string
optional
Optional focus context (e.g. "Middle East tensions", "US-China trade war")
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"geo_context": {
"type": "string",
"description": "Optional focus context (e.g. \"Middle East tensions\", \"US-China trade war\")"
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
get_country_brief
AI-generated per-country intelligence brief.
Parameters3
country_code
string
required
ISO 3166-1 alpha-2 country code, e.g. "US", "DE", "CN", "IR"
framework
string
optional
Optional analytical framework instructions to shape the analysis lens (e.g. Ray Dalio debt cycle, PMESII-PT)
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code, e.g. \"US\", \"DE\", \"CN\", \"IR\""
},
"framework": {
"type": "string",
"description": "Optional analytical framework instructions to shape the analysis lens (e.g. Ray Dalio debt cycle, PMESII-PT)"
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": [
"country_code"
]
}
get_country_risk
Structured risk intelligence for a specific country: Composite Instability Index (CII) score 0-100, component breakdown
Parameters2
country_code
string
required
ISO 3166-1 alpha-2 country code, e.g. "RU", "IR", "CN", "UA"
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code, e.g. \"RU\", \"IR\", \"CN\", \"UA\""
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": [
"country_code"
]
}
ISO 3166-1 alpha-2 country code. Currently supported: AE (case-insensitive).
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code. Currently supported: AE (case-insensitive)."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": [
"country_code"
]
}
get_airspace
Live ADS-B aircraft over a country.
Parameters3
country_code
string
required
ISO 3166-1 alpha-2 country code (e.g. "AE", "US", "GB", "JP")
type
string
optional
Filter: all flights (default), civilian only, or military only
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code (e.g. \"AE\", \"US\", \"GB\", \"JP\")"
},
"type": {
"type": "string",
"enum": [
"all",
"civilian",
"military"
],
"description": "Filter: all flights (default), civilian only, or military only"
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": [
"country_code"
]
}
get_maritime_activity
Live vessel traffic and maritime disruptions for a country's waters.
Parameters2
country_code
string
required
ISO 3166-1 alpha-2 country code (e.g. "AE", "SA", "JP", "EG")
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code (e.g. \"AE\", \"SA\", \"JP\", \"EG\")"
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": [
"country_code"
]
}
analyze_situation
AI geopolitical situation analysis (DeductionPanel).
Parameters4
query
string
required
The question or situation to analyze, e.g. "What are the implications of the Taiwan strait escalation for semiconductor supply chains?"
context
string
optional
Optional additional geo-political context to include in the analysis
framework
string
optional
Optional analytical framework instructions to shape the analysis lens (e.g. Ray Dalio debt cycle, PMESII-PT, Porter's Five Forces)
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The question or situation to analyze, e.g. \"What are the implications of the Taiwan strait escalation for semiconductor supply chains?\""
},
"context": {
"type": "string",
"description": "Optional additional geo-political context to include in the analysis"
},
"framework": {
"type": "string",
"description": "Optional analytical framework instructions to shape the analysis lens (e.g. Ray Dalio debt cycle, PMESII-PT, Porter's Five Forces)"
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": [
"query"
]
}
generate_forecasts
Generate live AI geopolitical and economic forecasts.
Parameters3
domain
string
optional
Forecast domain: "geopolitical", "economic", "military", "climate", or empty for all domains
region
string
optional
Geographic region filter, e.g. "Middle East", "Europe", "Asia Pacific", or empty for global
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Forecast domain: \"geopolitical\", \"economic\", \"military\", \"climate\", or empty for all domains"
},
"region": {
"type": "string",
"description": "Geographic region filter, e.g. \"Middle East\", \"Europe\", \"Asia Pacific\", or empty for global"
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
search_flights
Search Google Flights for real-time flight options between two airports on a specific date.
Parameters9
origin
string
required
IATA code for the departure airport, e.g. "JFK"
destination
string
required
IATA code for the arrival airport, e.g. "LHR"
departure_date
string
required
Departure date in YYYY-MM-DD format
return_date
string
optional
Return date in YYYY-MM-DD format for round trips (optional)
cabin_class
string
optional
Cabin class: "economy", "premium_economy", "business", or "first" (optional, default economy)
max_stops
string
optional
Max stops: "0" or "non_stop" for nonstop, "1" or "one_stop" for max one stop, or omit for any (optional)
passengers
number
optional
Number of passengers (1-9, default 1)
sort_by
string
optional
Sort order: "price" (cheapest), "duration", "departure", or "arrival" (optional)
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"origin": {
"type": "string",
"description": "IATA code for the departure airport, e.g. \"JFK\""
},
"destination": {
"type": "string",
"description": "IATA code for the arrival airport, e.g. \"LHR\""
},
"departure_date": {
"type": "string",
"description": "Departure date in YYYY-MM-DD format"
},
"return_date": {
"type": "string",
"description": "Return date in YYYY-MM-DD format for round trips (optional)"
},
"cabin_class": {
"type": "string",
"description": "Cabin class: \"economy\", \"premium_economy\", \"business\", or \"first\" (optional, default economy)"
},
"max_stops": {
"type": "string",
"description": "Max stops: \"0\" or \"non_stop\" for nonstop, \"1\" or \"one_stop\" for max one stop, or omit for any (optional)"
},
"passengers": {
"type": "number",
"description": "Number of passengers (1-9, default 1)"
},
"sort_by": {
"type": "string",
"description": "Sort order: \"price\" (cheapest), \"duration\", \"departure\", or \"arrival\" (optional)"
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": [
"origin",
"destination",
"departure_date"
]
}
search_flight_prices_by_date
Search Google Flights date-grid pricing across a date range.
Parameters10
origin
string
required
IATA code for the departure airport, e.g. "JFK"
destination
string
required
IATA code for the arrival airport, e.g. "LHR"
start_date
string
required
Start of the date range in YYYY-MM-DD format
end_date
string
required
End of the date range in YYYY-MM-DD format
is_round_trip
boolean
optional
Whether to search round-trip prices (default false). Requires trip_duration when true.
trip_duration
number
optional
Trip duration in days โ required when is_round_trip is true (e.g. 7 for a one-week trip)
cabin_class
string
optional
Cabin class: "economy", "premium_economy", "business", or "first" (optional, default economy)
passengers
number
optional
Number of passengers (1-9, default 1)
sort_by_price
boolean
optional
Sort results by price ascending (default false, sorts by date)
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"origin": {
"type": "string",
"description": "IATA code for the departure airport, e.g. \"JFK\""
},
"destination": {
"type": "string",
"description": "IATA code for the arrival airport, e.g. \"LHR\""
},
"start_date": {
"type": "string",
"description": "Start of the date range in YYYY-MM-DD format"
},
"end_date": {
"type": "string",
"description": "End of the date range in YYYY-MM-DD format"
},
"is_round_trip": {
"type": "boolean",
"description": "Whether to search round-trip prices (default false). Requires trip_duration when true."
},
"trip_duration": {
"type": "number",
"description": "Trip duration in days โ required when is_round_trip is true (e.g. 7 for a one-week trip)"
},
"cabin_class": {
"type": "string",
"description": "Cabin class: \"economy\", \"premium_economy\", \"business\", or \"first\" (optional, default economy)"
},
"passengers": {
"type": "number",
"description": "Number of passengers (1-9, default 1)"
},
"sort_by_price": {
"type": "boolean",
"description": "Sort results by price ascending (default false, sorts by date)"
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": [
"origin",
"destination",
"start_date",
"end_date"
]
}
get_commodity_geo
Global mining sites with coordinates, operator, mineral type, and production status.
Parameters3
mineral
string
optional
Filter by mineral type (e.g. "Gold", "Copper", "Lithium")
country
string
optional
Filter by country name (e.g. "Australia", "Chile")
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"mineral": {
"type": "string",
"description": "Filter by mineral type (e.g. \"Gold\", \"Copper\", \"Lithium\")"
},
"country": {
"type": "string",
"description": "Filter by country name (e.g. \"Australia\", \"Chile\")"
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": []
}
describe_tool
Return the full uncompressed definition of one tool by name.
Parameters2
tool_name
string
required
Exact tool name from tools/list.
jmespath
string
optional
Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
Raw schema
{
"type": "object",
"properties": {
"tool_name": {
"type": "string",
"description": "Exact tool name from tools/list."
},
"jmespath": {
"type": "string",
"description": "Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples."
}
},
"required": [
"tool_name"
]
}
Real-time global intelligence dashboard โ AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface.
Curated news feeds across global and regional categories, AI-synthesized into briefs
Dual map engine โ 3D globe (globe.gl) and WebGL flat map (deck.gl) with a shared map-layer catalog
Panel inventory โ concrete panel implementations across specialized variants
Cross-stream correlation โ military, economic, disaster, and escalation signal convergence
Country Instability Index (CII) โ server-authoritative CII v8 stress scoring for the Tier-1 registry
Finance radar โ stock exchanges, commodities, crypto, and a market composite
Local AI โ run everything with Ollama, no API keys required
Site variants from a single codebase (world, tech, finance, commodity, happy, energy)
Native desktop app (Tauri 2) for macOS, Windows, and Linux
Multilingual UI with native-language feeds and RTL support
For the full feature list, architecture, data sources, and algorithms, see the documentation.
Support Status
All site variants and desktop binaries are built from a single codebase and ship from the same release process. The table below clarifies maintenance status so you know which surfaces are safe to depend on.
Public deployments built from this repo, actively maintained
Desktop binaries (Windows / macOS Apple Silicon / macOS Intel / Linux AppImage)
Stable
One Tauri binary for every variant โ install World Monitor and switch to tech, finance, commodity, energy, or happy in-app. There is deliberately no per-variant download
Issues filed against any of the above are triaged from the same backlog โ see the issues board for currently-open work.
Quick Start
bash
git clone https://github.com/koala73/worldmonitor.git
cd worldmonitor
npm install
npm run dev
Open localhost:3000 (override the port with DEV_PORT in .env.local). The app runs with no environment variables.
Feature-specific data sources may require credentials. See .env.example for the full list.
For variant-specific development:
bash
npm run dev:tech # tech.worldmonitor.app
npm run dev:finance # finance.worldmonitor.app
npm run dev:commodity # commodity.worldmonitor.app
npm run dev:happy # happy.worldmonitor.app
npm run dev:energy # energy.worldmonitor.app
See the self-hosting guide for deployment options (Vercel, Docker, static).
npx worldmonitor tools # run ad-hoc โ list every MCP tool (no key needed)
npm install -g worldmonitor # or install the `worldmonitor` (alias `wm`) command
worldmonitor risk IR --api-key wm_xxx
Flight data provided graciously by Wingbits, the most advanced ADS-B flight data solution.
Data Sources
WorldMonitor aggregates attributed upstream sources across geopolitics, finance, energy, climate, aviation, cyber, military, infrastructure, and news intelligence. Curated feeds and freshness-tracked source groups are published in the full data sources catalog, with provider, feed-tier, license-posture, and collection-method details.
npm run typecheck # Type checking
npm run build:full # Production build
License
AGPL-3.0-only for the source code. Commercial use is permitted under the AGPL when you comply with its copyleft and source-availability terms.
Use Case
Allowed?
Personal / research / educational
Yes, under AGPL-3.0-only
Self-hosted instance
Yes, under AGPL-3.0-only
Fork and modify
Yes, share source under AGPL-3.0-only when required
Commercial use / SaaS
Yes, under AGPL-3.0-only when you comply with AGPL obligations
Private-source proprietary use or official branding rights
Separate commercial or trademark permission needed
See LICENSE for the full code license and docs/license.mdx for a plain-language summary. Commercial licensing is available as an alternative option for teams that need non-AGPL terms.
Copyright (C) 2024-2026 Elie Habib. All rights reserved.