An agent can connect on its own if it already holds X_API_TOKEN, X_API_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
Endpoints
remote
auth
reachable
uptime 30d
p50
protocol
last ok
https://worldcup-mcp.org.machina.gg/ssesse
api_key ${X_API_TOKEN}
yes
100%
496 ms
2025-11-25
2026-10-20
Tools (16)
worldcup_backtest_forecastsread-only
Historical accuracy report of the model over played fixtures
(calibration + CLV ledger). Cost: 12 credits (intelligence).
Example: worldcup_backtest_forecasts()
Args:
league: league/competition filter (default: World Cup).
season: season filter.
worldcup_explain_market_moveread-only
Grounded explanation of WHY a market moved: price history + live
research, source-cited. Cost: 12 credits (intelligence). Get
market_id from worldcup_search_markets or worldcup_market_watch.
Example: worldcup_explain_market_move(market_id="KXWC26-BRA")
Args:
market_id: the market id/ticker to explain (required).
window_hours: move window to analyze in hours (default 24).
min_move_bps: ignore moves smaller than this (basis points).
include_reasoning: include the reasoning trace.
worldcup_fan_pulseread-only
Social/news fan-sentiment card (buzz, narratives, breaking news)
via live X/web search. Tournament-wide by default, or scoped to a
team or fixture. Cost: 40 credits (skill card). ~1h cache.
Example: worldcup_fan_pulse(event="Brazil vs Morocco")
Args:
event: natural fixture description ("Brazil vs Morocco") — or get
event_urn from worldcup_get_schedule.
event_urn: canonical fixture URN (preferred when known).
team: scope the pulse to one team.
opponent: opponent name (with team).
date: fixture date YYYY-MM-DD (disambiguates rematches).
query: free-text subject when no event/team is given.
lookback_hours: search window in hours (0 = workflow default).
force_regen: bypass the cache and regenerate now.
worldcup_find_market_edgesread-only
Scan open markets for model-vs-market gaps (informational edge
candidates across the tournament). Cost: 18 credits (edge).
Informational only — never betting advice.
Example: worldcup_find_market_edges(min_edge_bps=300)
Args:
min_edge_bps: minimum edge in basis points (default 200).
limit: max candidates returned (default 10).
include_reasoning: include per-candidate reasoning.
status: market status filter (e.g. "open").
worldcup_get_event_contextread-only
Enriched single-fixture context: form, group standings slice,
injuries, optional research extras. Cost: 1 credit (data).
Example: worldcup_get_event_context(event="Brazil vs Morocco")
Args:
event: natural fixture description ("Brazil vs Morocco") — or get
event_urn from worldcup_get_schedule.
event_urn: canonical fixture URN (preferred when known).
team: team name (alternative to event).
opponent: opponent name (with team).
date: fixture date YYYY-MM-DD (disambiguates rematches).
provider_event_id: a provider's raw event id (auto-resolved).
include_prematch_research: add grounded pre-match research.
include_social_pulse: add a social sentiment slice.
worldcup_get_market_stateread-only
Live state of ONE market: price, order-book depth, optional
candles/trades history. Cost: 3 credits (market). Get market_id from
worldcup_search_markets.
Example: worldcup_get_market_state(market_id="KXWC26-BRA", include_history=True)
Args:
market_id: the market id/ticker from worldcup_search_markets.
include_book: include order-book depth (default true).
include_history: include price history candles.
include_trades: include recent trades.
history_hours: history window in hours (default 24).
history_interval: candle interval (e.g. "1h").
worldcup_get_match_forecastread-only
Dixon-Coles model forecast for one fixture (1X2 probabilities,
model-vs-market gaps). Cost: 12 credits (intelligence). Get event_urn
from worldcup_get_schedule.
Example: worldcup_get_match_forecast(event_urn="urn:machina:...:wor")
Args:
event_urn: canonical fixture URN (required).
include_reasoning: include the model's reasoning trace.
min_gap_bps: only report model-vs-market gaps above this (bps).
worldcup_get_scheduleread-only
Tournament fixtures with their event_urn — the discovery primitive
every per-fixture tool builds on. Cost: 1 credit (data).
Example: worldcup_get_schedule(team="Brazil")
Args:
team: filter by team name (e.g. "Brazil").
opponent: filter by opponent name.
date_from: ISO date lower bound (YYYY-MM-DD).
date_to: ISO date upper bound (YYYY-MM-DD).
status: fixture status filter (e.g. "scheduled", "finished").
limit: max fixtures returned (default 20).
worldcup_get_signalread-only
Per-fixture betting signal: fuses the model forecast with the best
market price into recommendation + edge% + EV + fractional-Kelly
stake. Cost: 18 credits (edge). Informational decision support —
never a guaranteed bet.
Example: worldcup_get_signal(event="Brazil vs Morocco")
Args:
event: natural fixture description ("Brazil vs Morocco") — or get
event_urn from worldcup_get_schedule.
event_urn: canonical fixture URN (preferred when known).
team: team name (alternative to event).
opponent: opponent name (with team).
date: fixture date YYYY-MM-DD (disambiguates rematches).
bankroll: optional bankroll for stake sizing.
kelly_fraction: fraction of full Kelly (default 0.25).
min_edge_bps: minimum edge in basis points to surface (default 200).
fee_bps: market fee in basis points (default 0).
include_reasoning: include the signal's reasoning trace.
worldcup_healthread-only
Whoami/smoke check — verifies your API key and the product surface.
Cost: FREE (0 credits). Call this first to validate setup before
spending credits. Example: worldcup_health()
Args:
include_connectors: also report upstream connector reachability.
worldcup_market_watchread-only
Tournament-wide market-watch card: biggest market movers and
informational edges across World Cup markets. Cost: 40 credits
(skill card). ~20 min cache.
Example: worldcup_market_watch()
Args:
force_regen: bypass the ~20min cache and regenerate now.
worldcup_match_previewread-only
Grounded match preview card: form, key men, group context, market
snapshot — source-cited, ready to publish. Cost: 40 credits (skill
card). Example: worldcup_match_preview(event="Brazil vs Morocco")
Args:
event: natural fixture description ("Brazil vs Morocco") — or get
event_urn from worldcup_get_schedule.
event_urn: canonical fixture URN (preferred when known).
team: team name (alternative to event).
opponent: opponent name (with team).
date: fixture date YYYY-MM-DD (disambiguates rematches).
force_regen: bypass the cache and regenerate now.
worldcup_match_recapread-only
Post-match recap card, authored once the final whistle blows —
result, narrative, market settlement. Cost: 40 credits (skill card).
Example: worldcup_match_recap(event="Brazil vs Morocco")
Args:
event: natural fixture description ("Brazil vs Morocco") — or get
event_urn from worldcup_get_schedule.
event_urn: canonical fixture URN (preferred when known).
team: team name (alternative to event).
opponent: opponent name (with team).
date: fixture date YYYY-MM-DD (disambiguates rematches).
force_regen: bypass the cache and regenerate now.
worldcup_player_spotlightread-only
Grounded player card: performance context + narrative, source-
cited. Cost: 40 credits (skill card).
Example: worldcup_player_spotlight(player="Vinicius Jr", team="Brazil")
Args:
player: player name (e.g. "Vinicius Jr").
team: the player's national team (disambiguates homonyms).
player_urn: canonical player URN (from worldcup_resolve).
force_regen: bypass the cache and regenerate now.
worldcup_resolveread-only
Resolve ANY provider id or free-text name (team, player, fixture)
to the canonical Machina entity + URN via the identity crosswalk.
Cost: 1 credit (data). Example: worldcup_resolve(id="sr:competitor:4715")
Args:
id: provider id (Sportradar/Opta/api-football/...) or a name
like "Vinicius Jr" / "Brazil vs Morocco".
worldcup_search_marketsread-only
Search Kalshi + Polymarket World Cup markets in one normalized
shape. Cost: 3 credits (market).
Example: worldcup_search_markets(team="Brazil")
Args:
query: free-text market search.
team: filter markets involving a team.
source: "kalshi" or "polymarket" (default: both).
status: market status filter (e.g. "open").
limit: max markets returned (default 20).
force_live: bypass the cache and hit the venues live.