Koskamo

Machina World Cup Intelligence MCP

An official MCP server by Machina Sports providing World Cup 2026 match, team, player, and market context. It allows agents to query grounded, source-cited answers, match previews, recaps, player spotlights, fan sentiment, and market data via SSE transport.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Machina World Cup Intelligence MCP logo, by Machina SportsVendor evidenceLegacy SSENo sign-inEndpoint checked 2026-11-01Operated by Machina Sports
You need:Get a free key 100 credits, no card required.
MCP endpoint (Legacy SSE)
https://worldcup-mcp.org.machina.gg/sse
Vendor documentation

What you can do with it

  • Get grounded match previews and recaps
  • Query player spotlights and fan sentiment
  • Access market context and odds data
  • Perform health checks on the World Cup API

Source and maintenance

Vendor evidenceRegistry 0.1.1

Protocol and capabilities

Server
World Cup Intelligence API 1.28.1
MCP protocol
2025-06-18
Tools
16 advertised
Resources
9 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

World Cup Intelligence API — informational match, market and model data for the FIFA World Cup. Decision support only: nothing here is betting advice or a guaranteed outcome. Canonical flow: 1. DISCOVER — worldcup_get_schedule (fixtures + event_urn) or worldcup_resolve (any provider id/name -> canonical entity). Most per-fixture tools also accept a natural event="Brazil vs Morocco" (+ optional date) instead of a URN. 2. CONTEXT — worldcup_get_event_context / worldcup_search_markets / worldcup_get_market_state / worldcup_get_match_forecast / worldcup_explain_market_move. 3. CARDS — worldcup_match_preview / worldcup_match_recap / worldcup_player_spotlight / worldcup_fan_pulse / worldcup_market_watch (finished, source-cited cards). 4. EDGE — worldcup_get_signal (one fixture) / worldcup_find_market_edges (scan). Credits per call (prepaid, never expire — top up in Studio under the organization's APIs tab): health 0 · data (schedule/resolve/event-context) 1 · markets 3 · forecast/backtest/explain-move 12 · signal/edges 18 · cards 40. Errors are typed: error.type == "insufficient_credits" (402, buy more credits), "rate_limited" (429, honor retry_after_seconds), "invalid_api_key" (401), "not_entitled" (403). worldcup_health is free — use it to verify the key before spending credits.

Tools

16 advertised

worldcup_health
Advertised by the server during the last successful anonymous check.
Advertised read-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_health input schema
{
  "type": "object",
  "title": "worldcup_healthArguments",
  "properties": {
    "include_connectors": {
      "type": "boolean",
      "title": "Include Connectors",
      "default": false
    }
  }
}
worldcup_health annotations
{
  "title": "Health Check",
  "readOnlyHint": true
}
worldcup_get_schedule
Advertised by the server during the last successful anonymous check.
Advertised read-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_schedule input schema
{
  "type": "object",
  "title": "worldcup_get_scheduleArguments",
  "properties": {
    "team": {
      "type": "string",
      "title": "Team",
      "default": ""
    },
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 20
    },
    "status": {
      "type": "string",
      "title": "Status",
      "default": ""
    },
    "date_to": {
      "type": "string",
      "title": "Date To",
      "default": ""
    },
    "opponent": {
      "type": "string",
      "title": "Opponent",
      "default": ""
    },
    "date_from": {
      "type": "string",
      "title": "Date From",
      "default": ""
    }
  }
}
worldcup_get_schedule annotations
{
  "title": "Get Match Schedule",
  "readOnlyHint": true
}
worldcup_resolve
Advertised by the server during the last successful anonymous check.
Advertised read-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_resolve input schema
{
  "type": "object",
  "title": "worldcup_resolveArguments",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "title": "Id"
    }
  }
}
worldcup_resolve annotations
{
  "title": "Resolve Team, Player or Match",
  "readOnlyHint": true
}
worldcup_get_event_context
Advertised by the server during the last successful anonymous check.
Advertised read-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_event_context input schema
{
  "type": "object",
  "title": "worldcup_get_event_contextArguments",
  "properties": {
    "date": {
      "type": "string",
      "title": "Date",
      "default": ""
    },
    "team": {
      "type": "string",
      "title": "Team",
      "default": ""
    },
    "event": {
      "type": "string",
      "title": "Event",
      "default": ""
    },
    "opponent": {
      "type": "string",
      "title": "Opponent",
      "default": ""
    },
    "event_urn": {
      "type": "string",
      "title": "Event Urn",
      "default": ""
    },
    "provider_event_id": {
      "type": "string",
      "title": "Provider Event Id",
      "default": ""
    },
    "include_social_pulse": {
      "type": "boolean",
      "title": "Include Social Pulse",
      "default": false
    },
    "include_prematch_research": {
      "type": "boolean",
      "title": "Include Prematch Research",
      "default": false
    }
  }
}
worldcup_get_event_context annotations
{
  "title": "Get Match Context",
  "readOnlyHint": true
}
worldcup_search_markets
Advertised by the server during the last successful anonymous check.
Advertised read-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.

