Skip to main content
Glama
friozi

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