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

World Monitor

REMOTE · WORLDMONITOR.APP · SCANNED OCT 2

Live markets, conflicts, country risk, chokepoints, energy, and China decision signals. 86 tools.

Available components

0 this week 39 Trust /100
Trust breakdown (7 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 → Why this is hard to score →

Endpoint Security97
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. 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 & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

Install

How do I install the World Monitor MCP server?

World Monitor is a hosted endpoint at https://worldmonitor.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · worldmonitor.app

# add to Claude Code
claude mcp add --transport http app-worldmonitor-mcp 'https://worldmonitor.app/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "app-worldmonitor-mcp": {
      "url": "https://worldmonitor.app/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "app-worldmonitor-mcp": {
      "type": "http",
      "url": "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"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "app-worldmonitor-mcp": {
      "Transport": "http",
      "Url": "https://worldmonitor.app/mcp"
    }
  }
}
# add to Vellum
assistant mcp add app-worldmonitor-mcp -t streamable-http -u '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.

  • 28 Sept 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
  • 25 Sept 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
  • 18 Sept 26 −54
    • Endpoint reachability: reachable → behind authorisation ▼ security
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Transport: pass → unverified ▼ security
    • Authorization: The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. security
    • Capabilities: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
  • 16 Sept 26 0
    • “get_cyber_threats” reworded the description of “min_severity” cosmetic

    1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.

  • 11 Sept 26 0
    • “get_climate_data” reworded the description of “country” cosmetic
    • “get_country_macro” reworded the description of “countries” cosmetic
    • “get_cyber_threats” reworded the description of “country” cosmetic
    • “get_displacement_data” reworded the description of “countries” cosmetic
    • “get_economic_data” reworded the description of “country” cosmetic
    • “get_energy_intelligence” reworded the description of “country” cosmetic
    • “get_eu_housing_cycle” reworded the description of “countries” cosmetic
    • “get_eu_industrial_production” reworded the description of “countries” cosmetic
    • “get_eu_quarterly_gov_debt” reworded the description of “countries” cosmetic
    • “get_focal_points” reworded the description of “country_code” cosmetic
    • “get_health_signals” reworded the description of “country” cosmetic
    • “get_news_intelligence” reworded the description of “country” cosmetic
    • “get_sanctions_data” reworded the description of “country” cosmetic
    • “get_tariff_trends” reworded the description of “country” cosmetic

    14 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

  • 8 Sept 26 0
    • Server version: 1.19.0 → 1.20.0 functional
    • New tool “get_country_coverage” functional
  • 5 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Server version: 1.18.0 → 1.19.0 functional
    • “get_chokepoint_dependencies” added an optional parameter “jmespath” cosmetic
    • “get_resilience_indicators” added an optional parameter “jmespath” cosmetic
    • “get_supply_vulnerabilities” added an optional parameter “jmespath” cosmetic
  • 4 Sept 26 +6
    • Judged manipulation: unverified → pass ▲ security
    • Schema quality: unverified → good ▲ functional
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 2 Oct 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 9 Aug 2026 7 Nov 2026 ECDSA 256 ECDSA-SHA256 eb17c4c42f29cd991367f8d489d0b8b8
SANs: worldmonitor.app, railway-reconcile-control.worldmonitor.app, *.railway-reconcile-control.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

Background: What to check on a remote MCP endpoint →

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 connection
HTTP status 401

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

Bearer realm="worldmonitor", resource_metadata="https://worldmonitor.app/.well-known/oauth-protected-resource/mcp"
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-h0RiSjzitWmlVHuHxDHV1z/h7io4rveTmT0yR7CKaJ0=' 'sha256-5Z9IhMFGUf29PVDaWoiTpwEg7J7Q4r4F49rLS77PJm0=' 'sha256-Z5TaQuwFMHlxoFSQYuTWfxuPE5RUOpVsZOttUGCcRNE=' 'sha256-Jgh3W4Qj3HWZPVSti0C073yuiaz611LO8OZRUCsN0x8=' 'sha256-llBxZlyh3eu6gbNvZXaeD9oZE2jgTvnh72FEO/GDErQ=' 'sha256-qBy8dsjFg+wfik0vT6vqHdUfbfSdoK+3noanAXUt4mk=' 'sha256-sMkhxXs3qUW2IR01a4d3tL1e2XQV0XUwxXAeL31nDjM=' '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 https://www.youtube.com https://www.youtube-nocookie.com
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"), tools=(self)
www-authenticate Bearer realm="worldmonitor", resource_metadata="https://worldmonitor.app/.well-known/oauth-protected-resource/mcp"

