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
get_maritime_activity ~86

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

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
bounding_boxobject––
country_codestring––
density_zonesarray––
disruptionsarray––
errorstring–Present only on unknown country_code.
snapshot_atstring––
total_disruptionsnumber––
total_zonesnumber––

No examples provided.

get_market_data ~243

Real-time equity quotes, commodity prices, SGE physical-vs-COMEX premiums, physical-divergence regimes and trends, crypt

NameTypeReqDescription
asset_classarray–Restrict the response to one or more asset classes. Omit for all.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–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).
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.
symbolsarray–Tickers to keep, e.g. ["AAPL","GC=F","BTC"]. Case-insensitive; matches equity/commodity/crypto/gulf quotes, physical-premium and divergence aliases (gold/XAU/GC=F, silver/XAG/SI=F), sector ETFs, and…
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_military_posture ~159

Theater posture assessment and military risk scores.

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the theaters list to at most this many items (default 30, pass 0 for no cap).
posture_levelstring–Filter to a single posture level.
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.
theaterstring–Filter to one theater by id (case-insensitive substring, e.g. "iran", "taiwan", "baltic", "korea").
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_military_surge ~80

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

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
theaterstring–Filter to one theater by id or name substring (case-insensitive).
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_mineral_production ~124

Who mines and who refines a commodity, with country shares and HHI.

NameTypeReqDescription
commoditystring–Commodity id or label, e.g. "cobalt", "lithium", "ree"
iso2string–ISO 3166-1 alpha-2 producer filter, e.g. "CL"
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
stagestring–Mine or refinery/smelter stage. Omit for both.
NameTypeReqDescription
commoditiesarray––
countriesarray––
dataYearnumber––
fetchedAtstring––
upstreamUnavailableboolean––

No examples provided.

get_natural_disasters ~199

Recent M4.5+ earthquakes (USGS and Earthquakes Canada / NRCan), active wildfires (NASA FIRMS), and natural hazard events

NameTypeReqDescription
active_onlyboolean–Keep only natural events that are still active (not closed).
datasetarray–Restrict to one or more hazard datasets (earthquakes / wildfires / other natural events). Omit for all.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap each hazard list to at most this many items (default 30, pass 0 for no cap).
min_magnitudenumber–Drop earthquakes and natural events below this magnitude.
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_news_clusters ~311

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

NameTypeReqDescription
categorystring–Restrict to one category from the selected digest variant. full: politics, us, europe, middleeast, tech, ai, finance, commodities, gov, africa, latam, asia, energy, thinktanks, crisis, layoffs, intel…
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Maximum clusters returned. Defaults to 10.
min_sourcesinteger–Only return clusters carrying at least this many DISTINCT sources (outlets), not merely this many member headlines. Defaults to 1.
querystring–Keep only clusters whose primary headline or any member headline contains this text (case-insensitive substring). Filters the LIVE digest window only — not a historical index. Applied before limit, s…
variantstring–Headline digest variant. Defaults to full; use tech for Tech dashboard categories.
NameTypeReqDescription
categorystring|nullyesApplied digest category filter; null when clustering every category.
clustersarrayyes–
digestCoverageobject––
errorstring–Present when variant validation fails.
generatedAtstringyes–
headlineCountnumberyes–
notestring–Present when category did not match any digest key (typo or missing bucket).
totalClustersnumberyesCluster count before limit/min_sources filtering.
variantstring–Applied digest variant.

No examples provided.

get_news_intelligence ~375

AI-classified geopolitical threat news summaries, GDELT intelligence signals, cross-source signals including physical-pr

NameTypeReqDescription
alerts_onlyboolean–Keep only top stories flagged as alerts.
categorystring–Filter top news stories to one category (e.g. "conflict", "economy"; fallback is "general").
countrystring–Filter top stories and travel advisories to one ISO 3166-1 alpha-2 country code (case-insensitive). 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 each list (top stories, signals, advisories) to at most this many items (default 30, pass 0 for no cap). Applied AFTER query and min_importance, so a capped list is drawn from the matches.
min_importancenumber–Keep only top stories whose effectiveImportanceScore is at least this value. 0 is honoured as a real floor rather than treated as absent; a story carrying no score is excluded when this is set, never…
querystring–Keep only top stories whose headline, primary source, or any clustered member headline contains this text (case-insensitive substring). This filters the LIVE news window only — it is not a historical…
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.
topicstring–Filter GDELT intelligence to a single topic.
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_population_exposure ~175

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