worldcup_search_markets input schema
{
  "type": "object",
  "title": "worldcup_search_marketsArguments",
  "properties": {
    "team": {
      "type": "string",
      "title": "Team",
      "default": ""
    },
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 20
    },
    "query": {
      "type": "string",
      "title": "Query",
      "default": ""
    },
    "source": {
      "type": "string",
      "title": "Source",
      "default": ""
    },
    "status": {
      "type": "string",
      "title": "Status",
      "default": ""
    },
    "force_live": {
      "type": "boolean",
      "title": "Force Live",
      "default": false
    }
  }
}
worldcup_search_markets annotations
{
  "title": "Search Prediction Markets",
  "readOnlyHint": true
}
worldcup_get_market_state
Advertised by the server during the last successful anonymous check.
Advertised read-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_market_state input schema
{
  "type": "object",
  "title": "worldcup_get_market_stateArguments",
  "required": [
    "market_id"
  ],
  "properties": {
    "market_id": {
      "type": "string",
      "title": "Market Id"
    },
    "include_book": {
      "type": "boolean",
      "title": "Include Book",
      "default": true
    },
    "history_hours": {
      "type": "integer",
      "title": "History Hours",
      "default": 24
    },
    "include_trades": {
      "type": "boolean",
      "title": "Include Trades",
      "default": false
    },
    "include_history": {
      "type": "boolean",
      "title": "Include History",
      "default": false
    },
    "history_interval": {
      "type": "string",
      "title": "History Interval",
      "default": ""
    }
  }
}
worldcup_get_market_state annotations
{
  "title": "Get Market State",
  "readOnlyHint": true
}
worldcup_get_match_forecast
Advertised by the server during the last successful anonymous check.
Advertised read-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_match_forecast input schema
{
  "type": "object",
  "title": "worldcup_get_match_forecastArguments",
  "required": [
    "event_urn"
  ],
  "properties": {
    "event_urn": {
      "type": "string",
      "title": "Event Urn"
    },
    "min_gap_bps": {
      "type": "integer",
      "title": "Min Gap Bps",
      "default": 0
    },
    "include_reasoning": {
      "type": "boolean",
      "title": "Include Reasoning",
      "default": false
    }
  }
}
worldcup_get_match_forecast annotations
{
  "title": "Get Match Forecast",
  "readOnlyHint": true
}
worldcup_backtest_forecasts
Advertised by the server during the last successful anonymous check.
Advertised read-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_backtest_forecasts input schema
{
  "type": "object",
  "title": "worldcup_backtest_forecastsArguments",
  "properties": {
    "league": {
      "type": "string",
      "title": "League",
      "default": ""
    },
    "season": {
      "type": "string",
      "title": "Season",
      "default": ""
    }
  }
}
worldcup_backtest_forecasts annotations
{
  "title": "Backtest Forecasts",
  "readOnlyHint": true
}
worldcup_explain_market_move
Advertised by the server during the last successful anonymous check.
Advertised read-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_explain_market_move input schema
{
  "type": "object",
  "title": "worldcup_explain_market_moveArguments",
  "required": [
    "market_id"
  ],
  "properties": {
    "market_id": {
      "type": "string",
      "title": "Market Id"
    },
    "min_move_bps": {
      "type": "integer",
      "title": "Min Move Bps",
      "default": 0
    },
    "window_hours": {
      "type": "integer",
      "title": "Window Hours",
      "default": 24
    },
    "include_reasoning": {
      "type": "boolean",
      "title": "Include Reasoning",
      "default": false
    }
  }
}
worldcup_explain_market_move annotations
{
  "title": "Explain Market Move",
  "readOnlyHint": true
}
worldcup_find_market_edges
Advertised by the server during the last successful anonymous check.
Advertised read-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_find_market_edges input schema
{
  "type": "object",
  "title": "worldcup_find_market_edgesArguments",
  "properties": {
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 10
    },
    "status": {
      "type": "string",
      "title": "Status",
      "default": ""
    },
    "min_edge_bps": {
      "type": "integer",
      "title": "Min Edge Bps",
      "default": 200
    },
    "include_reasoning": {
      "type": "boolean",
      "title": "Include Reasoning",
      "default": false
    }
  }
}
worldcup_find_market_edges annotations
{
  "title": "Find Market Edges",
  "readOnlyHint": true
}
worldcup_get_signal
Advertised by the server during the last successful anonymous check.
Advertised read-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_get_signal input schema
{
  "type": "object",
  "title": "worldcup_get_signalArguments",
  "properties": {
    "date": {
      "type": "string",
      "title": "Date",
      "default": ""
    },
    "team": {
      "type": "string",
      "title": "Team",
      "default": ""
    },
    "event": {
      "type": "string",
      "title": "Event",
      "default": ""
    },
    "fee_bps": {
      "type": "integer",
      "title": "Fee Bps",
      "default": 0
    },
    "bankroll": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Bankroll",
      "default": ""
    },
    "opponent": {
      "type": "string",
      "title": "Opponent",
      "default": ""
    },
    "event_urn": {
      "type": "string",
      "title": "Event Urn",
      "default": ""
    },
    "min_edge_bps": {
      "type": "integer",
      "title": "Min Edge Bps",
      "default": 200
    },
    "kelly_fraction": {
      "type": "number",
      "title": "Kelly Fraction",
      "default": 0.25
    },
    "include_reasoning": {
      "type": "boolean",
      "title": "Include Reasoning",
      "default": false
    }
  }
}
worldcup_get_signal annotations
{
  "title": "Get Market Signal",
  "readOnlyHint": true
}
worldcup_market_watch
Advertised by the server during the last successful anonymous check.
Advertised read-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_market_watch input schema
{
  "type": "object",
  "title": "worldcup_market_watchArguments",
  "properties": {
    "force_regen": {
      "type": "boolean",
      "title": "Force Regen",
      "default": false
    }
  }
}
worldcup_market_watch annotations
{
  "title": "Market Watch Digest",
  "readOnlyHint": true
}
worldcup_fan_pulse
Advertised by the server during the last successful anonymous check.
Advertised read-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_fan_pulse input schema
{
  "type": "object",
  "title": "worldcup_fan_pulseArguments",
  "properties": {
    "date": {
      "type": "string",
      "title": "Date",
      "default": ""
    },
    "team": {
      "type": "string",
      "title": "Team",
      "default": ""
    },
    "event": {
      "type": "string",
      "title": "Event",
      "default": ""
    },
    "query": {
      "type": "string",
      "title": "Query",
      "default": ""
    },
    "opponent": {
      "type": "string",
      "title": "Opponent",
      "default": ""
    },
    "event_urn": {
      "type": "string",
      "title": "Event Urn",
      "default": ""
    },
    "force_regen": {
      "type": "boolean",
      "title": "Force Regen",
      "default": false
    },
    "lookback_hours": {
      "type": "integer",
      "title": "Lookback Hours",
      "default": 0
    }
  }
}
worldcup_fan_pulse annotations
{
  "title": "Fan Sentiment Pulse",
  "readOnlyHint": true
}
worldcup_match_preview
Advertised by the server during the last successful anonymous check.
Advertised read-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_preview input schema
{
  "type": "object",
  "title": "worldcup_match_previewArguments",
  "properties": {
    "date": {
      "type": "string",
      "title": "Date",
      "default": ""
    },
    "team": {
      "type": "string",
      "title": "Team",
      "default": ""
    },
    "event": {
      "type": "string",
      "title": "Event",
      "default": ""
    },
    "opponent": {
      "type": "string",
      "title": "Opponent",
      "default": ""
    },
    "event_urn": {
      "type": "string",
      "title": "Event Urn",
      "default": ""
    },
    "force_regen": {
      "type": "boolean",
      "title": "Force Regen",
      "default": false
    }
  }
}
worldcup_match_preview annotations
{
  "title": "Match Preview Card",
  "readOnlyHint": true
}
worldcup_match_recap
Advertised by the server during the last successful anonymous check.
Advertised read-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_match_recap input schema
{
  "type": "object",
  "title": "worldcup_match_recapArguments",
  "properties": {
    "date": {
      "type": "string",
      "title": "Date",
      "default": ""
    },
    "team": {
      "type": "string",
      "title": "Team",
      "default": ""
    },
    "event": {
      "type": "string",
      "title": "Event",
      "default": ""
    },
    "opponent": {
      "type": "string",
      "title": "Opponent",
      "default": ""
    },
    "event_urn": {
      "type": "string",
      "title": "Event Urn",
      "default": ""
    },
    "force_regen": {
      "type": "boolean",
      "title": "Force Regen",
      "default": false
    }
  }
}
worldcup_match_recap annotations
{
  "title": "Match Recap Card",
  "readOnlyHint": true
}
worldcup_player_spotlight
Advertised by the server during the last successful anonymous check.
Advertised read-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_player_spotlight input schema
{
  "type": "object",
  "title": "worldcup_player_spotlightArguments",
  "properties": {
    "team": {
      "type": "string",
      "title": "Team",
      "default": ""
    },
    "player": {
      "type": "string",
      "title": "Player",
      "default": ""
    },
    "player_urn": {
      "type": "string",
      "title": "Player Urn",
      "default": ""
    },
    "force_regen": {
      "type": "boolean",
      "title": "Force Regen",
      "default": false
    }
  }
}
worldcup_player_spotlight annotations
{
  "title": "Player Spotlight Card",
  "readOnlyHint": true
}

