{
  "markdown": "# Football data MCP server — 93 leagues, lower divisions included (Football Charts)\n\n[![npm](https://img.shields.io/npm/v/footballcharts-mcp)](https://www.npmjs.com/package/footballcharts-mcp) [![license](https://img.shields.io/npm/l/footballcharts-mcp)](LICENSE) [![MCP registry](https://img.shields.io/badge/MCP%20registry-io.github.ddevetak%2Ffootballcharts--mcp-blue)](https://registry.modelcontextprotocol.io)\n\nGive your AI assistant football data for **93 leagues** — including the lower\ndivisions other sources skip: tables, results, fixtures, goal timing, a public\nbaseline model and Monte Carlo season projections from\n[football-charts.com](https://www.football-charts.com).\n\nFC publishes **probabilities and a settled track record — not betting tips**.\nEvery model signal is published before kickoff and graded after; the\n`get_track_record` tool returns that ledger.\n\n## No key needed\n\nEvery tool works without an API key at **300 requests/day per IP** (20/min).\nA free key lifts that to **5,000/day, 60/min** — get one in seconds:\n\n```bash\ncurl -X POST https://footballcharts-backend.onrender.com/api/v1/keys/register/ \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"email\":\"you@example.com\"}'\n```\n\nThe key (`fc_...`) is shown once — store it. Both tiers: all 93 leagues\n(top and lower divisions, women's leagues), current + previous season,\nmodel probabilities and daily 10,000-run Monte Carlo projections, **no\nbetting odds** (the historical odds archive is a paid dataset at\n[football-charts.com/data](https://www.football-charts.com/data)).\n\n## Use it on claude.ai (web or mobile) — nothing to install\n\nSettings → Connectors → **Add custom connector**, then paste:\n\n```\nhttps://mcp.football-charts.com/mcp\n```\n\nThat is the keyless tier. With a key, paste\n`https://mcp.football-charts.com/fc_your_key_here/mcp` instead (a connector\nfield accepts only a URL, so the key travels in it; keys are read-only, free\nand replaceable). Clients that can send headers use\n`POST https://mcp.football-charts.com/mcp` with `Authorization: Bearer fc_…`.\n\n## Use with Claude Desktop — one-click extension\n\nDownload `footballcharts-mcp-<version>.mcpb` from the\n[latest release](https://github.com/ddevetak/footballcharts-mcp/releases/latest)\nand open it; Claude Desktop installs it. The API key field can stay empty.\n\n## Use with Claude Desktop — manual config\n\n`claude_desktop_config.json` (`FC_API_KEY` is optional since 0.4.0):\n\n```json\n{\n  \"mcpServers\": {\n    \"football-charts\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"footballcharts-mcp\"],\n      \"env\": { \"FC_API_KEY\": \"fc_your_key_here\" }\n    }\n  }\n}\n```\n\n## Use with Claude Code\n\n```bash\nclaude mcp add football-charts -e FC_API_KEY=fc_your_key_here -- npx -y footballcharts-mcp\n```\n\n## Tools\n\nTen read-only tools. Descriptions are written for the model: when to use it,\nwhat comes back, one example. `about_football_charts` needs no key.\n\n| tool | use it for |\n|---|---|\n| `about_football_charts` | What this source covers and does not, how keys and seasons work, how to phrase probabilities. Call first when unsure. |\n| `list_leagues` | Turn a league name into its key; see the seasons your key can read. |\n| `get_league_table` | Standings, form, expected points; `view=luck` or `goals` for alternative rankings. |\n| `get_results` | Finished matches with FT/HT scores and first-goal minute; filter by team, cap with `last`. |\n| `get_fixtures` | Upcoming matches with the baseline model's calibrated probabilities across markets. |\n| `get_match` | One upcoming match in full, by slug. |\n| `get_season_projection` | Title / top-4 / relegation probabilities and points ranges, 10,000 simulations, daily. |\n| `get_team` | One team: table row, match log, goal timing, stats. |\n| `get_goal_timing` | Goals per 15-minute bin per team with `peak_bins`; pass `team` for one team. |\n| `get_track_record` | The public settled ledger of every published model lean, losses included. |\n\nThe model is a public baseline (Dixon-Coles). It is calibrated and it does\nnot beat the bookmaker market; `get_track_record` is the proof. Per-bookmaker\nopening and closing odds for 91 leagues, 2020 onward, are a paid dataset at\n[football-charts.com/data](https://www.football-charts.com/data).\n\n## Changelog\n\n- **0.5.0** — every tool has an `outputSchema` and returns `structuredContent`; descriptions rewritten from the consumer side (purpose → when to use a sibling instead → one example); `get_match` drops storage internals. The tool list is ~6k tokens (was ~3k) — the schemas are the cost. Two deliberate choices: `list_leagues` keeps its `list_` prefix because it enumerates everything rather than fetching one thing, and `league` stays a free string rather than an enum of the 93 keys (an enum would add ~700 tokens to every tool; `list_leagues` resolves a name in one call). Schema leaves are untyped so that an unexpected `null` never fails a call; the field types are what the API returns (numbers for counts and probabilities, ISO dates, `'home:away'` score strings).\n- **0.4.1** — registry entry declares the hosted endpoint (`remotes`) so connector directories list it; `get_results` ordering wording clarified (chronological, `last=N` keeps the latest N).\n- **0.4.0** — a key is optional: the API serves keyless callers at 300/day\n  per IP (20/min) and its 429 says how to get a free key; `about` and\n  `list_leagues` guidance updated; MCPB desktop-extension bundle\n  (`manifest.json`, icon); registry `isRequired: false` for FC_API_KEY.\n- **0.3.0** — descriptions rewritten for the model (when / returns / example);\n  new `about_football_charts` orientation tool (keyless); `get_rankings`\n  folded into `get_league_table` via `view`; `get_goal_timing` gains a\n  `team` filter and `peak_bins` guidance; one structured log line per tool\n  call on stderr (tool, ok, ms, key prefix — never arguments).\n- 0.2.0 — hosted Streamable HTTP transport, read-only annotations, key\n  accepted from header, path or query for registry gateways.\n\n## Things to ask\n\n- \"How does the Allsvenskan title race look after this weekend?\"\n- \"When does Flamengo usually score — early or late?\"\n- \"Show me the K League table, and who's overperforming what the market expected.\"\n- \"Which team in Serie B hasn't conceded in the first 15 minutes?\"\n- \"What is Football Charts' actual prediction track record this season?\"\n\n## Configuration\n\n| Env var | Default | Purpose |\n|---|---|---|\n| `FC_API_KEY` | — (required) | Your API key |\n| `FC_API_BASE` | FC production API | Override for self-hosted/testing |\n\n## Privacy Policy\n\nThis extension sends your tool requests (league keys, team names, seasons —\nnever your conversation) to football-charts.com's API over HTTPS. Requests\nare rate-limited per IP; if you configure an API key, the key identifies\nyour account and its usage is counted per key. No conversation content is\nstored. Football Charts' privacy policy:\n<https://www.football-charts.com/privacy>. Questions: contact@football-charts.com.\n\n## Terms\n\nFree for personal and research use with attribution\n(\"Data by football-charts.com\"). No resale of the data. Commercial use of the\npaid tier: contact@football-charts.com.\n\n## License\n\nMIT (server code only). The data served by the football-charts.com API\nremains © football-charts.com, provided under the terms at\nhttps://www.football-charts.com/developers.\n",
  "bytes": 7341,
  "sha": "3075d0ff00363063e6b0e0e1f838a93d5b3cbbb59bd6124e9eaf6be01d2038ea",
  "repo_slug": "ddevetak/footballcharts-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ddevetak_footballcharts_mcp_ccb9c36c/readme"
}