Protected resource metadata

Document https://worldmonitor.app/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://worldmonitor.app/mcp
Authorisation server https://worldmonitor.app

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://worldmonitor.app/mcp Auth required 401
http (plaintext) http://worldmonitor.app/mcp HTTPS enforced 301 https://worldmonitor.app/mcp
MCP tools · 75 exposed · ~12,524 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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
analyze_situation ~130

AI geopolitical situation analysis (DeductionPanel).

NameTypeReqDescription
contextstring–Optional additional geo-political context to include in the analysis
frameworkstring–Optional analytical framework instructions to shape the analysis lens (e.g. Ray Dalio debt cycle, PMESII-PT, Porter's Five Forces)
jmespathstring–Optional 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
analysisstring–Alternate naming for the body.
confidencenumber|string|null––
deductionstring–LLM-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
jmespathstring–Optional 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.
errorstring–Present 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
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
tool_namestringyesExact tool name from tools/list.
NameTypeReqDescription
annotationsobject––
availablearray––
descriptionstring––
errorstring–Present only on user-input failure.
hintstring––
inputSchemaobject––
namestring––
outputSchemaobject––
requestedstring––

No examples provided.

extract_entities ~272

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

NameTypeReqDescription
categorystring–When text is omitted, Restrict to one category from the selected digest variant. full: politics, us, europe, middleeast, tech, ai, finance, commodities, gov, africa, latam, asia, energy, thinktanks,…
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Maximum entities per list. Defaults to 20.
textstring–Optional text to extract from (max 2048 characters; longer input is rejected). When omitted, the tool aggregates entities across recent headlines.
variantstring–Headline digest variant used when text is omitted. Defaults to full; use tech for Tech dashboard categories.
NameTypeReqDescription
categorystring|null–Applied digest category filter in headlines mode; null when scanning every category. Omitted in text mode.
digestCoverageobject––
entitiesarrayyesRegistry-matched entities. In text mode each match carries matchType/matchedText/confidence; in headlines mode entities aggregate to mentionCount/avgConfidence.
errorstring–Present instead of a result when input validation fails.
generatedAtstring–Digest snapshot time (headlines mode only).
headlineCountnumber–Headlines scanned (headlines mode only).
modestringyes"text" when input text was supplied, "headlines" when aggregating the digest.
notestring–Present in headlines mode when category did not match any digest key (typo or missing bucket).
patternEntitiesarrayyes–
variantstring–Applied digest variant in headlines mode. Omitted in text mode.

No examples provided.

generate_forecasts ~103

Generate live AI geopolitical and economic forecasts.

NameTypeReqDescription
domainstring–Forecast domain: "geopolitical", "economic", "military", "climate", or empty for all domains
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
regionstring–Geographic 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 ~102

Live ADS-B aircraft over a country.

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 code (e.g. "IQ"), alpha-3 code ("IRQ"), or English country name ("Iraq")
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
typestring–Filter: all flights (default), civilian only, or military only
NameTypeReqDescription
bounding_boxobject––
civilian_countnumber––
civilian_flightsarray––
country_codestring––
errorstring–Present only on unknown country_code.
military_countnumber––
military_flightsarray––
partialboolean–True 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
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
viewstring–today lists current threshold trips (default); weekly adds trend context.
NameTypeReqDescription
cached_atstring|nullyesOldest fetch time across the contributing feeds.
dataobjectyes–
failed_inputsarray–Subset of unavailable_inputs whose Redis read failed rather than returning a genuine miss.
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…
unavailable_inputsarray–Required 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
countrystring–Filter to one country by name (case-insensitive substring, e.g. "united states").
disrupted_onlyboolean–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.
iatastring–Filter to a single airport by IATA code (e.g. "JFK").
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the alert list to at most this many items (default 30, pass 0 for no cap).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_china_decision_signals ~56

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

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

No examples provided.

get_chokepoint_dependencies ~92

An absent score means insufficient coverage, never zero risk.

NameTypeReqDescription
chokepoint_idstringyesCanonical chokepoint id, such as hormuz_strait or malacca_strait.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
page_sizeinteger–Maximum dependencies. Defaults to 25.
NameTypeReqDescription
chokepointstringyes–
chokepointIdstringyes–
dependenciesarrayyes–
generatedAtstringyes–
methodologyVersionstringyes–
upstreamUnavailablebooleanyes–

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
chokepointstring–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").
datasetarray–Restrict the response to one or more sub-datasets. Omit for the full bundle.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–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-…
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_climate_data ~214

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

NameTypeReqDescription
countrystring–Filter the country-tagged datasets (climate disasters, air-quality stations) to one ISO 3166-1 alpha-2 code. Country names and alpha-3 codes are accepted; unresolved inputs return Invalid params.
datasetarray–Restrict the response to one or more climate sub-datasets. Omit for the full bundle.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap each list dataset (anomalies, disasters, stations, news, alerts) to at most this many items (default 30, pass 0 for no cap).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_commodity_geo ~95

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

NameTypeReqDescription
countrystring–Filter by country name (e.g. "Australia", "Chile")
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
mineralstring–Filter 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_datestring–filings-search only: latest filing date (YYYY-MM-DD).
formsstring–filings-search only: comma-separated form filter, such as "8-K" or "10-K,10-Q".
item_codestring–material-events only: filter to one 8-K item code, such as "5.02".
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Result 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…
namestring–Company 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.
querystring–filings-search only: full-text query. Required for that view.
start_datestring–filings-search only: earliest filing date (YYYY-MM-DD).
tickerstring–Exchange ticker symbol, such as AAPL. Preferred company key for enrichment and signals.
viewstring–Defaults to enrichment.
NameTypeReqDescription
enrichmentobject––
errorstring–Present 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
countrystring–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).
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap each event list to at most this many items (default 30, pass 0 for no cap).
min_fatalitiesnumber–Drop events below this fatality count (UCDP deathsBest / unrest fatalities).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

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).
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
cached_atstring|null––
country_codestring––
dataobject––
errorstring–Present only on user-input failure (missing/unknown country_code).
staleboolean––

No examples provided.

get_country_brief ~179

AI-generated per-country intelligence brief.

NameTypeReqDescription
allow_staleboolean–Ground the brief on a retained (stale) news digest when the live rebuild has failed. Defaults to false, which drops the stale grounding and returns an ungrounded brief rather than failing; time-sensi…
country_codestringyesISO 3166-1 alpha-2 code (e.g. "IQ"), alpha-3 code ("IRQ"), or English country name ("Iraq")
frameworkstring–Optional analytical framework instructions to shape the analysis lens (e.g. Ray Dalio debt cycle, PMESII-PT)
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
briefstring–LLM-synthesized country intelligence brief.
countryCodestring–ISO 3166-1 alpha-2 code, echoed back uppercased.
countryNamestring–Resolved country name, or the ISO code when no name is known.
digestCoverageobject–Freshness metadata for the news digest used to ground this brief. Omitted when the digest fetch failed and the brief was generated without digest grounding.
generatedAtstring|number|null––
groundingStoriesarray–Corroboration signals for the digest articles used to ground this brief, so an agent can weigh how well-reported the underlying claims are. Independent of sources, which may instead carry the server-…
modelstring––
sourcesarray–Original feed articles used as grounding inputs for this brief.

No examples provided.

get_country_coverage ~181

The country panel's own coverage timeline: recent country-relevant headlines plus the clustered incident timeline the Wo

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 code (e.g. "IQ"), alpha-3 code ("IRQ"), or English country name ("Iraq")
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Maximum timeline events to return, keeping the most recent. 0 or omitted means the default 200.
window_hoursinteger–Look-back window in hours. 0 or omitted means the default 168 (7 days), which is what the UI shows. The upstream coverage query is pinned to 7 days, so a larger value is rejected rather than silently…
NameTypeReqDescription
containmentstringyesHow a structured event was tested for being inside the country: "bbox" on this surface. The browser panel tests the loaded country polygon first and falls back to the same box, so a structured event…
countryCodestringyesISO 3166-1 alpha-2 code, echoed back uppercased.
countryNamestringyesResolved country name, or the ISO code when no name is known.
degradedbooleanyesTrue when any producer is "stale" or "failed" — something is wrong now. Never read an empty events list as "nothing happened" while this is true. Deliberately EXCLUDES "unavailable" and "unknown", wh…
eventsarrayyesTimeline incidents, oldest first. One incident is ONE entry however many outlets carried it.
generatedAtstringyesWhen this response was assembled, ISO-8601 UTC.
headlinesarrayyesCountry-relevant articles, newest first. A headline is kept only when this country is mentioned before any other tracked country, so "Israel strikes Iran" belongs to Israel.
sourcesarrayyesPer-producer status, always populated for EVERY producer including the ones that contributed nothing. Read this before interpreting an empty events list.
windowHoursnumberyesLook-back window actually applied, in hours.