Prompts

0 advertised

No prompt definitions available.

Resources

9 advertised

get_server_status

Advertised by the server during the last successful anonymous check.

Get MCP server status information

get_server_status URI
resource://status

MIME type: text/plain

get_swagger_spec

Advertised by the server during the last successful anonymous check.

Get the OpenAPI/Swagger specification for the API

get_swagger_spec URI
resource://swagger

MIME type: text/plain

get_api_docs

Advertised by the server during the last successful anonymous check.

Get the API documentation in markdown format

get_api_docs URI
resource://api-docs

MIME type: text/plain

get_readme

Advertised by the server during the last successful anonymous check.

Get the main project README

get_readme URI
resource://readme

MIME type: text/plain

get_request_examples

Advertised by the server during the last successful anonymous check.

Get HTTP request examples for testing the API

get_request_examples URI
resource://request-examples

MIME type: text/plain

get_documents_guide

Advertised by the server during the last successful anonymous check.

Get comprehensive guide for document operations including config options

get_documents_guide URI
resource://documents-guide

MIME type: text/plain

get_connectors_guide

Advertised by the server during the last successful anonymous check.

Get comprehensive guide for connector installation and troubleshooting. When creating new connectors, instructions found in this resource should be followed.

get_connectors_guide URI
resource://connectors-guide

MIME type: text/plain

get_mappings_guide

Advertised by the server during the last successful anonymous check.

Get comprehensive guide for mapping creation/installation. When creating or using mappings, instructions found in this resource should be followed.

get_mappings_guide URI
resource://mappings-guide

MIME type: text/plain

get_vault_guide

Advertised by the server during the last successful anonymous check.

Get comprehensive guide for vault/secrets management operations

get_vault_guide URI
resource://vault-guide

MIME type: text/plain

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
868 ms
95th percentile latency
868 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 868 ms · metadata changed · 16 tool(s), 9 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport sse machina-world-cup-intelligence-mcp https://worldcup-mcp.org.machina.gg/sse

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "machina-world-cup-intelligence-mcp": {
      "type": "sse",
      "url": "https://worldcup-mcp.org.machina.gg/sse",
      "disabled": false
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport sse machina-world-cup-intelligence-mcp https://worldcup-mcp.org.machina.gg/sse

Let your agent find its tools

Find servers like Machina World Cup Intelligence MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Machina World Cup Intelligence MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing