World Cup History MCP

Every FIFA World Cup since 1930. 23 tournaments, full squads, knockout brackets, stadium altitudes, hat-tricks. Free tier API.

World Cup History MCP

by Zafronix · npm: @zafronix/wc-mcp · MIT-licensed

wc-mcp MCP server

Model Context Protocol server giving Claude / Cursor / any MCP-aware agent grounded access to every FIFA World Cup since 1930. 23 tournaments. 1,168+ matches. 2,500+ players. 206 stadiums. All exposed as 15 typed tools so the model stops hallucinating squads, scores, brackets, and stadium altitudes.

Powered by the public Zafronix World Cup API — free tier with key, 1,000 req/day, no card.

Why

LLMs are unreliable on:

  • Exact tournament results from before the trained-data window.
  • Roster details (jersey numbers, DOBs, captains).
  • Knockout-round paths and exact scores.
  • Stadium facts (capacity, altitude, year opened).

This MCP wraps the Zafronix WC API so the model can call a tool and get the canonical answer instead of guessing.

Install

npm install -g @zafronix/wc-mcp

Or run from source:

git clone https://github.com/zafronix/wc-mcp
cd wc-mcp
npm install
npm run build

Get a free API key

https://api.zafronix.com/signup

1,000 requests/day on the free tier, no card.

Configure (Claude Desktop)

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "wc": {
      "command": "npx",
      "args": ["-y", "@zafronix/wc-mcp"],
      "env": {
        "WC_API_KEY": "zwc_pk_your_key_here"
      }
    }
  }
}

Restart Claude Desktop. You'll see a 🔌 icon in the input bar — click it to confirm wc is connected.

Configure (Cursor)

Settings → MCP → Add new server:

{
  "mcpServers": {
    "wc": {
      "command": "npx",
      "args": ["-y", "@zafronix/wc-mcp"],
      "env": { "WC_API_KEY": "zwc_pk_..." }
    }
  }
}

Tools

ToolWhat it does
list_tournamentsEvery WC 1930→2026 (year, host, champion).
get_tournamentFull tournament: teams, brackets, awards, squads.
compare_tournamentsSide-by-side stats for 2-6 years.
search_playersPlayer name search across history.
get_player_careerEvery WC a player appeared in.
list_teamsEvery nation that ever played, optional confederation filter.
get_teamCross-tournament summary for a country.
get_team_rosterFull squad for one team in one year.
list_stadiumsEvery WC venue with elevation + coords.
get_stadiumSingle venue by slug.
list_matchesFilter by year / stage / date.
get_matchSingle match with score + attendance + referee.
get_triviaCurated factual nuggets per year.
get_standingsComputed group tables with FIFA tiebreakers.
get_bracketFull knockout bracket.

Example prompts (in Claude Desktop, with this MCP enabled)

  • "Compare Pelé and Messi at the World Cup."
  • "What was the highest-altitude World Cup stadium ever, and how did goal totals there compare to sea-level venues?"
  • "Show me Italy's 2006 squad with positions and clubs."
  • "Trace Argentina's 2022 path to the title — every match, every score."
  • "List every African nation that has reached the World Cup quarter-finals."

Development

npm run dev          # tsx watch mode
WC_API_KEY=... npm start

The server speaks stdio. You can test it with the MCP CLI:

npx @modelcontextprotocol/inspector npx tsx src/index.ts

License

MIT.

Máy chủ liên quan

NotebookLM Web Importer

Nhập trang web và video YouTube vào NotebookLM chỉ với một cú nhấp. Được tin dùng bởi hơn 200.000 người dùng.

Cài đặt tiện ích Chrome