NameTypeReqDescription
event_sourcestring–Which event feeds to enrich in events mode (default all).
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
latnumber–Latitude for point mode.
limitnumber–Cap the enriched event list in events mode (default 20, pass 0 for no cap).
lonnumber–Longitude for point mode.
modestring–events enriches live feeds (default); point takes lat/lon; countries lists the population table.
radius_kmnumber–Radius in km for point mode (default 50, clamped to 1000).
NameTypeReqDescription
cached_atstring|nullyesOldest fetch time across the feeds read; null in point and countries modes.
dataobjectyes–
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.
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_positive_events ~129

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

NameTypeReqDescription
categorystring–Filter to one positive-event category.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the event 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_prediction_markets ~210

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

NameTypeReqDescription
categorystring–Restrict to one market category bucket. Omit for all three. Finance also owns untagged non-geopolitical records.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap each category bucket to at most this many markets (default 30, pass 0 for no cap).
querystring–Keep only markets whose title contains this text (case-insensitive).
sourcestring–Filter to one prediction-market source. Kalshi currently provides no classifier tags, so source=kalshi with category=tech returns no records.
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_procurement_opportunities ~301

Search open global public-procurement opportunities through the canonical Pro route.

NameTypeReqDescription
buyerstring–Case-insensitive buyer or contracting-authority text.
countriesarray–Additional ISO 3166-1 alpha-2 country codes. Combined with country.
countrystring–One ISO 3166-1 alpha-2 country code.
cursorstring–Opaque nextCursor from the prior result; keep the same filters and sort when continuing.
deadline_fromstring–Include deadlines on or after this ISO-8601 timestamp.
deadline_tostring–Include deadlines on or before this ISO-8601 timestamp.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
min_automation_scoreinteger–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_sizeinteger–Records per call. Defaults to 10; capped at 25 to protect agent context.
querystring–Case-insensitive text search across procurement titles and descriptions.
sortstring–Result ordering. Defaults to newest.
sourcestring–Official source adapter, such as sam, ted, contracts-finder, canada-buys, gets, or world-bank.
NameTypeReqDescription
appliedFiltersarrayyes–
availabilitystringyes–
countryCoveragestringyesunknown means the requested country has not been observed in this snapshot, not that there are confirmed zero results.
dataAvailablebooleanyes–
fetchedAtstringyes–
nextCursorstringyesOpaque pagination cursor. An empty string means no further pages are available.
opportunitiesarrayyes–
sourceStatusesarrayyes–
totalnumberyes–

No examples provided.

get_radiation_data ~149

Radiation observation levels from global monitoring stations.

NameTypeReqDescription
anomalous_onlyboolean–Drop observations with severity "normal" — keep only elevated/spike readings.
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 observation 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_research_signals ~157

Tech and research event signals: emerging technology events bootstrap data from curated research feeds.

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the event list to at most this many items (default 30, pass 0 for no cap).
sourcestring–Filter to one source feed (e.g. "techmeme", "dev.events", "curated").
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.
typestring–Filter to one tech-event type.
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_resilience_indicators ~78

Explain one country's resilience score across all 72 registered indicators.

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
constructVersionsobject––
countryCodestring––
dataVersionstring–Source snapshot version used for the score.
dimensionsarray––
formulastring–Active score formula tag, for example d6 or pc.
indicatorsarray––
methodologystring–Stable contribution-reconciliation method identifier.
schemaVersionstring–Public resilience score schema version.

No examples provided.

get_sanctions_data ~215

OFAC SDN sanctioned entities list and sanctions pressure scores by country.

NameTypeReqDescription
countrystring–Filter sanctioned entities and pressure scores to one ISO 3166-1 alpha-2 country code. Country names and alpha-3 codes are accepted; unresolved inputs return Invalid params.
entity_typestring–Filter to one entity type (case-insensitive substring, e.g. "vessel", "aircraft", "person", "entity").
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the entity list and recent pressure entries to at most this many items (default 30, pass 0 for no cap).
querystring–Keep only sanctioned entities whose name contains this text (case-insensitive).
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_signal_convergence ~175