No examples provided.

get_country_macro ~181

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

NameTypeReqDescription
countriesarray–ISO 3166-1 alpha-2 country codes to keep across all four IMF datasets (e.g. ["US","DE","CN"]). Omit for all ~210 countries. Country names and alpha-3 codes are accepted; unresolved inputs return Inva…
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–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).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_country_risk ~102

Structured risk intelligence for a specific country: the Composite Instability Index at cii.combinedScore (0-100), its f

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 code (e.g. "IQ"), alpha-3 code ("IRQ"), or English country name ("Iraq")
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
advisoryLevelstringyesGovernment travel-advisory level, e.g. "do-not-travel", "reconsider", "caution". Empty when none.
ciiobject|null–Composite Instability Index score. Absent when the country is not tracked, and always absent when upstreamUnavailable is true.
countryCodestringyesISO 3166-1 alpha-2 code, echoed back uppercased.
countryNamestringyesResolved country name, or the ISO code when no name is known.
fetchedAtnumberyesFreshness stamp taken from cii.computedAt, Unix epoch milliseconds. 0 means unknown, including "no CII score for this country".
sanctionsActivebooleanyesTrue when this country has active OFAC designations.
sanctionsCountnumberyesCount of sanctioned entities associated with this country.
upstreamUnavailablebooleanyesTrue when ANY required upstream read failed. The handler fails closed on the first missing key, so the whole response is withheld: cii is absent and every risk field is zeroed. Those zeros mean UNKNO…

No examples provided.

get_cyber_threats ~239

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

NameTypeReqDescription
countrystring–Filter to one ISO 3166-1 alpha-2 country code (many threats have no country and are dropped by this filter). Country names and alpha-3 codes are accepted; unresolved inputs return Invalid params.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the threat list to at most this many items (default 30, pass 0 for no cap).
min_severitystring–Keep only threats with a known severity at or above this level; exclude missing or unrecognized severities.
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
threat_typestring–Filter to one threat type (case-insensitive substring, e.g. "malware", "vulnerability", "c2").
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_defense_industrial_base ~89

Return one country's latest World Bank military-capacity indicators and SIPRI-derived five-year arms-supplier shares and

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 country code, such as UA, DE, or IN.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
armsExportsTivobjectyes–
armsImportsTivobjectyes–
availablebooleanyes–
countryCodestringyes–
expenditurePctGdpobjectyes–
expenditureUsdobjectyes–
fetchedAtstringyesOldest source timestamp among values served.
industrialFetchedAtstringyesWorld Bank snapshot timestamp for the country metrics served.
personnelobjectyes–
supplierFetchedAtstringyesSIPRI timestamp for this importer row, including its original timestamp when retained.
supplierHhinumberyesHerfindahl-Hirschman concentration from 0 to 1; higher means fewer dominant suppliers.
supplierMappingCoveragenumberyesShare of positive supplier TIV mapped to ISO2 suppliers; HHI uses the full denominator.
supplierRetainedbooleanyesTrue when the importer row was retained after its current SIPRI request failed.
supplierSourcestringyes–
suppliersarrayyes–
windowEndYearintegeryes–
windowStartYearintegeryes–

No examples provided.

get_demographics_capability ~87

Country demographics capability observations from UN WPP, World Bank/UNESCO UIS, and ILOSTAT.

NameTypeReqDescription
country_codestringyesRequired ISO 3166-1 alpha-2 country code (for example "DE"). Case-insensitive.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
ageStructureobject–UN WPP age and working-age population observations. Read each metric available flag before value.
availableboolean–True when at least one validated observation is available.
countryCodestring––
educationobject–World Bank WDI and UNESCO UIS education observations. Read each metric available flag before value.
fetchedAtstring–ISO-8601 snapshot generation time.
industrialWorkforceobject–ILOSTAT workforce observations. The combined trained workforce is available only for a valid same-year ISCO 7+8 cohort.
stagesarray––

