openfoot-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
MCP server for the OpenFootAPI football intelligence API. Gives an LLM client real football data — fixtures, standings, lineups, live events, **shot-level xG with pitch coordinates**, and model-derived fair odds — instead of a hallucinated scoreline.
15 tools, 1 prompt. Node ≥ 20, no build step.
Install
Set your API key in the environment. Free tier: 5,000 requests/month. Get a key at openfootapi.com/pricing.
Claude Desktop / Claude Code
Cursor / Windsurf / any stdio MCP client
Same block, in that client's MCP config file.
Tools
| Tool | What it returns |
|---|---|
| openfoot_competitions | Supported competitions, season metadata, data source and licence per competition |
| openfoot_search | Free-text team/competition name → stable IDs |
| openfoot_matches | Fixtures and results, filtered by date / competition / team / status / season / round, cursor-paginated |
| openfoot_standings | Standings table for a competition and season |
| openfoot_match_lineups | Starting XI, bench, formation |
| openfoot_match_events | Goals, cards, substitutions, commentary timeline |
| openfoot_match_xg | One entry per shot: pitch coordinates + xG value |
| openfoot_match_context | Derived context — form, head-to-head, pre-computed signals |
| openfoot_league_xg | League xG table: xG for, xG against, over/under-performance vs actual goals |
| openfoot_odds | Bookmaker benchmark + implied fair probabilities. Informational, not betting advice |
| openfoot_quota | Remaining monthly quota — this call does not consume quota |
| openfoot_health | Reachability check. Works without an API key |
Prompt: scout_team_form — resolve a team, pull its last 5 matches, read the xG behind the results.
**Start with openfoot_search** to resolve IDs. Guessing IDs wastes quota: 404s and empty results are metered like any other request.
Coverage, stated honestly
The catalogue lists 120 competitions. **Depth is not uniform, and the catalogue is wider than the deep coverage.**
- **Deepest:** Bundesliga, 2. Bundesliga, DFB Pokal, Superliga României
- **Expanded European:** Eredivisie, Primeira Liga, Süper Lig, Pro League, Scottish Premiership
- **Historical / analytics only:** Premier League, La Liga, Serie A, Ligue 1 (xG is Understat-derived)
Call openfoot_competitions and check your league before you build on it.
Quota behaviour
- Free: 5,000 requests/month, 60 req/min. Developer $14/month: 250,000 requests/month, 100 req/min, includes xG, shot maps, lineups, live events and fair odds. Pro $39/month: 2,000,000/month, 250 req/min.