Geographic signal convergence: grid cells where protests, military activity, naval movements, and earthquakes co-occur.

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
latnumber–Latitude of the area of interest; requires lon and radius_km as well.
lonnumber–Longitude of the area of interest; requires lat and radius_km as well.
min_domainsnumber–Distinct signal domains required per cell, 2-5 (default 3); 5 is a compatibility safety threshold that yields no alerts while four domains are ingested.
radius_kmnumber–Positive radius in km around lat/lon to keep alerts for; requires lat and lon (maximum 20,000).
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.
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_similar_events ~205

Historical precedents for a situation you describe, drawn from WorldMonitor's accumulating event store (Pro).

NameTypeReqDescription
countrystring–ISO 3166-1 alpha-2 country code, uppercase, e.g. "EG". Omit to search every country — usually the right choice, since a precedent elsewhere is still a precedent.
domainstring–Restrict precedents to one producing domain. Omit to search every domain.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitinteger–Maximum precedents to return. The route returns 8 when this is omitted and caps MCP responses at 8 to stay within the output budget.
situationstringyesDescription of the situation to find precedents for, e.g. "a naval blockade closes a major grain export corridor for weeks". Longer than a search phrase on purpose — more context ranks better.
NameTypeReqDescription
partialbooleanyesTrue when the bounded candidate window may omit further precedents; do not treat an empty result as proof of novelty.
recordsarrayyesPrecedents, most similar first.
situationstringyesEcho of the submitted situation text, so a caller running several lookups can pair each response back to its input.
upstreamUnavailablebooleanyesTrue when the embedding provider or the history store could not be reached. `records` is then empty because the lookup failed — never read that as "no precedent exists".

No examples provided.

get_social_velocity ~146

Reddit geopolitical social velocity: top posts from worldnews, geopolitics, and related subreddits with engagement score

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the post list to at most this many items (default 30, pass 0 for no cap).
subredditstring–Filter to one subreddit (e.g. "worldnews", "geopolitics").
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_sources ~318

WorldMonitor's live source inventory, for deciding whether and how far to trust what the other tools return.

NameTypeReqDescription
countrystring–providers view only: restrict by publisher origin using a two-letter country code or intl for international sources. Case-insensitive.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
kindstring–providers view only: restrict to one kind — feed, structured, feed+structured, or operational-status.
limitinteger–Maximum rows in an enumerated view. Defaults to 50, capped at 200. Ignored by the summary view. The full provider inventory does not fit one response, so a truncated result sets returned < matched.
platformstring–outlets view only: restrict to source identities configured on a platform such as telegram.
querystring–Case-insensitive substring match — against host and provider in the providers view, against outlet name in the outlets view. Applied before limit.
riskstring–outlets view only: restrict to one declared propaganda-risk band.
tierinteger–outlets view only: restrict to one editorial tier. 1 is a wire or primary outlet. Outlets with no declared tier are never returned by this filter, because their tier is unknown rather than 4.
viewstring–summary (default) returns counts only and is small. providers enumerates upstream hosts; outlets enumerates named public source identities with tier and provenance.
NameTypeReqDescription
errorstring–Present when input validation fails. Required summary counts remain available.
matchednumber–Rows matching the filters before the limit was applied. Present in enumerated views.
outletsarray–Present only in the outlets view.
providersarray–Present only in the providers view.
returnednumber–Rows actually returned. Less than matched means the limit truncated the result.
summaryobjectyesAlways present, in every view, so counts are available without a second call.
viewstringyes–

No examples provided.

get_supply_chain_data ~233

Dry bulk shipping stress index, customs revenue flows, and COMTRADE bilateral trade data.

NameTypeReqDescription
commoditystring–Filter COMTRADE flows to one commodity — matches the HS code exactly or the commodity description by substring (e.g. "2709" or "crude").
datasetarray–Restrict the response to one or more sub-datasets (dry-bulk shipping stress / customs revenue / COMTRADE flows). Omit for all.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap each list dataset (carriers, months, flows) to at most this many items (default 30, pass 0 for no cap).
reporterstring–Filter COMTRADE flows to one reporter by numeric reporter code or reporter name (e.g. "156" or "China").
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_supply_vulnerabilities ~76

An absent score means insufficient evidence, never zero risk.

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 country code, such as AE, JP, or DE.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
countrystringyes–
generatedAtstringyes–
iso2stringyes–
methodologyVersionstringyes–
upstreamUnavailablebooleanyes–
vulnerabilitiesarrayyes–

No examples provided.

get_tariff_trends ~239

