World Monitor
REMOTE · WORLDMONITOR.APP · SCANNED AUG 3
Live global intelligence: real-time markets, conflicts, country risk, chokepoints, energy. 39 tools.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security97
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability74
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 11299 tokens (~161/item across 70 items; 59 tools + 11 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities73
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
- Supports UI / widget rendering.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · worldmonitor.app
claude mcp add --transport http app-worldmonitor-mcp https://worldmonitor.app/mcp
[mcp_servers.app-worldmonitor-mcp] url = "https://worldmonitor.app/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"app-worldmonitor-mcp": {
"type": "remote",
"url": "https://worldmonitor.app/mcp",
"enabled": true
}
}
} openclaw mcp add app-worldmonitor-mcp --url https://worldmonitor.app/mcp --transport streamable-http
mcp_servers:
app-worldmonitor-mcp:
url: "https://worldmonitor.app/mcp" {
"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.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +6
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: unverified → good ▲ functional
- 1 Aug 26 −5
- Schema quality: good → unverified ▼ functional
- 31 Jul 26 +6
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −2
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: excellent → good functional
- 28 Jul 26 +2
- Schema quality: 8361 → 10913 ▼ functional
- Schema quality: good → excellent functional
- New tool “get_temporal_anomalies” functional
- New tool “simulate_infrastructure_cascade” functional
- New tool “get_test_site_seismicity” functional
- New tool “get_population_exposure” functional
- New tool “get_signal_convergence” functional
- New tool “get_alert_digest” functional
- New tool “get_focal_points” functional
- New tool “get_hotspot_escalation” functional
- New tool “get_military_surge” functional
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 74
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://worldmonitor.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=worldmonitor.app | CN=WE1,O=Google Trust Services,C=US | 12 Jun 2026 | 10 Sept 2026 | ECDSA 256 | ECDSA-SHA256 | 32199b101741c7380e5ece53b4d2579f |
| SANs: worldmonitor.app, *.worldmonitor.app | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC secure
Validation of worldmonitor.app. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| worldmonitor.app. | present | 2371 | 13 | Verified |
| worldmonitor.app. | Verified address RRset verified with the apex keys |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="worldmonitor", resource_metadata="https://worldmonitor.app/.well-known/oauth-protected-resource"
Bearer realm="worldmonitor", resource_metadata="https://worldmonitor.app/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; connect-src 'self' https: wss: blob: data: https://*.ingest.sentry.io https://*.ingest.us.sentry.io; img-src 'self' data: blob: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'strict-dynamic' 'nonce-wm-static-bootstrap' 'sha256-+SFBjfmi2XfnyAT3POBxf6JIKYDcNXtllPclOcaNBI0=' 'sha256-3/K7+8jjohqOycLFHTiHAtlLN4tX5Mvjr+TCvgNkT14=' 'sha256-8+wzVMOmlqUDa/kK12C8s5ulmSbmXZ1nd8SPraxR5w4=' 'sha256-Jgh3W4Qj3HWZPVSti0C073yuiaz611LO8OZRUCsN0x8=' 'sha256-cgrDa2h6Yh+4VaEwqDCdQb4x8bw4aCvdbx6FQl/kKLQ=' 'sha256-lKs3SvF31U/ZDoqILsGd1YpSh0LSw9Xlo0hNHcX8Wqk=' 'sha256-qFSeUweakvZf90cHXTBJlSgrlZOixT+/ph7kpKeRYL0=' 'sha256-r9xS8+gjLrjT4DJU5lt/WJQe6pg5FjJc8ahnW7oDM54=' 'wasm-unsafe-eval'; worker-src 'self' blob:; font-src 'self' data:; media-src 'self' data: blob: https:; frame-src 'self' https://www.worldmonitor.app https://worldmonitor.app https://tech.worldmonitor.app https://finance.worldmonitor.app https://commodity.worldmonitor.app https://happy.worldmonitor.app https://energy.worldmonitor.app ht |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(self), accelerometer=(), autoplay=(self "https://www.youtube.com" "https://www.youtube-nocookie.com"), bluetooth=(), display-capture=(), encrypted-media=(self "https://www.youtube.com" "https://www.youtube-nocookie.com"), gyroscope=(), hid=(), idle-detection=(), magnetometer=(), midi=(), payment=(self "https://checkout.dodopayments.com" "https://test.checkout.dodopayments.com" "https://pay.google.com" "https://hooks.stripe.com" "https://js.stripe.com"), picture-in-picture=(self "https://www.youtube.com" "https://www.youtube-nocookie.com" "https://challenges.cloudflare.com"), unload=(*), screen-wake-lock=(), serial=(), usb=(), xr-spatial-tracking=("https://challenges.cloudflare.com") |
Protected resource metadata
| Document | https://worldmonitor.app/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://worldmonitor.app |
| Authorisation server | https://worldmonitor.app |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://worldmonitor.app/mcp | Verified | 200 | |
| http (plaintext) | http://worldmonitor.app/mcp | HTTPS enforced | 301 | https://worldmonitor.app/mcp |
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.
get_procurement_opportunities ~301
Search open global public-procurement opportunities through the canonical Pro route.
| Name | Type | Req | Description |
|---|---|---|---|
| buyer | string | — | Case-insensitive buyer or contracting-authority text. |
| countries | array | — | Additional ISO 3166-1 alpha-2 country codes. Combined with country. |
| country | string | — | One ISO 3166-1 alpha-2 country code. |
| cursor | string | — | Opaque nextCursor from the prior result; keep the same filters and sort when continuing. |
| deadline_from | string | — | Include deadlines on or after this ISO-8601 timestamp. |
| deadline_to | string | — | Include deadlines on or before this ISO-8601 timestamp. |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| min_automation_score | integer | — | Optional positive keyword-relevance threshold. Non-integer or non-positive values are ignored; the canonical route clamps values above 100. This is not bidding-eligibility evidence. |
| page_size | integer | — | Records per call. Defaults to 10; capped at 25 to protect agent context. |
| query | string | — | Case-insensitive text search across procurement titles and descriptions. |
| sort | string | — | Result ordering. Defaults to newest. |
| source | string | — | Official source adapter, such as sam, ted, contracts-finder, canada-buys, gets, or world-bank. |
| Name | Type | Req | Description |
|---|---|---|---|
| appliedFilters | array | yes | — |
| availability | string | yes | — |
| countryCoverage | string | yes | unknown means the requested country has not been observed in this snapshot, not that there are confirmed zero results. |
| dataAvailable | boolean | yes | — |
| fetchedAt | string | yes | — |
| nextCursor | string | yes | Opaque pagination cursor. An empty string means no further pages are available. |
| opportunities | array | yes | — |
| sourceStatuses | array | yes | — |
| total | number | yes | — |
No examples provided.
get_radiation_data ~149
Radiation observation levels from global monitoring stations.
| Name | Type | Req | Description |
|---|---|---|---|
| anomalous_only | boolean | — | Drop observations with severity "normal" — keep only elevated/spike readings. |
| country | string | — | Filter to one country by name (case-insensitive substring). |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | number | — | Cap the observation list to at most this many items (default 30, pass 0 for no cap). |
| summary | boolean | — | Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in. |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | ISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present. |
| data | object | yes | — |
| stale | boolean | yes | True when any contributing cache key is older than its per-key maxStaleMin freshness budget. |
No examples provided.
get_research_signals ~157
Tech and research event signals: emerging technology events bootstrap data from curated research feeds.
| Name | Type | Req | Description |
|---|---|---|---|
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | number | — | Cap the event list to at most this many items (default 30, pass 0 for no cap). |
| source | string | — | Filter to one source feed (e.g. "techmeme", "dev.events", "curated"). |
| summary | boolean | — | Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in. |
| type | string | — | Filter to one tech-event type. |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | ISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present. |
| data | object | yes | — |
| stale | boolean | yes | True when any contributing cache key is older than its per-key maxStaleMin freshness budget. |
No examples provided.
get_sanctions_data ~199
OFAC SDN sanctioned entities list and sanctions pressure scores by country.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | Filter sanctioned entities and pressure scores to one ISO 3166-1 alpha-2 country code. |
| entity_type | string | — | Filter to one entity type (case-insensitive substring, e.g. "vessel", "aircraft", "person", "entity"). |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | number | — | Cap the entity list and recent pressure entries to at most this many items (default 30, pass 0 for no cap). |
| query | string | — | Keep only sanctioned entities whose name contains this text (case-insensitive). |
| summary | boolean | — | Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in. |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | ISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present. |
| data | object | yes | — |
| stale | boolean | yes | True when any contributing cache key is older than its per-key maxStaleMin freshness budget. |
No examples provided.
get_signal_convergence ~175
Geographic signal convergence: grid cells where protests, military activity, naval movements, and earthquakes co-occur.
| Name | Type | Req | Description |
|---|---|---|---|
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| lat | number | — | Latitude of the area of interest; requires lon and radius_km as well. |
| lon | number | — | Longitude of the area of interest; requires lat and radius_km as well. |
| min_domains | number | — | 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_km | number | — | Positive radius in km around lat/lon to keep alerts for; requires lat and lon (maximum 20,000). |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | Oldest fetch time across the contributing feeds. |
| data | object | yes | — |
| error | string | — | Present only on a user-input failure; the envelope keys are still returned. |
| failed_inputs | array | — | Subset of unavailable_inputs whose Redis read failed rather than returning a genuine miss. |
| stale | boolean | yes | True when any contributing feed is older than its freshness budget. |
| unavailable_inputs | array | — | 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).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | 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. |
| domain | string | — | Restrict precedents to one producing domain. Omit to search every domain. |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | integer | — | Maximum precedents to return. The route returns 8 when this is omitted and caps MCP responses at 8 to stay within the output budget. |
| situation | string | yes | Description 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| partial | boolean | yes | True when the bounded candidate window may omit further precedents; do not treat an empty result as proof of novelty. |
| records | array | yes | Precedents, most similar first. |
| situation | string | yes | Echo of the submitted situation text, so a caller running several lookups can pair each response back to its input. |
| upstreamUnavailable | boolean | yes | True 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
| Name | Type | Req | Description |
|---|---|---|---|
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | number | — | Cap the post list to at most this many items (default 30, pass 0 for no cap). |
| subreddit | string | — | Filter to one subreddit (e.g. "worldnews", "geopolitics"). |
| summary | boolean | — | Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in. |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | ISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present. |
| data | object | yes | — |
| stale | boolean | yes | True when any contributing cache key is older than its per-key maxStaleMin freshness budget. |
No examples provided.
get_supply_chain_data ~233
Dry bulk shipping stress index, customs revenue flows, and COMTRADE bilateral trade data.
| Name | Type | Req | Description |
|---|---|---|---|
| commodity | string | — | Filter COMTRADE flows to one commodity — matches the HS code exactly or the commodity description by substring (e.g. "2709" or "crude"). |
| dataset | array | — | Restrict the response to one or more sub-datasets (dry-bulk shipping stress / customs revenue / COMTRADE flows). Omit for all. |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | number | — | Cap each list dataset (carriers, months, flows) to at most this many items (default 30, pass 0 for no cap). |
| reporter | string | — | Filter COMTRADE flows to one reporter by numeric reporter code or reporter name (e.g. "156" or "China"). |
| summary | boolean | — | Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in. |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | ISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present. |
| data | object | yes | — |
| stale | boolean | yes | True when any contributing cache key is older than its per-key maxStaleMin freshness budget. |
No examples provided.
get_tariff_trends ~223
Global trade and pricing indicators: US tariff trends (HTS-coded), BigMac index, FAO Food Price Index, and per-country n
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | 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. |
| dataset | array | — | Restrict the response to one or more sub-datasets. Omit for the full bundle. |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | number | — | Cap each list dataset (tariff datapoints, BigMac countries, debt entries) to at most this many items (default 30, pass 0 for no cap). |
| summary | boolean | — | Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in. |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | ISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present. |
| data | object | yes | — |
| stale | boolean | yes | True when any contributing cache key is older than its per-key maxStaleMin freshness budget. |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | number | — | Cap the anomaly list to at most this many items (default 30, pass 0 for no cap). |
| min_severity | string | — | Drop anomalies below this severity band. |
| region | string | — | Filter to one region label (case-insensitive exact match). |
| summary | boolean | — | Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in. |
| type | string | — | Filter to one tracked stream type (e.g. "news", "satellite_fires"); see trackedTypes in the response for what is currently baselined. |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | ISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present. |
| data | object | yes | — |
| stale | boolean | yes | True when any contributing cache key is older than its per-key maxStaleMin freshness budget. |
No examples provided.
get_test_site_seismicity ~166
Nuclear test-site seismic monitor: USGS earthquakes near known test sites scored for proliferation concern.
| Name | Type | Req | Description |
|---|---|---|---|
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | number | — | Cap the event list to at most this many items (default 30, pass 0 for no cap). |
| min_concern | string | — | Drop events below this concern band. |
| site | string | — | Filter to one test site by name substring (e.g. "Punggye", "Lop Nur", case-insensitive). |
| summary | boolean | — | Return counts + 3-item samples instead of full lists. Useful when you only need shape/size or want to budget context before drilling in. |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | ISO-8601 timestamp of the OLDEST contributing cache key, or null when no valid seed-meta is present. |
| data | object | yes | — |
| stale | boolean | yes | True when any contributing cache key is older than its per-key maxStaleMin freshness budget. |
No examples provided.
get_world_brief ~67
AI-generated world intelligence brief.
| Name | Type | Req | Description |
|---|---|---|---|
| geo_context | string | — | Optional focus context (e.g. "Middle East tensions", "US-China trade war") |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| Name | Type | Req | Description |
|---|---|---|---|
| brief | string | — | LLM-summarized geopolitical brief. |
| generatedAt | string|number|null | — | — |
| headlines | array | — | — |
| model | string | — | — |
| provider | string | — | — |
| sources | array | — | Original feed articles used as grounding inputs for this brief. |
| summary | string | — | Alternate naming used by some upstream variants. |
No examples provided.
search_flight_prices_by_date ~254
Search Google Flights date-grid pricing across a date range.
| Name | Type | Req | Description |
|---|---|---|---|
| cabin_class | string | — | Cabin class: "economy", "premium_economy", "business", or "first" (optional, default economy) |
| destination | string | yes | IATA code for the arrival airport, e.g. "LHR" |
| end_date | string | yes | End of the date range in YYYY-MM-DD format |
| is_round_trip | boolean | — | Whether to search round-trip prices (default false). Requires trip_duration when true. |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| origin | string | yes | IATA code for the departure airport, e.g. "JFK" |
| passengers | number | — | Number of passengers (1-9, default 1) |
| sort_by_price | boolean | — | Sort results by price ascending (default false, sorts by date) |
| start_date | string | yes | Start of the date range in YYYY-MM-DD format |
| trip_duration | number | — | Trip duration in days — required when is_round_trip is true (e.g. 7 for a one-week trip) |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | — | — |
| prices | array | — | — |
| search_metadata | object|null | — | — |
No examples provided.
search_flights ~251
Search Google Flights for real-time flight options between two airports on a specific date.
| Name | Type | Req | Description |
|---|---|---|---|
| cabin_class | string | — | Cabin class: "economy", "premium_economy", "business", or "first" (optional, default economy) |
| departure_date | string | yes | Departure date in YYYY-MM-DD format |
| destination | string | yes | IATA code for the arrival airport, e.g. "LHR" |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| max_stops | string | — | Max stops: "0" or "non_stop" for nonstop, "1" or "one_stop" for max one stop, or omit for any (optional) |
| origin | string | yes | IATA code for the departure airport, e.g. "JFK" |
| passengers | number | — | Number of passengers (1-9, default 1) |
| return_date | string | — | Return date in YYYY-MM-DD format for round trips (optional) |
| sort_by | string | — | Sort order: "price" (cheapest), "duration", "departure", or "arrival" (optional) |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | — | Present when upstream returned a usable error message. |
| flights | array | — | — |
| search_metadata | object|null | — | — |
No examples provided.
search_intel_history ~257
Semantic search over WorldMonitor's accumulating store of past intelligence events (Pro), ranked by similarity.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | 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. |
| domain | string | — | Restrict to one producing domain. Omit to search every domain. |
| from | number | — | Earliest occurredAt to consider, Unix epoch milliseconds, inclusive. Omit for no lower bound. |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| limit | integer | — | Maximum matches to return. The route returns 16 when this is omitted and caps MCP responses at 16 to stay within the output budget. |
| query | string | yes | Free-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… |
| to | number | — | Latest occurredAt to consider, Unix epoch milliseconds, inclusive. Omit for no upper bound. |
| Name | Type | Req | Description |
|---|---|---|---|
| partial | boolean | yes | True when the bounded candidate window may omit further matches; do not treat the result as exhaustive. |
| query | string | yes | Echo of the submitted query, so a caller running several searches can pair each response back to its input. |
| records | array | yes | Matching events, most similar first. |
| upstreamUnavailable | boolean | yes | True 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.
| Name | Type | Req | Description |
|---|---|---|---|
| disruption_level | number | — | Initial failure severity between 0.1 and 1 (default 1). |
| jmespath | string | — | Optional JMESPath projection applied to the response. See initialize.instructions for grammar and examples. |
| source_id | string | — | Node id to disrupt (see the no-argument catalog for valid ids). |
| Name | Type | Req | Description |
|---|---|---|---|
| cached_at | string|null | yes | Fetch time of the seeded cable table. |
| data | object | yes | — |
| error | string | — | Present only on a user-input failure; the envelope keys are still returned. |
| failed_inputs | array | — | Subset of unavailable_inputs whose Redis read failed rather than returning a genuine miss. |
| known_id_sample | array | — | Sample of valid node ids; present only alongside an unknown-source_id error. |
| stale | boolean | yes | True when the cable table is older than its freshness budget. |
| unavailable_inputs | array | — | Required cache keys that were missing or unreadable; their contribution is not treated as quiet. |
No examples provided.