No examples provided.

get_displacement_data ~175

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

NameTypeReqDescription
countriesarray–Country names, ISO alpha-2, or alpha-3 codes to keep (e.g. ["Syria","UA","AFG"]). Matches both per-country totals and origin/asylum flows. Omit for all. Unresolved inputs return Invalid params.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the per-country and top-flow lists to at most this many items (default 30, pass 0 for no cap).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_economic_data ~219

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

NameTypeReqDescription
countrystring–Filter the country-keyed datasets (fuel-prices, BIS DSR/property, economic calendar) to one ISO 3166-1 alpha-2 code. Country names and alpha-3 codes are accepted; unresolved inputs return Invalid par…
datasetarray–Restrict the response to one or more sub-datasets. Omit for the full economic bundle.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap each list dataset (calendar, spending, earnings) to at most this many items (default 30, pass 0 for no cap).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_energy_intelligence ~232

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

NameTypeReqDescription
countrystring–Filter the country-keyed datasets (Ember electricity mix, gas storage, fuel shortages, energy disruptions, fossil-share) to one ISO 3166-1 alpha-2 code. Country names and alpha-3 codes are accepted;…
datasetarray–Restrict the response to one or more energy sub-datasets. Omit for the full bundle.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–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).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_eu_housing_cycle ~209

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

NameTypeReqDescription
countriesarray–Eurostat geo codes to keep — ISO 3166-1 alpha-2, but "EL" for Greece, plus aggregates "EA20" and "EU27_2020". Omit for all. Country names and alpha-3 codes are accepted; unresolved inputs return Inva…
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Cap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_eu_industrial_production ~193

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

NameTypeReqDescription
countriesarray–Eurostat geo codes to keep — ISO 3166-1 alpha-2, but "EL" for Greece, plus aggregates "EA20" and "EU27_2020". Omit for all. Country names and alpha-3 codes are accepted; unresolved inputs return Inva…
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Cap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_eu_quarterly_gov_debt ~213

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

NameTypeReqDescription
countriesarray–Eurostat geo codes to keep — ISO 3166-1 alpha-2, but "EL" for Greece, plus aggregates "EA20" and "EU27_2020". Omit for all. Country names and alpha-3 codes are accepted; unresolved inputs return Inva…
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Cap the country map to at most this many entries when no countries filter is supplied (default 30, pass 0 for no cap).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_five_factor_scorecard ~138

Return the frozen v1 food, energy, demographics, technology, and defense scorecard for exactly one country or bloc.

NameTypeReqDescription
country_codestring–ISO 3166-1 alpha-2 country code. Mutually exclusive with preset and members.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
membersarray–Custom bloc of 2-30 unique uppercase ISO-2 member codes. Mutually exclusive with country_code and preset.
presetstring–Official bloc preset. Mutually exclusive with country_code and members.
NameTypeReqDescription
scorecardobject––
unavailablebooleanyes–
unavailableReasonstringyes–

No examples provided.

get_focal_points ~126

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

NameTypeReqDescription
country_codestring–Filter focal points to one country (ISO-2, alpha-3, or English name) and entities the registry relates to it. Countries outside the entity registry return an explicit coverage error.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the focal point list (default 10, pass 0 for no cap).
NameTypeReqDescription
cached_atstring|nullyesOldest fetch time across the contributing feeds.
dataobjectyes–
failed_inputsarray–Subset of unavailable_inputs whose Redis read failed rather than returning a genuine miss.
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…
unavailable_inputsarray–Required cache keys that were missing or unreadable; their contribution is not treated as quiet.

No examples provided.

get_food_stocks ~123

USDA PSD cereal stocks-to-use by marketing year.

NameTypeReqDescription
commoditystring–Optional commodity slug: wheat, corn, rice, soybeans, barley, palmOil. Note palmOil is camelCase; the rest are lowercase. Omit for all six.
country_codestringyesISO 3166-1 alpha-2 country code (e.g. "EG") or "WORLD" for the global balance sheet.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
calorieWeightedStocksToUsenumber––
fetchedAtstring––
recordsarray––
unavailableboolean––

No examples provided.

get_forecast_predictions ~160

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

