football-docs
v0.6.4
Published
Searchable football data provider documentation for AI coding agents. Like Context7 for football data.
Maintainers
Readme
football-docs
Searchable football data provider and tooling documentation for AI coding agents. Like Context7 for football data.
Who it's for: Developers and analysts who use AI coding tools (Claude Code, Cursor, VS Code Copilot) to work with football data. Works with any tool that supports MCP.
What it does: Gives your AI agent a searchable index of documentation for 20 football data providers and tools — event types, qualifier IDs, coordinate systems, API endpoints, data models, identity surfaces, and cross-provider comparisons for the data providers (StatsBomb, Opta, Wyscout, Impect, SkillCorner, Sportradar, TheSportsDB, FMDB Pro, TransferRoom, and more), plus the open-source libraries people build with (kloppy, mplsoccer, socceraction, soccerdata, floodlight, and more). Your agent looks up the real docs instead of guessing from training data.
Why not just let the AI figure it out? LLMs get football data specifics wrong constantly — Opta qualifier IDs, StatsBomb coordinate ranges, API endpoint URLs, library method signatures. These are mutable facts that change across versions. football-docs gives the agent verified, sourced documentation with provenance tracking so you know where every answer came from.
Strategy
football-docs is intended to be a community-owned, source-transparent Context7 for football data. The public operating contract is in STRATEGY.md: what belongs here, what must stay out, how we handle public-safe provider facts, and how contributors should prove retrieval quality.
Provider identity facts
football-docs is the public source for provider identity-surface facts: access shape, ID schemes, matching fields, provider quirks, and provenance rules. Curated provider identity notes belong here when they can be stated without private register state. They should say whether a fact comes from public docs, public page evidence, licensed feed shape, or a reviewed public-safe observation, and must not include private paths, credentials, scraper state, action ledgers, mint salts, or raw restricted payloads.
MCP (Model Context Protocol) is a standard for connecting AI coding tools to external data sources.
Quick start
Claude Code
claude mcp add football-docs -- npx -y football-docsCursor
Settings → MCP → Add server. Use this config:
{
"mcpServers": {
"football-docs": {
"command": "npx",
"args": ["-y", "football-docs"]
}
}
}VS Code / Copilot
Add to .vscode/mcp.json:
{
"servers": {
"football-docs": {
"command": "npx",
"args": ["-y", "football-docs"]
}
}
}Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"football-docs": {
"command": "npx",
"args": ["-y", "football-docs"]
}
}
}Tools
| Tool | Description |
|------|-------------|
| search_docs | Full-text search across all provider docs. Filter by provider. Results include provenance (source URL, version). |
| resolve_provider_id | Resolve provider names and aliases to canonical indexed provider keys before searching. |
| get_provider_docs | Retrieve docs for a resolved provider, optionally filtered by topic or category. |
| list_providers | List all indexed providers and their doc coverage. |
| compare_providers | Compare how different providers handle the same concept. |
| request_update | Request a new provider, flag outdated docs, or suggest a better doc source. Queues locally and points to the matching public GitHub issue template. |
| resolve_entity | Resolve players, teams, or coaches to cross-provider IDs via the Reep API. |
Provider filters use the indexed provider keys shown by list_providers, but common aliases are accepted. Examples: fbref, understat, ClubElo, football-data.co.uk, and engsoccerdata search free-sources; Sofascore and ESPN search soccerdata; FMDB searches fmdb-pro; Transfer Room searches transferroom; Hudl Wyscout searches wyscout; Stats Perform / Opta F24 / WhoScored search opta; Metrica, Sportec / DFL, and TRACAB search databallpy; Second Spectrum searches kloppy; SportRadar API / Soccer Extended search sportradar; The Sports DB / TSDB search thesportsdb; StatsBomb Open Data searches statsbomb.
Example queries
- "What is Opta qualifier 76?" (big chance)
- "How does StatsBomb represent shot events?"
- "Compare Opta and Wyscout coordinate systems"
- "What player ID fields does Transfermarkt expose?"
- "Does SportMonks have xG data?"
- "What event types does kloppy map to GenericEvent?"
- "How does SPADL represent a tackle?"
Indexed providers
| Provider | Chunks | Categories | |----------|--------|------------| | StatsBomb | 234 | event-types, data-model, coordinate-system, api-access, api-endpoints, charting-lineups, xg-model, iq-metrics, player/team stats, player-mapping, identity-surfaces | | Wyscout | 161 | event-types, data-model, coordinate-system, api-access, api-endpoints, charting-analysis-metrics, glossary, identity-surfaces | | kloppy | 126 | data-model, usage, provider-mapping, tracking-rendering, event-derived-metrics | | floodlight | 145 | core data objects, io parsers (Tracab, DFL, Kinexon, Opta, SkillCorner, StatsBomb, StatsPerform, Second Spectrum), transforms, metrics, models, visualisation, guides | | SportMonks | 82 | event-types, data-model, api-access, charting-season-stories, identity-surfaces | | databallpy | 63 | data-model, overview, usage | | mplsoccer | 64 | overview, pitch-types, visualizations | | Impect | 55 | api-access, api-endpoints, data-model, event-types, coordinate-system, concepts, identity-surfaces | | SkillCorner | 48 | api-access, api-endpoints, data-model, physical-data, coordinate-system, concepts, identity-surfaces | | Free sources | 62 | overview, fbref, understat, contextual-story-joins, xg-timelines | | soccerdata | 41 | overview, data-sources, usage | | TransferRoom | 43 | api-access, api-endpoints, charting-availability, data-model, identity-surfaces | | Opta | 71 | event-types, qualifiers, coordinate-system, api-access, charting-game-state, charting-lineups, charting-passmaps, charting-set-pieces, charting-shot-placement, identity-surfaces | | FMDB Pro | 35 | api-access, api-endpoints, data-model, identity-surfaces | | Sportradar | 29 | api-access, api-endpoints, data-model, charting-and-stories, integration-notes | | socceraction | 27 | SPADL format, VAEP, Expected Threat | | TheSportsDB | 18 | api-access, api-endpoints, livescore, identity-surfaces | | FotMob | 3 | identity-surfaces | | Soccerdonna | 3 | identity-surfaces | | Transfermarkt | 3 | identity-surfaces |
1,313 searchable chunks across 20 providers and tools.
Contributing
Contributions are welcome from everyone. There are three ways to help:
- Open an issue — request a new provider, flag outdated docs, or suggest a better doc source
- Use the
request_updatetool — AI agents can flag outdated or missing docs directly via the MCP server, which queues requests locally and points to the matching public GitHub issue template - Open a PR — fix errors, add new providers, or improve existing docs
You don't need to be an expert. See CONTRIBUTING.md for the full guide.
For maintainers
Crawl pipeline
Provider doc sources are tracked in providers.json. The crawl pipeline discovers the best doc source (llms.txt > ReadTheDocs > GitHub README) and writes markdown with provenance frontmatter.
npm run discover # probe sources without crawling
npm run crawl # crawl all providers with sources
npm run crawl -- --provider kloppy # crawl one provider
npm run ingest # rebuild search index from docs/
npm run ingest -- --provider kloppy # re-ingest one provider (incremental)Each crawled doc carries provenance metadata (source URL, source type, upstream version, crawl timestamp) that is surfaced in search results, so agents can distinguish between curated content and upstream documentation.
License
MIT
