curl examples assume export WM_KEY="wm_…". With an OAuth token, replace -H "X-WorldMonitor-Key: $WM_KEY" with -H "Authorization: Bearer $TOKEN".
get_world_brief
Citation-grounded world intelligence brief from the same precomputed news:insights:v1 snapshot used by the dashboard. The insights seeder applies corroboration, citation, and hallucination gates before publishing; this tool reads that accepted result without a request-time LLM call. The optional geo_context field is retained for client compatibility and does not alter the seeded global snapshot.
Parameters:
- API endpoints:
GET /api/infrastructure/v1/get-bootstrap-data(called with?keys=insights) — authenticated gateway read of the samenews:insights:v1payload used by the dashboard. - Access:
subscription— requires a Pro subscription. RPC tool: nosummaryargument (usejmespathto trim the response). - Kind: cache-backed RPC. A paid opening uses one World Brief allocation; healthy repeat and JMESPath calls reuse the accepted original within its source and admission deadlines. Valid last-known-good content under three hours remains serveable with its stale notice, but stale content is retryable rather than cached for fresh replay. Missing, broken or older content is unavailable. No request-time LLM call. API allowances retain ordinary per-tool billing; free accounts retain the subscription denial.
- Sources: returns the bounded
worldBriefSourcesarray published with the seeded payload in producer order. URLs are copied from explicit source records, not generated at MCP execution time; empty URL fallbacks are retained so citation indexes cannot shift. - Corroboration: each entry in
headlineshas an index-aligned entry intopStories(topStories[i]describesheadlines[i]) carryingsourceCount,uniqueSourceCount,corroborationSourceCount,entityCorroboration,sourceTier, and the contributing outlet names insources(capped at 12). All of it is published by the insights seeder, so nothing is computed per request. Note that this per-storysourcesis a list of outlet names, unlike the tool’s top-levelsources, which carries citation records.memberTitlesis deliberately not returned here — it is available onget_news_intelligence, which has a larger output budget. - Source provenance: each
topStories[i]also carriessourceProvenance, index-aligned with itssources(sourceProvenance[j]describessources[j]). Each entry gives the outlet’s declaredtier(1–4, ornullwhen unregistered),risk,type, whether each was declared and reviewed (riskDeclared,typeDeclared,riskReviewed,typeReviewed),stateAffiliatedwhen the registry records an affiliation,knownBiases(curated perspective labels; an empty array means no label is recorded, not that the outlet is neutral), an optionalnote, and the outlet profile:homeCountry,audience(domestic,internationalordiaspora),languageandownershipClass, eachnullwhen no profile is recorded. This is the same per-outlet recordget_news_clustersreturns, withoutsummary, and it shows a story that mixes a tier-1 wire with a high-risk or state-affiliated outlet, whichsourceTieralone hides. Stories without an outlet list carry no provenance. If a response would exceed the output budget, everynoteis dropped first, then the four outlet profile fields, and only if that is not enough, everysourceProvenancelist;transportCoveragethen names the trimmed field withomission_reason: "output_budget". Outlet names andsourceTierare always returned. - Spoken mode:
response_mode: "spoken"returns 2-3 sentences: the brief’s age (with the stale wording when it is served as last-known-good) and the first three headlines, read fromheadlines, never from the prose. Citations are the producer’ssourcesrecords with URL and publication time.
analyze_situation
Run an LLM analytical deduction on a free-text geopolitical question and return {analysis, confidence, signals, provider, model}: a narrative assessment with a confidence level and the supporting signals the model cited. Each call generates fresh text (non-deterministic, up to 25 s) from the query, optional context and optional framework; it does not read a cached brief or a fixed country dataset. An empty provider result returns a source-unavailable error rather than empty text. Requires a paid plan; one live LLM request, weight 2 on API plans. Read-only; nothing is stored.
Parameters:
- API endpoints:
POST /api/intelligence/v1/deduct-situation - Access:
subscription— requires a Pro subscription. RPC tool: nosummaryargument (usejmespathto trim the response). - Kind: live RPC — proxies a fetch to the WorldMonitor API on each call. Edge-runtime timeout: 25.0s.
get_forecast_predictions
AI-generated geopolitical and economic forecasts from WorldMonitor’s predictive models. Covers upcoming risk events and probability assessments.
Parameters (tool-specific):
Rows also carry
firstSeenAt (ISO time), firstSeenProbability, change24h and change7d (absolute probability changes). Missing or short trails return null. A region change starts a new segment; the first seed backfills only the retained history, so firstSeenAt can postdate the original publication. History points are [isoTime, probability] and can have sampling gaps.
- API endpoints:
GET /api/forecast/v1/get-forecasts - Access:
free-account— callable by any signed-in account; free accounts spend the daily free allowance, Pro calls spend the daily quota. Accepts the universalsummaryargument. - Kind: cache read — sub-second response from Redis bootstrap cache.
- Freshness budget: up to 1.5 h before
stale: trueis flagged (set by the seeder cron’s expected interval). - Spoken mode:
response_mode: "spoken"returns 2-3 sentences: the number of published forecasts and their age, then the two highest-probability forecasts as percentages with domain, region and the 24-hour move (omitted while the probability trail it comes from is stale). A caveat follows only when the predictions themselves are stale. Citations carry the forecast titles andgeneratedAt.
get_forecast_case
Read one unchanged original forecast case for an exact ID and list generation. Dedicated MCP plans read it under a valid paid forecast panel admission: the existing 64-read allowance includes this read and it does not charge a new daily panel allocation. API plans cannot hold a panel and read it without panel_request at the tool’s normal per-call weight. A changed generation returns generation_changed with no case. Missing source, missing ID, changed generation and oversized individual cases remain explicit. Failed cases can be retried after source recovery; successful cases are reused.
Parameters (tool-specific):
- API endpoints:
GET /api/forecast/v1/get-forecasts - Access:
subscription. Dedicated MCP plans need a valid paid forecast admission, including owner, scope, expiry and entitlement checks; API plans are billed per call. - Kind: cache read of the fixed canonical forecast dataset; no arbitrary cache keys or model generation.
- Output budget: 128 KB for one complete original case; no silent dossier truncation.
- Freshness budget: 1.5 h; original case source notices remain separate from the opening snapshot.
get_forecast_theaters
Read the latest original simulation theater summaries. Dedicated MCP plans read them under a valid paid forecast admission; API plans read them without panel_request at the tool’s normal per-call weight. Preserves original paths, actors and optional roles, reactions, stabilizers, invalidators, independent source run/time and completion counts. A source timestamp does not establish freshness. Partial and unknown coverage do not become complete or empty.
Parameters (tool-specific):
- API endpoint:
GET /api/forecast/v1/get-simulation-outcome, latest-only. - Access:
subscriptionwith owner, scope, expiry and entitlement checks. - Allocation: on dedicated MCP plans, shares the opening’s daily allocation and 64 uncached-read budget; on API plans, each call is charged at the tool’s weight. Complete validated and explicit no-eligible snapshots can replay; partial, failed, missing, processing and unknown results remain manually retryable.
- Output budget: 128 KB for unchanged original evidence. Invalid or oversized source reports unavailable; no silent truncation, run selector, simulation trigger or private artifact read.
get_forecast_scorecard
Forecast resolution scorecard with calibration, Brier/log score, domain and generation-origin breakdowns, and pending/judged resolution counts.
Parameters (tool-specific):
Archive responses carry
underAudit from the stored scorecard, archive.stale from the archive seed-meta (36-hour budget), and nextBefore (null at the end). Summary responses retain their original shape. Trajectories appear only with forecast_id; missing trajectories are not reconstructed from other subjects. Rows use the public receipt whitelist, with no raw ledger, judge rationale, news archive items or metric paths. Most historical resolutions may be VOID. The archive does not establish forecast skill.
- API endpoints:
GET /api/forecast/v1/get-forecast-scorecard - Access:
free-account— callable by any signed-in account; free accounts spend the daily free allowance, Pro calls spend the daily quota. Accepts the universalsummaryargument. - Kind: cache read — sub-second response from Redis bootstrap cache.
- Freshness budget: up to 36 h before
stale: trueis flagged (daily resolver cadence with missed-cron tolerance).
