World Cup History MCP
The World Cup History MCP server provides grounded, factual access to the complete history of FIFA World Cups (1930–2026) via 15 typed tools, covering 23 tournaments, 1,168+ matches, 2,500+ players, and 206 stadiums.
Tournament exploration: List all World Cups with hosts and champions, get full details for a specific year (brackets, awards, squads, attendance), or compare 2–6 editions side-by-side (goals, attendance, top scorers, champions).
Player search & career: Search players by name across all tournaments, or retrieve a player's full multi-tournament career history (team, position, jersey, goals, captain status, club).
Team histories & rosters: Get a nation's complete World Cup history and cross-tournament summary, or pull the full squad for a specific team and year (jersey number, position, DOB, club, goals, captain status). Filterable by confederation.
Match data: List matches filtered by year, stage, or date; get full details for any match (score, extra time, penalties, attendance, referee, stadium).
Knockout brackets: View the full bracket for any tournament, tracing results from the Round of 16 through the Final.
Group standings: Get computed group tables with FIFA tiebreakers applied for any tournament year and group.
Stadium data: List all 206 venues with capacity, GPS coordinates, elevation, and hosting history, or get details for a specific stadium by slug. Filterable by country.
Trivia & facts: Access curated factual nuggets and historical context for any tournament to avoid AI hallucinations.
Provides tools to access FIFA World Cup history data, including tournaments, matches, players, teams, stadiums, and trivia.
World Cup History MCP
by Zafronix · npm:
@zafronix/wc-mcp· MIT-licensed
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.
Related MCP server: World Cup Stats MCP
Install
npm install -g @zafronix/wc-mcpOr run from source:
git clone https://github.com/zafronix/wc-mcp
cd wc-mcp
npm install
npm run buildGet a free API key
https://api.zafronix.com/signup1,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
Tool | What it does |
| Every WC 1930→2026 (year, host, champion). |
| Full tournament: teams, brackets, awards, squads. |
| Side-by-side stats for 2-6 years. |
| Player name search across history. |
| Every WC a player appeared in. |
| Every nation that ever played, optional confederation filter. |
| Cross-tournament summary for a country. |
| Full squad for one team in one year. |
| Every WC venue with elevation + coords. |
| Single venue by slug. |
| Filter by year / stage / date. |
| Single match with score + attendance + referee. |
| Curated factual nuggets per year. |
| Computed group tables with FIFA tiebreakers. |
| Full 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 startThe server speaks stdio. You can test it with the MCP CLI:
npx @modelcontextprotocol/inspector npx tsx src/index.tsLicense
MIT.
Available Tools
15 toolscompare_tournamentsA
Side-by-side comparison of 2-6 World Cup tournaments. Returns total goals, goals per match, attendance, top scorer, best player, champion, runner-up, third place for each year. Use this when the user asks "compare 1986 vs 2022" or "what changed between 1990 and 2014". For a single year use get_tournament.
Inputs: years (required).
get_bracketA
Full knockout bracket for a tournament — Round of 16 through Final, with each match's teams + result. Use this for "show me the 2014 World Cup bracket" or "trace France's 2018 path to the title".
Inputs: year (required).
get_matchA
Single match by ID. IDs follow {year}-{ordinal} zero-padded — the 1986 final is "1986-052", the 2022 final is "2022-064", the 2026 opener is "2026-001". Returns kickoff, both teams, score, extra time, penalties, stadium, city, attendance, referee, and (with denormalize=true) the full stadium block.
Inputs: id (required), denormalize.
get_player_careerA
Get a player's full World Cup career: every tournament they appeared in, with team/position/jersey/goals/captain status per year. Use this when the user wants a "all of Pelé's World Cup matches" or "compare Messi's 4 World Cups" view. The name should be the canonical name (use search_players first if unsure).
Inputs: name (required).
get_stadiumA
Single venue details by stable slug ID. Slugs are kebab-case ("estadio-azteca", "maracana", "wembley-stadium-old", "metlife-stadium"). Use list_stadiums first if you need to discover the right ID.
Inputs: id (required).
get_standingsA
Computed group standings with FIFA tiebreakers applied. Returns the order teams finished within each group of the given year, including W/D/L, GF, GA, GD, points. Use this for "show me the 1990 Group F table" or "who finished where in 2022 Group H?".
Inputs: year (required), group.
get_teamA
Cross-tournament summary for a national team: every appearance, final position by year, total titles, knockout records. Use this for "Brazil's World Cup history" or "how many times has Argentina reached the final?". For a specific year's squad use get_team_roster.
Inputs: name (required).
get_team_rosterA
Full squad for one team in one tournament — every player with jersey, position, DOB, club, goals, captain flag. Use this for "who was on Spain's 2010 squad?" or "show me Italy's 2006 roster".
Inputs: name (required), year (required).
get_tournamentA
Get full details for a single World Cup tournament: every team that played, group stages, knockout brackets, awards (top scorer, best player, best young player, best GK), full squads with DOB/position/club, attendance, and trivia notes. Use this when the user asks about a specific year ("1986 World Cup", "what happened at Italia 90"). For comparisons across multiple tournaments use compare_tournaments instead.
Inputs: year (required).
get_triviaA
Curated factual nuggets about a tournament — record-setting moments, oddities, historical context. Each entry is a single fact with category. Use this when the user wants "interesting facts about 1958" or "tell me something I don't know about Italia 90". Far less hallucination-prone than free-recall about old tournaments.
Inputs: year.
list_matchesA
List World Cup matches. Filterable by year and/or stage (group_a..group_h, round_of_16, quarter_final, semi_final, third_place, final). Returns kickoff time, home/away team, score, stadium, attendance. Use this for "show me all the 1990 group matches" or "list every World Cup final". Pair with get_match for a specific match's full details.
Inputs: year, stage, date.
list_stadiumsA
List World Cup venues. 206 stadiums total across history, with capacity, lat/long, elevation in meters, opening year, and the list of WC years each one hosted. Useful for "which stadiums hosted the most World Cup matches?" or "where was the 1986 final?". Filterable by country.
Inputs: country.
list_teamsA
List every national team that has ever played a World Cup, with confederation, first/last appearance year, and total appearances. Useful for "which African nations have made the World Cup?" or "list every CONMEBOL team". Pair with get_team for a specific country.
Inputs: confederation.
list_tournamentsA
List every FIFA World Cup tournament (1930 → 2026) with year, host country list, champion (or null for the upcoming 2026 cup). Useful as a starting point when the user is exploring history or needs to disambiguate a year.
Inputs: no named parameters.
search_playersA
Search players by name. Returns every World Cup squad row matching the query, with team, position, DOB, club, and tournament-year goals. Use this when the user mentions a player by name. For a player's full multi-tournament career path use get_player_career.
Inputs: q (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 15 tools
Each tool has a clear, non-overlapping purpose. For example, compare_tournaments is for multi-year comparisons while get_tournament handles single years; get_team vs get_team_roster separate summary from roster; search_players vs get_player_career distinguish lookup from career view.
All tools follow a consistent verb_noun pattern (e.g., list_tournaments, get_match, compare_tournaments) using snake_case. There are no mixed conventions or ambiguous names.
With 15 tools, the server is well-scoped for its domain—covering tournaments, teams, players, matches, stadiums, standings, brackets, and trivia without being bloated. The number feels natural for a comprehensive World Cup history API.
The tool set covers the major CRUD-like operations for the domain: listing and getting tournaments, teams, players, matches, stadiums, comparisons, trivia, brackets, and standings. There are no obvious gaps for typical World Cup queries.
Maintenance
Related MCP Connectors
SmartMoney77 MCP v0.6.0 — 14 public tools that turn financial questions into exact numbers and citable links. New: historical_investment_return and compare_investments, which compute "what if I had invested" results from real yearly price data. Also compound interest, FIRE number, credit-card payoff, emergency fund, inflation, latte factor, investment fees, cost of waiting, plus discovery/deep-link/share-pack tools for a catalog of calculators in 6 languages (he/en/ar/es/pt/in). Public, no login. Endpoint: https://smartmoney77.com/mcp
49 developer tools via MCP: DNS, WHOIS, IP lookup, JWT, hashing, QR, and more.
238+ dev tools via MCP: JSON, QR, PDF, DNS, hash, UUID, code review, JWT, SSL, WHOIS, and more
Read and edit GA4, Search Console and Google Tag Manager from any MCP client. 29 tools.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for FIFA World Cup 2026 data: matches, teams, venues, city guides, fan zones, visa info, injuries, odds, standings, bracket, and historical matchups. 18 tools, zero external API dependencies.18206 npm34MIT
- FlicenseNot gradedqualityDmaintenanceEnables querying FIFA World Cup player and team statistics for 2010, 2014, 2018, and 2022 through natural language, providing tools for top scorers, player comparisons, team summaries, and more via a Claude-powered CLI.-
- FlicenseAqualityDmaintenanceEnables conversational AI to fetch live World Cup matches, standings, results, and generate journalist-style match summaries using MCP tools and prompts.4-
- AlicenseNot gradedqualityDmaintenanceMCP server for retrieving World Cup match briefs, fixtures, and event explanations with sourced, plain-language context.MIT