Global trade and pricing indicators: US tariff trends (HTS-coded), BigMac index, FAO Food Price Index, and per-country n

NameTypeReqDescription
countrystring–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.…
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 each list dataset (tariff datapoints, BigMac countries, debt entries) 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_temporal_anomalies ~195

Temporal anomaly watch: current event counts vs day-of-week and seasonal baselines, scored by z-score severity.

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the anomaly list to at most this many items (default 30, pass 0 for no cap).
min_severitystring–Drop anomalies below this severity band.
regionstring–Filter to one region label (case-insensitive exact match).
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.
typestring–Filter to one tracked stream type (e.g. "news", "satellite_fires"); see trackedTypes in the response for what is currently baselined.
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_test_site_seismicity ~166

Nuclear test-site seismic monitor: USGS earthquakes near known test sites scored for proliferation concern.

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Cap the event list to at most this many items (default 30, pass 0 for no cap).
min_concernstring–Drop events below this concern band.
sitestring–Filter to one test site by name substring (e.g. "Punggye", "Lop Nur", case-insensitive).
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_toronto_calls_attended ~147

Bounded Toronto Police Service Calls for Service Attended annual aggregates.

NameTypeReqDescription
divisionstring–Case-insensitive original or final TPS division filter.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Maximum rows to return, from 1 to 100 (default 50).
neighbourhoodstring–Case-insensitive neighbourhood filter.
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.
yearnumber–Exact event year.
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_toronto_reported_occurrences ~144

Bounded Toronto Police Service Major Crime Indicators rows.

NameTypeReqDescription
divisionstring–Case-insensitive TPS division filter.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Maximum rows to return, from 1 to 100 (default 50).
neighbourhoodstring–Case-insensitive neighbourhood filter.
offencestring–Case-insensitive offence filter.
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_world_brief ~84

Citation-grounded world intelligence brief from the same precomputed news:insights:v1 snapshot used by the dashboard.

NameTypeReqDescription
geo_contextstring–Deprecated compatibility field; the precomputed global snapshot is not regenerated or refocused per request.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
ageMinutesnumber–Whole minutes between generatedAt and the response. Always present. Capped at 3h: past that the tool reports the source unavailable rather than serving it. The cap is enforced against generatedAt, NO…
briefstring–Citation-grounded brief from the dashboard insights snapshot.
generatedAtstring|number|null––
headlinesarray––
modelstring–LLM model used by the insights seeder.
providerstring–LLM provider used by the insights seeder.
sourcesarray–Producer citation records in original order; empty URLs are retained as fallbacks so citation indexes cannot shift.
staleboolean–True when the snapshot is older than the 60-minute freshness gate and is being served as last-known-good because the seeder has not published since. Always present, on fresh responses too. The conten…
summarystring–Alternate naming used by some upstream variants.
topStoriesarray–Corroboration evidence for each entry in headlines, index-aligned: topStories[i] describes headlines[i]. Published by the insights seeder, so no request-time computation is involved. Fields unavailab…

No examples provided.

get_wto_trade_flows ~152

WTO merchandise trade flows for one reporting country versus the World, over a configurable year window.

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
reporterstring–WTO reporting country as a 3-digit UN M49 code (e.g. "840" = United States). Defaults to "840". The only partner served is the World ("000"); any other partner answers not_covered.
yearsinteger–Number of years to look back from the most recent published year, inclusive of both endpoints (10 returns 11 calendar years). Defaults to 10; 30 is the full seeded window.
NameTypeReqDescription
coverageEndYearinteger–Most recent calendar year in the served window; 0 when no flows are served.
coverageStartYearinteger–First calendar year in the served window; 0 when no flows are served.
fetchedAtstring–ISO timestamp when WTO was read by the seeder. Empty when no flows are served.
flowsarrayyes–
unavailableReasonstringyesTRADE_FLOW_UNAVAILABLE_REASON_UNSPECIFIED when flows are served; otherwise WHY no rows returned. NOT_COVERED is a contract answer (a retry cannot help); the rest name faults.
upstreamUnavailablebooleanyesTrue when a fault prevented serving flows; false both when served and when the combination is simply not covered.

No examples provided.

list_five_factor_scorecards ~59

List compact v1 scorecards; read hasScore first because false makes numeric zero an insufficient-data placeholder.

NameTypeReqDescription
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
NameTypeReqDescription
computedAtstringyes–
methodologyVersionstringyes–
scorecardsarrayyes–
unavailablebooleanyes–
unavailableReasonstringyes–

No examples provided.

list_x_feed ~98

Curated public news-account posts from monitored X accounts.

NameTypeReqDescription
accountstring–Optional account handle without @
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
limitnumber–Maximum posts to return (1-200, default 50)
topicstring–Optional topic filter such as breaking, conflict, geopolitics, cyber
NameTypeReqDescription
countnumber––
enabledboolean–Whether the ais-relay X poller currently has credentials.
errorstring––
postsarray––

No examples provided.

search_flight_prices_by_date ~254

Search Google Flights date-grid pricing across a date range.

NameTypeReqDescription
cabin_classstring–Cabin class: "economy", "premium_economy", "business", or "first" (optional, default economy)
destinationstringyesIATA code for the arrival airport, e.g. "LHR"
end_datestringyesEnd of the date range in YYYY-MM-DD format
is_round_tripboolean–Whether to search round-trip prices (default false). Requires trip_duration when true.
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
originstringyesIATA code for the departure airport, e.g. "JFK"
passengersnumber–Number of passengers (1-9, default 1)
sort_by_priceboolean–Sort results by price ascending (default false, sorts by date)
start_datestringyesStart of the date range in YYYY-MM-DD format
trip_durationnumber–Trip duration in days — required when is_round_trip is true (e.g. 7 for a one-week trip)
NameTypeReqDescription
degradedboolean–True when the upstream search failed or returned partial results.
errorstring––
pricesarray––
search_metadataobject|null––

No examples provided.

search_flights ~251

Search Google Flights for real-time flight options between two airports on a specific date.

NameTypeReqDescription
cabin_classstring–Cabin class: "economy", "premium_economy", "business", or "first" (optional, default economy)
departure_datestringyesDeparture date in YYYY-MM-DD format
destinationstringyesIATA code for the arrival airport, e.g. "LHR"
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
max_stopsstring–Max stops: "0" or "non_stop" for nonstop, "1" or "one_stop" for max one stop, or omit for any (optional)
originstringyesIATA code for the departure airport, e.g. "JFK"
passengersnumber–Number of passengers (1-9, default 1)
return_datestring–Return date in YYYY-MM-DD format for round trips (optional)
sort_bystring–Sort order: "price" (cheapest), "duration", "departure", or "arrival" (optional)
NameTypeReqDescription
degradedboolean–True when the upstream search failed or returned no usable results.
errorstring–Present when upstream returned a usable error message.
flightsarray––
search_metadataobject|null––

No examples provided.

search_intel_history ~257

Semantic search over WorldMonitor's accumulating store of past intelligence events (Pro), ranked by similarity.

NameTypeReqDescription
countrystring–ISO 3166-1 alpha-2 country code, uppercase, e.g. "UA". Omit to search every country. Events not attributable to a single country are excluded when this is set.
domainstring–Restrict to one producing domain. Omit to search every domain.
fromnumber–Earliest occurredAt to consider, 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 matches to return. The route returns 16 when this is omitted and caps MCP responses at 16 to stay within the output budget.
querystringyesFree-text search phrase, e.g. "artillery strikes near Kharkiv". Embedded with the same model the stored vectors were written under, so phrasing close to how an analyst would describe the event ranks…
tonumber–Latest occurredAt to consider, Unix epoch milliseconds, inclusive. Omit for no upper bound.
NameTypeReqDescription
partialbooleanyesTrue when the bounded candidate window may omit further matches; do not treat the result as exhaustive.
querystringyesEcho of the submitted query, so a caller running several searches can pair each response back to its input.
recordsarrayyesMatching events, most similar first.
upstreamUnavailablebooleanyesTrue when the embedding provider or the history store could not be reached. `records` is then empty because the lookup failed — never read that as "no event matched".

No examples provided.

simulate_infrastructure_cascade ~104

Infrastructure cascade simulation: what fails downstream when a cable, chokepoint, pipeline, or port is disrupted.

NameTypeReqDescription
disruption_levelnumber–Initial failure severity between 0.1 and 1 (default 1).
jmespathstring–Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples.
source_idstring–Node id to disrupt (see the no-argument catalog for valid ids).
NameTypeReqDescription
cached_atstring|nullyesFetch time of the seeded cable table.
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_id_samplearray–Sample of valid node ids; present only alongside an unknown-source_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.

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.