Skip to content

io.github.ddevetak/footballcharts-mcp

by ddevetak · remote · local (npm) · no sign-in to list tools · v0.5.0 · published by GitHub user ddevetak

Tables, results, fixtures, goal timing, season projections: 93 football leagues incl. lower tiers

Read only

10 tools: 10 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http footballcharts https://mcp.football-charts.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Only reads 10Claude Code: allow
  • about_football_chartsReturns a summary of the football-charts.com source: the leagues and data it covers (93 leagues, including lower divisions), what it does not hold (live scores, player data, bookma…No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Returns a summary of the football-charts.com source: the leagues and data it covers (93 leagues, including lower divisions), what it does not hold (live scores, player data, bookmaker odds), the league-key and season-string formats, how the model probabilities are produced, and the free-tier limits. No parameters.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: About this source
  • get_fixturesReturns the upcoming matches of one league, earliest first: kick-off date and time, teams, a match slug, and the model's calibrated probabilities (home and away win, over/under goa…No findings

    Why it is in this group

    • The name "get_fixtures" says "get": a word for reading.
    Description, as the server wrote it
    Returns the upcoming matches of one league, earliest first: kick-off date and time, teams, a match slug, and the model's calibrated probabilities (home and away win, over/under goal lines, both teams to score, half-time lines; the draw probability is 1 - home - away) with team attack and defence ratings. The probabilities come from a baseline statistical model of past results (no injuries, motivation or weather) and are not bookmaker prices.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Upcoming fixtures
  • get_goal_timingReturns goals per 15-minute period (0-15 to 90+) for every team in one league season, with each team's peak period or periods (ties are listed together), share of late goals and sh…No findings

    Why it is in this group

    • The name "get_goal_timing" says "get": a word for reading.
    Description, as the server wrote it
    Returns goals per 15-minute period (0-15 to 90+) for every team in one league season, with each team's peak period or periods (ties are listed together), share of late goals and share of first-half goals, plus league totals and the league's most active period. team limits the result to teams whose name contains the given text.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Goal timing
  • get_league_tableReturns the standings of one league season: one row per team with position, played, wins, draws, losses, goals, points and last-five form, plus expected points and a luck category …No findings

    Why it is in this group

    • The name "get_league_table" says "get": a word for reading.
    Description, as the server wrote it
    Returns the standings of one league season: one row per team with position, played, wins, draws, losses, goals, points and last-five form, plus expected points and a luck category (how far results run ahead of or behind the underlying performance). view='luck' orders the same rows by over- or under-performance and view='goals' by goals scored; the default orders by points. Without a season, returns the current season.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: League table
  • get_matchReturns one match in full, identified by its slug ('country/league-slug/YYYY-MM-DD-home-vs-away', as listed in the slug field of upcoming fixtures): the complete model probability …No findings

    Why it is in this group

    • The name "get_match" says "get": a word for reading.
    Description, as the server wrote it
    Returns one match in full, identified by its slug ('country/league-slug/YYYY-MM-DD-home-vs-away', as listed in the slug field of upcoming fixtures): the complete model probability block (calibrated and raw), team ratings, first-goal-time histograms for both sides, recent form and, once played, the score, half-time score and status.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Match detail
  • get_resultsReturns the finished matches of one league season in chronological order: date, teams, full-time and half-time score, first-goal minute and a goalless flag.No findings

    Why it is in this group

    • The name "get_results" says "get": a word for reading.
    Description, as the server wrote it
    Returns the finished matches of one league season in chronological order: date, teams, full-time and half-time score, first-goal minute and a goalless flag. team keeps the matches where either side's name contains the given text (case-insensitive); last=N keeps only the N most recent matches. Contains no odds.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Match results
  • get_season_projectionReturns how one league's current season is projected to finish, from 10,000 Monte Carlo simulations refreshed daily: for each team the probabilities of winning the title, finishing…No findings

    Why it is in this group

    • The name "get_season_projection" says "get": a word for reading.
    Description, as the server wrote it
    Returns how one league's current season is projected to finish, from 10,000 Monte Carlo simulations refreshed daily: for each team the probabilities of winning the title, finishing in the top four and finishing in the bottom three, current points, mean final points, a 10th-90th percentile points range, a finishing-position matrix, and the change since the previous run. Covers the current season only; returns a note when no projection exists for the league yet.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Season projection
  • get_teamReturns one team's season in one league: its table row (with expected points and luck category), the full match log (date, opponent, home or away, score, half-time score, first-goa…No findings

    Why it is in this group

    • The name "get_team" says "get": a word for reading.
    Description, as the server wrote it
    Returns one team's season in one league: its table row (with expected points and luck category), the full match log (date, opponent, home or away, score, half-time score, first-goal minute, outcome), goals per 15-minute period, the first-goal distribution, and season averages of match statistics (shots, shots on target, possession, corners, xG) where the league has them. team is a lower-case slug with hyphens, e.g. 'arsenal' or 'manchester-city'.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Team page
  • get_track_recordReturns the public calibration record of the model: every probability published before kick-off and scored after the result, with count, hit rate, Brier score and reliability bucke…No findings

    Why it is in this group

    • The name "get_track_record" says "get": a word for reading.
    Description, as the server wrote it
    Returns the public calibration record of the model: every probability published before kick-off and scored after the result, with count, hit rate, Brier score and reliability buckets (predicted probability against observed frequency), overall and by question type (match result, total goals over 2.5 and 3.5, half-time goals over 1.5, both teams to score), plus the 50 most recent scored predictions. Misses are included. days sets the lookback window (default 90).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Model calibration record
  • list_leaguesReturns every league covered (93 across 42 countries) with its league key, display name, country and the seasons available, newest first.No findings

    Why it is in this group

    • The name "list_leagues" says "list": a word for reading.
    Description, as the server wrote it
    Returns every league covered (93 across 42 countries) with its league key, display name, country and the seasons available, newest first. Other tools take these league keys and season strings. Season format depends on the competition: '2026-2027' for winter-calendar leagues, '2026' for summer-calendar leagues. No parameters.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: List leagues

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.5.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http footballcharts https://mcp.football-charts.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__footballcharts__about_football_charts",
      "mcp__footballcharts__list_leagues",
      "mcp__footballcharts__get_league_table",
      "mcp__footballcharts__get_results",
      "mcp__footballcharts__get_fixtures",
      "mcp__footballcharts__get_match",
      "mcp__footballcharts__get_season_projection",
      "mcp__footballcharts__get_team",
      "mcp__footballcharts__get_goal_timing",
      "mcp__footballcharts__get_track_record"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as footballcharts. Review it before you use it.