protogrid

Search / gg.machina/world-cup-intelligence

Machina World Cup Intelligence

R1· needs a key

World Cup 2026 match, team, player and market context from Machina Sports, the sports AI platform.

v0.1.1 · active · website · descriptor JSON · versions

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.
Quality73needs work
Trust80of 100
Uptime, 30 days100%
Latency p50496 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "world-cup-intelligence": {
      "type": "sse",
      "url": "https://worldcup-mcp.org.machina.gg/sse",
      "headers": {
        "X-Api-Token": "${X_API_TOKEN}",
        "Authorization": "${X_API_TOKEN}"
      }
    }
  }
}
claude mcp add --transport sse world-cup-intelligence https://worldcup-mcp.org.machina.gg/sse --header "X-Api-Token: ${X_API_TOKEN}" --header "Authorization: ${X_API_TOKEN}"
[mcp_servers.world-cup-intelligence]
url = "https://worldcup-mcp.org.machina.gg/sse"
env_http_headers = { "X-Api-Token" = "X_API_TOKEN", "Authorization" = "X_API_TOKEN" }
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "world-cup-intelligence": {
      "type": "remote",
      "url": "https://worldcup-mcp.org.machina.gg/sse",
      "enabled": true,
      "headers": {
        "X-Api-Token": "{env:X_API_TOKEN}",
        "Authorization": "{env:X_API_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "world-cup-intelligence": {
      "type": "sse",
      "url": "https://worldcup-mcp.org.machina.gg/sse",
      "headers": {
        "X-Api-Token": "${X_API_TOKEN}",
        "Authorization": "${X_API_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=world-cup-intelligence&config=eyJ0eXBlIjoic3NlIiwidXJsIjoiaHR0cHM6Ly93b3JsZGN1cC1tY3Aub3JnLm1hY2hpbmEuZ2cvc3NlIiwiaGVhZGVycyI6eyJYLUFwaS1Ub2tlbiI6IiR7WF9BUElfVE9LRU59IiwiQXV0aG9yaXphdGlvbiI6IiR7WF9BUElfVE9LRU59In19"
}
{
  "servers": {
    "world-cup-intelligence": {
      "type": "sse",
      "url": "https://worldcup-mcp.org.machina.gg/sse",
      "headers": {
        "X-Api-Token": "${X_API_TOKEN}",
        "Authorization": "${X_API_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "world-cup-intelligence": {
      "url": "https://worldcup-mcp.org.machina.gg/sse",
      "headers": {
        "X-Api-Token": "${X_API_TOKEN}",
        "Authorization": "${X_API_TOKEN}"
      }
    }
  }
}
extensions:
  "world-cup-intelligence":
    enabled: true
    name: "world-cup-intelligence"
    type: sse
    uri: "https://worldcup-mcp.org.machina.gg/sse"
    headers:
      "X-Api-Token": "${X_API_TOKEN}"
      "Authorization": "${X_API_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${X_API_TOKEN}, ${X_API_TOKEN}. The registry never accepts secret values.

Quality 73 / 100needs work

protocol50 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • warn
    protocol.transportonly the legacy HTTP+SSE transport, deprecated until 2027-07-28
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene79 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations16 of 16 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: worldcup_health (destructiveHint, idempotentHint, openWorldHint); worldcup_get_event_context (destructiveHint, idempotentHint, openWorldHint); worldcup_resolve (destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 4,092 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

16 tools, about 4,092 tokens to load them all · tool set fc2075d975b6 · checked 2026-10-20 23:27 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 80 / 100

no-repository
provenance55
liveness100
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-100% ~updated-64d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://worldcup-mcp.org.machina.gg/sse sseapi_key ${X_API_TOKEN}yes100%496 ms2025-11-252026-10-20

Tools (16)

worldcup_backtest_forecastsread-onlyHistorical 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-onlyGrounded 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-onlySocial/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-onlyScan 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-onlyEnriched 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-onlyLive 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-onlyDixon-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-onlyTournament 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-onlyPer-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-onlyWhoami/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-onlyTournament-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-onlyGrounded 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-onlyPost-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-onlyGrounded 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-onlyResolve 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-onlySearch 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "gg.machina/world-cup-intelligence",
  "title": "Machina World Cup Intelligence",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://worldcup-mcp.org.machina.gg/sse",
      "type": "sse",
      "headers": [
        {
          "name": "X-Api-Token",
          "isSecret": true,
          "isRequired": true,
          "description": "Machina product API key. Tool discovery works without it; tool calls require it. Request access via https://machina.gg/contact"
        }
      ]
    }
  ],
  "version": "0.1.1",
  "websiteUrl": "https://machina.gg/world-cup-api",
  "description": "World Cup 2026 match, team, player and market context from Machina Sports, the sports AI platform."
}