Matchday
БесплатноНе проверенLive football/soccer data from top European leagues, enabling queries for standings, fixtures, scorers, and team comparisons via natural language.
Описание
Live football/soccer data from top European leagues, enabling queries for standings, fixtures, scorers, and team comparisons via natural language.
README
npm version CI License: MIT MCP
A Model Context Protocol server that gives any MCP client (Claude Desktop, Claude Code, …) live football/soccer data — standings, fixtures, results, top scorers and team comparisons across Europe's top leagues.
Built with TypeScript + Zod, backed by the free football-data.org API.
Ask Claude "How is Real Madrid doing this season?" or "Compare Arsenal and Liverpool's recent form" and it answers with real data through these tools.
🔗 Live playground: matchday-mcp-web.vercel.app — an interactive dashboard built with SvelteKit + Svelte 5 that runs on this server's data layer.
Demo
> get_standings { "competition": "La Liga" }
**La Liga standings — 2025**
# Team P W D L GD Pts
1 FC Barcelona 38 31 1 6 59 94
2 Real Madrid CF 38 27 5 6 42 86
3 Villarreal CF 38 22 6 10 26 72
4 Club Atlético de Madrid 38 21 6 11 18 69
...
Tools
| Tool | What it does |
|---|---|
get_standings |
League table for a competition (position, W/D/L, GD, points). |
get_matches |
Matches for a competition, filterable by status and matchday. |
get_top_scorers |
Top scorers for a competition. |
find_team |
Look up a club by name (country, stadium, founded year, competitions). |
get_team_matches |
A club's recent results or upcoming fixtures, with a W/D/L form string. |
compare_teams |
Compare two clubs by recent form (last 5) and W/D/L tally. |
Competitions (free tier): Premier League (PL), La Liga (PD), Bundesliga (BL1),
Serie A (SA), Ligue 1 (FL1), Eredivisie (DED), Primeira Liga (PPL), Championship (ELC),
Brazil Série A (BSA), Champions League (CL), World Cup (WC), European Championship (EC).
You can pass a competition by name ("Premier League") or code ("PL").
Quick start (Claude Desktop)
Get a free API token at football-data.org/client/register (takes ~1 minute).
Add the server to your
claude_desktop_config.json:{ "mcpServers": { "matchday": { "command": "npx", "args": ["-y", "matchday-mcp"], "env": { "FOOTBALL_DATA_TOKEN": "your_free_token_here" } } } }Restart Claude Desktop. Ask it about standings, fixtures, scorers or team form.
Works the same in any MCP client. In Claude Code:
claude mcp add matchday -e FOOTBALL_DATA_TOKEN=your_token -- npx -y matchday-mcp.
Development
git clone https://github.com/reiorozco/matchday-mcp.git
cd matchday-mcp
npm install
export FOOTBALL_DATA_TOKEN=your_free_token # required to hit the live API
npm run dev # run the server over stdio (tsx)
npm test # run the unit tests (no token needed — fetch is mocked)
npm run typecheck # tsc --noEmit
npm run build # bundle to dist/ with tsup
| Variable | Required | Description |
|---|---|---|
FOOTBALL_DATA_TOKEN |
yes | Free token from football-data.org. |
Design notes
- Zod-validated tools. Every tool input is described and validated with Zod, so the model gets clear schemas and bad arguments fail fast with readable errors.
- Caching + rate-limit resilience. The free tier allows 10 req/min and returns HTTP 429 when exceeded, so the client adds an in-memory TTL cache plus bounded retry/backoff.
- Lazy team index. football-data.org has no team-name search, so the client builds a
name → id index across the domestic leagues one league at a time with early exit — a
well-known club costs 1–2 requests, not a full sweep. Name resolution is ranked
(exact → starts-with → shortest name), so
"Barcelona"→ FC Barcelona, not RCD Espanyol. - Off-season aware. In the off-season the API's "current season" already points at the next, not-yet-started season (empty tables), so the default season rolls over in August.
- Pure, testable handlers. Tool logic lives in plain functions returning strings; the MCP wiring is a thin layer on top. The same data layer powers the web playground (source).
Data
Data from football-data.org. This project is not affiliated with football-data.org or any league.
License
MIT © Reinaldo Orozco
Установка Matchday
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/reiorozco/matchday-mcpFAQ
Matchday MCP бесплатный?
Да, Matchday MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Matchday?
Нет, Matchday работает без API-ключей и переменных окружения.
Matchday — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Matchday в Claude Desktop, Claude Code или Cursor?
Открой Matchday на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Matchday with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