NameTypeReqDescription
domainstring–Filter to one forecast domain (exact, case-insensitive — e.g. "shipping", "energy", "macro").
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the forecast list to at most this many items (default 30, pass 0 for no cap).
regionstring–Filter to one region/theater (case-insensitive substring).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_forecast_scorecard ~96

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

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_health_signals ~232

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

NameTypeReqDescription
countrystring–Filter outbreaks and air-quality stations to one ISO 3166-1 alpha-2 country code. Country names and alpha-3 codes are accepted; unresolved inputs return Invalid params.
diseasestring–Keep only outbreaks whose disease name contains this text (case-insensitive).
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the outbreak and station lists to at most this many items (default 30, pass 0 for no cap).
min_aqinumber–Drop air-quality stations below this AQI value.
signal_typearray–Restrict to disease outbreaks, air-quality stations, or both. Omit for both.
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

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_idstring–Return only this curated hotspot id (see any full response for the id list).
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap 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–
errorstring–Present only on a user-input failure; the envelope keys are still returned.
failed_inputsarray–Subset of unavailable_inputs whose Redis read failed rather than returning a genuine miss.
known_idsarray–All curated hotspot ids; present only alongside an unknown-hotspot_id error.
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…
unavailable_inputsarray–Required cache keys that were missing or unreadable; their contribution is not treated as quiet.

No examples provided.

get_imd_cyclone_marine ~171

Bounded India Meteorological Department cyclone tracks, forecast wind radii, cones of uncertainty, and official port / s

NameTypeReqDescription
datasetarray–Restrict to cyclone tracks/wind/cones, port warnings, or sea-area/coastal bulletins. Omit for the full snapshot. coverageState and per-product health are always returned.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap each product list to at most this many items (default 30, pass 0 for no cap).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_infrastructure_status ~153

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

NameTypeReqDescription
countrystring–Filter to one country by name (case-insensitive substring).
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the outage list to at most this many items (default 30, pass 0 for no cap).
severitystring–Filter to one outage severity (case-insensitive substring).
summaryboolean–Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in.
NameTypeReqDescription
activationUnknownboolean–Optional. True when an activation marker this tool consults could not be read, so `stale` was computed without knowing whether the producer has ever published. Distinguishes an unreadable marker from…
cached_atstring|nullyesISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present.
contentFreshnessPendingUntilstring–Optional ISO-8601 deadline while a cleanly absent content-freshness block is temporarily covered by deployment-order grace.
dataobjectyes–
stalebooleanyesTrue when any contributing cache key fails its freshness contract: fetched longer ago than its per-key maxStaleMin budget, below a declared minRecordCount, or — for keys that declare a content-age co…

No examples provided.

get_intel_timeline ~203

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

NameTypeReqDescription
countrystring–ISO 3166-1 alpha-2 country code, uppercase, e.g. "UA". Required unless domain is set. Supplying both narrows to their intersection.
domainstring–Restrict to one producing domain. Required unless country is set.
fromnumber–Earliest occurredAt to return, Unix epoch milliseconds, inclusive. Omit for no lower bound.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Maximum events to return. The route returns 40 when this is omitted and caps MCP responses at 40 to stay within the output budget.
tonumber–Latest 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 ~114

Keyword/CVE/APT spikes vs baseline, each with sourceNames and {title, source, link}.

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Maximum spikes returned. Defaults to 10.
min_countinteger–Minimum recent-window story count for a term to spike. Defaults to 5.
window_hoursinteger–Recent 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–
notestring–Present 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.

Common questions

What is the World Monitor MCP server?

World Monitor is an MCP server listed in the public MCP registry as app.worldmonitor/mcp. Live markets, conflicts, country risk, chokepoints, energy, and China decision signals. 86 tools. This page covers its hosted endpoint (https://worldmonitor.app/mcp).

Is the World Monitor MCP server safe to use?

World Monitor scores 39 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the World Monitor MCP server expose?

World Monitor exposes 75 tools: get_toronto_reported_occurrences, get_toronto_calls_attended, get_market_data, get_conflict_events, get_aviation_status, and 70 more. Their descriptions and schemas cost roughly 12,524 tokens of context every time the server is loaded.

Does the World Monitor MCP server require authentication?

Yes. World Monitor asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the World Monitor MCP server still maintained?

World Monitor is still listed as active in the MCP registry. We last reached this channel on 2 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.