World Cup 2026
by friozi
README.md
# MCP World Cup 2026
[MCP](https://modelcontextprotocol.io) server that exposes 2026 FIFA World Cup data as tools for clients such as Claude Desktop.
## Available tools
- `get_today_matches` — returns the matches scheduled for today's date (home/away teams, kickoff time, venue, round, group, score and goals, when available).
## Requirements
- Python >= 3.10
- [uv](https://docs.astral.sh/uv/)
## Installation
```bash
uv sync
```
## Usage
### Development mode (MCP Inspector)
```bash
uv run mcp dev server.py
```
### Install into Claude Desktop
```bash
uv run mcp install server.py --name "World Cup 2026"
```
This adds the server under `mcpServers` in `claude_desktop_config.json`. Restart Claude Desktop for the tool to appear.
### Run directly
```bash
uv run server.py
```
## Data
Match data lives in [`data/worldcup.json`](data/worldcup.json), with the following structure per match:
| Field | Description |
|---|---|
| `round` | Competition stage (e.g. `Matchday 1`, `Round of 16`, `Final`) |
| `num` | Match number |
| `date` | Date in `YYYY-MM-DD` format |
| `time` | Kickoff time (with UTC offset) |
| `team1` / `team2` | Home / away team |
| `group` | Group stage group |
| `ground` | Match venue |
| `score` | Score (`ft`/`ht`), absent for matches not yet played |
| `goals1` / `goals2` | List of goals (scorer name and minute) for each team |
## Project structure
```
.
├── server.py # Defines the MCP server and registers tools
├── providers/
│ └── worldcup.py # Reads and processes data/worldcup.json
└── data/
└── worldcup.json # Match data
```
TDQS
A4.1/5.0
Scored across 1 tool
Disambiguation5/5
Only one tool exists, so there is no possibility of ambiguity between tools.
Naming Consistency5/5
With a single tool, naming consistency is not applicable; the name is clear and follows a standard verb_noun pattern.
Tool Count1/5
A World Cup 2026 server should have many more tools (e.g., for standings, teams, players, history) to cover the domain; a single tool is extremely inadequate.
Completeness1/5
The server only provides today's matches, leaving out critical functionality such as viewing previous results, team details, or future schedules, making it severely incomplete.
Maintenance
ActivityStale
ResponsivenessNo issues