footballcharts-mcp
What this MCP does
Provides football league tables, fixtures, results, team statistics, goal timing, season projections, probabilities, and model calibration records.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['what', 'use_this_source_when', 'do_not_use_for', 'how_to_answer_well', 'free_tier', 'get_a_key', 'tools'], 'properties': {'what': {'type': 'string'}, 'tools': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'free_tier': {'type': 'string'}, 'get_a_key': {'type': 'string'}, 'do_not_use_for': {'type': 'array', 'items': {'type': 'string'}}, 'how_to_answer_well': {'type': 'array', 'items': {'type': 'string'}}, 'use_this_source_when': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['league'], 'properties': {'league': {'type': 'string', 'description': "League key from list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1', 'sweden1', 'wgermany1' (women). Not the display name."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'count': {}, 'league': {}, 'matches': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'home_team', 'away_team'], 'properties': {'slug': {'type': 'string', 'description': 'Input to get_match'}, 'time': {'$ref': '#/properties/league'}, 'league': {'$ref': '#/properties/league'}, 'status': {'$ref': '#/properties/league'}, 'country': {'$ref': '#/properties/league'}, 'away_team': {'type': 'string'}, 'home_team': {'type': 'string'}, 'match_date': {'$ref': '#/properties/league'}, 'real_league_name': {'$ref': '#/properties/league'}, 'model_predictions': {'anyOf': [{'type': 'object', 'properties': {'dc_v2': {'anyOf': [{'type': 'object', 'properties': {'model': {'$ref': '#/properties/league'}, 'calibrated': {'anyOf': [{'type': 'object', 'properties': {'away': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'home': {}, 'btts_yes': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_0.5': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_1.5': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_2.5': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_3.5': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_4.5': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'ht_over_0.5': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'ht_over_1.5': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'expected_ht_goals': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'expected_away_goals': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'expected_home_goals': {'$ref': '#/properties/matches/anyOf/0/items/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}}, 'description': 'Probabilities 0â\x80\x931. The draw is NOT a field: draw = 1 â\x88\x92 home â\x88\x92 away.', 'additionalProperties': True}, {'type': 'null'}], 'description': 'Use these. Calibrated on settled matches.'}, 'computed_at': {'$ref': '#/properties/league'}, 'data_through': {'$ref': '#/properties/league', 'description': 'Last match date the model has seen'}}, 'additionalProperties': True}, {'type': 'null'}]}}, 'additionalProperties': True}, {'type': 'null'}]}}, 'additionalProperties': True}}, {'type': 'null'}]}, 'attribution': {'type': ['string', 'null'], 'description': 'Cite as "Data by football-charts.com"'}}, 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['league'], 'properties': {'team': {'type': ['string', 'null'], 'description': "Team name substring, e.g. 'Flamengo' â\x80\x94 returns that team's row only"}, 'league': {'type': 'string', 'description': "League key from list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1', 'sweden1', 'wgermany1' (women). Not the display name."}, 'season': {'type': 'string', 'description': "Season string exactly as list_leagues returns it: winter-calendar leagues look like '2026-2027', summer-calendar leagues (Brazil, Sweden, Norway, Japanâ\x80¦) like '2026'. Omit for the current season. The free tier serves the current and previous season only."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['team'], 'properties': {'bins': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'number'}}, {'type': 'null'}], 'description': "Goals per bin: '0-15','15-30','30-45','45+','46-60','60-75','75-90','90+'"}, 'team': {'type': 'string'}, 'total': {'$ref': '#/properties/stats/anyOf/0/properties/total_goals'}, 'peak_bins': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'description': 'Bin(s) with most goals â\x80\x94 ties are listed; report a tie as a tie'}, 'peak_goals': {'$ref': '#/properties/stats/anyOf/0/properties/total_goals'}, 'first_half_pct': {'$ref': '#/properties/data/anyOf/0/items/properties/late_share_pct'}, 'late_share_pct': {'description': '% of goals from 75â\x80² on'}}, 'additionalProperties': True}}, {'type': 'null'}]}, 'note': {'$ref': '#/properties/league'}, 'stats': {'anyOf': [{'type': 'object', 'properties': {'late_goals': {'$ref': '#/properties/stats/anyOf/0/properties/total_goals'}, 'match_count': {'$ref': '#/properties/stats/anyOf/0/properties/total_goals'}, 'total_goals': {}, 'most_active_period': {'$ref': '#/properties/league'}}, 'additionalProperties': True}, {'type': 'null'}]}, 'league': {}, 'season': {'$ref': '#/properties/league'}, 'time_bins': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'attribution': {'type': ['string', 'null'], 'description': 'Cite as "Data by football-charts.com"'}, 'team_filter': {'$ref': '#/properties/league'}, 'team_not_found': {'$ref': '#/properties/league'}}, 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['league'], 'properties': {'view': {'anyOf': [{'enum': ['classic', 'luck', 'goals'], 'type': 'string'}, {'type': 'null'}], 'description': "Row order; default 'classic' (by points)"}, 'league': {'type': 'string', 'description': "League key from list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1', 'sweden1', 'wgermany1' (women). Not the display name."}, 'season': {'type': 'string', 'description': "Season string exactly as list_leagues returns it: winter-calendar leagues look like '2026-2027', summer-calendar leagues (Brazil, Sweden, Norway, Japanâ\x80¦) like '2026'. Omit for the current season. The free tier serves the current and previous season only."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'view': {'$ref': '#/properties/league'}, 'table': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['team'], 'properties': {'won': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'lost': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'team': {'type': 'string'}, 'drawn': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'played': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'points': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'position': {}, 'goals_for': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'last_5_form': {'$ref': '#/properties/league', 'description': "Latest results as letters, e.g. 'WWDLW'"}, 'clean_sheets': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'goals_against': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'last_5_points': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'luck_category': {'$ref': '#/properties/league', 'description': "'lucky' | 'fair' | 'unlucky'"}, 'expected_points': {'description': 'Points the underlying numbers say the team should have'}, 'goal_difference': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'luck_difference': {'$ref': '#/properties/table/anyOf/0/items/properties/expected_points', 'description': 'points â\x88\x92 expected_points; positive = ahead of the numbers'}, 'avg_goals_scored': {'$ref': '#/properties/table/anyOf/0/items/properties/expected_points'}, 'expected_position': {'$ref': '#/properties/table/anyOf/0/items/properties/position'}, 'avg_goals_conceded': {'$ref': '#/properties/table/anyOf/0/items/properties/avg_goals_scored'}, 'over_25_percentage': {'$ref': '#/properties/table/anyOf/0/items/properties/avg_goals_scored'}}, 'additionalProperties': True}}, {'type': 'null'}]}, 'league': {}, 'season': {'$ref': '#/properties/league'}, 'attribution': {'type': ['string', 'null'], 'description': 'Cite as "Data by football-charts.com"'}, 'season_state': {'$ref': '#/properties/league', 'description': "'in_season' or 'finished'"}, 'current_season': {'$ref': '#/properties/league'}}, 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "Match slug from get_fixtures, e.g. 'england/premier-league/2026-09-05-brentford-vs-sunderland'"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['match'], 'properties': {'match': {'type': 'object', 'properties': {'slug': {}, 'time': {'$ref': '#/properties/match/properties/slug'}, 'fgt_a': {'anyOf': [{'type': 'array'}, {'type': 'null'}], 'description': 'Away side first-goal-time histogram'}, 'fgt_h': {'anyOf': [{'type': 'array'}, {'type': 'null'}], 'description': 'Home side first-goal-time histogram'}, 'label': {'$ref': '#/properties/match/properties/slug'}, 'league': {'$ref': '#/properties/match/properties/slug'}, 'season': {'$ref': '#/properties/match/properties/slug'}, 'country': {'$ref': '#/properties/match/properties/slug'}, 'away_team': {'$ref': '#/properties/match/properties/slug'}, 'home_team': {'$ref': '#/properties/match/properties/slug'}, 'ht_result': {'$ref': '#/properties/match/properties/slug'}, 'away_score': {'$ref': '#/properties/match/properties/home_score'}, 'home_score': {}, 'match_date': {'$ref': '#/properties/match/properties/slug'}, 'match_status': {'$ref': '#/properties/match/properties/slug', 'description': "'scheduled' before kick-off; 'ft' when finished"}, 'real_league_name': {'$ref': '#/properties/match/properties/slug'}, 'model_predictions': {'anyOf': [{'type': 'object', 'properties': {'dc_v2': {'anyOf': [{'type': 'object', 'properties': {'model': {'$ref': '#/properties/match/properties/slug'}, 'calibrated': {'anyOf': [{'type': 'object', 'properties': {'away': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'home': {}, 'btts_yes': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_0.5': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_1.5': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_2.5': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_3.5': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'over_4.5': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'ht_over_0.5': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'ht_over_1.5': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'expected_ht_goals': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'expected_away_goals': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}, 'expected_home_goals': {'$ref': '#/properties/match/properties/model_predictions/anyOf/0/properties/dc_v2/anyOf/0/properties/calibrated/anyOf/0/properties/home'}}, 'description': 'Probabilities 0â\x80\x931. The draw is NOT a field: draw = 1 â\x88\x92 home â\x88\x92 away.', 'additionalProperties': True}, {'type': 'null'}], 'description': 'Use these. Calibrated on settled matches.'}, 'computed_at': {'$ref': '#/properties/match/properties/slug'}, 'data_through': {'$ref': '#/properties/match/properties/slug', 'description': 'Last match date the model has seen'}}, 'additionalProperties': True}, {'type': 'null'}]}}, 'additionalProperties': True}, {'type': 'null'}]}}, 'additionalProperties': True}, 'attribution': {'type': ['string', 'null'], 'description': 'Cite as "Data by football-charts.com"'}}, 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['league'], 'properties': {'last': {'anyOf': [{'type': 'integer', 'maximum': 500, 'minimum': 1}, {'type': 'null'}], 'description': 'Keep only the N latest matches of the season, e.g. 5 for recent form (default: all)'}, 'team': {'type': ['string', 'null'], 'description': "Team name substring, e.g. 'Liverpool'"}, 'league': {'type': 'string', 'description': "League key from list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1', 'sweden1', 'wgermany1' (women). Not the display name."}, 'season': {'type': 'string', 'description': "Season string exactly as list_leagues returns it: winter-calendar leagues look like '2026-2027', summer-calendar leagues (Brazil, Sweden, Norway, Japanâ\x80¦) like '2026'. Omit for the current season. The free tier serves the current and previous season only."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'note': {'$ref': '#/properties/league'}, 'count': {}, 'league': {}, 'season': {'$ref': '#/properties/league'}, 'matches': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['homeTeam', 'awayTeam'], 'properties': {'date': {'$ref': '#/properties/league'}, 'time': {'$ref': '#/properties/league'}, 'score': {'$ref': '#/properties/league', 'description': "Full-time 'home:away', e.g. '3:0'"}, 'awayTeam': {'type': 'string'}, 'goalless': {'type': ['boolean', 'null']}, 'homeTeam': {'type': 'string'}, 'ht_result': {'$ref': '#/properties/league', 'description': "Half-time 'home:away'"}, 'first_goal_time': {'$ref': '#/properties/count', 'description': 'Minute of the first goal; null when goalless'}, 'first_goal_time_extra': {'$ref': '#/properties/count', 'description': 'Stoppage-time minutes added to first_goal_time'}}, 'additionalProperties': True}}, {'type': 'null'}]}, 'attribution': {'type': ['string', 'null'], 'description': 'Cite as "Data by football-charts.com"'}, 'season_state': {'$ref': '#/properties/league', 'description': "'in_season' or 'finished'"}, 'current_season': {'$ref': '#/properties/league'}}, 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['league'], 'properties': {'league': {'type': 'string', 'description': "League key from list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1', 'sweden1', 'wgermany1' (women). Not the display name."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projection'], 'properties': {'projection': {'type': 'object', 'required': ['teams'], 'properties': {'teams': {'type': 'object', 'description': 'Keyed by team name', 'additionalProperties': {'type': 'object', 'properties': {'top4': {'$ref': '#/properties/projection/properties/teams/additionalProperties/properties/title'}, 'title': {}, 'gd_now': {'$ref': '#/properties/projection/properties/n_sims'}, 'played': {'$ref': '#/properties/projection/properties/n_sims'}, 'bottom1': {'$ref': '#/properties/projection/properties/teams/additionalProperties/properties/title'}, 'bottom2': {'$ref': '#/properties/projection/properties/teams/additionalProperties/properties/title'}, 'bottom3': {'$ref': '#/properties/projection/properties/teams/additionalProperties/properties/title', 'description': 'Relegation-zone probability (bottom three)'}, 'p10_pts': {'$ref': '#/properties/projection/properties/n_sims'}, 'p90_pts': {'$ref': '#/properties/projection/properties/n_sims'}, 'pts_now': {'$ref': '#/properties/projection/properties/n_sims'}, 'mean_pts': {'$ref': '#/properties/projection/properties/teams/additionalProperties/properties/title'}, 'position_matrix': {'anyOf': [{'type': 'array', 'items': {'type': 'number'}}, {'type': 'null'}], 'description': 'Probability of finishing 1stâ\x80¦last'}}, 'additionalProperties': True}}, 'league': {}, 'n_sims': {}, 'season': {'$ref': '#/properties/projection/properties/league'}, 'run_date': {'$ref': '#/properties/projection/properties/league'}, 'deltas_vs_prev': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'object', 'properties': {'top4': {'$ref': '#/properties/projection/properties/teams/additionalProperties/properties/title'}, 'title': {'$ref': '#/properties/projection/properties/teams/additionalProperties/properties/title'}, 'bottom3': {'$ref': '#/properties/projection/properties/teams/additionalProperties/properties/title'}}, 'additionalProperties': True}}, {'type': 'null'}], 'description': 'Change since the previous run'}, 'partial_schedule': {'type': ['boolean', 'null']}, 'expected_remaining': {'$ref': '#/properties/projection/properties/n_sims'}, 'scheduled_remaining': {'$ref': '#/properties/projection/properties/n_sims'}}, 'additionalProperties': True}, 'attribution': {'type': ['string', 'null'], 'description': 'Cite as "Data by football-charts.com"'}}, 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['league', 'team'], 'properties': {'team': {'type': 'string', 'description': "Team slug, e.g. 'arsenal', 'manchester-city' (from the table's team names, lower-case, spaces as hyphens)"}, 'league': {'type': 'string', 'description': "League key from list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1', 'sweden1', 'wgermany1' (women). Not the display name."}, 'season': {'type': 'string', 'description': "Season string exactly as list_leagues returns it: winter-calendar leagues look like '2026-2027', summer-calendar leagues (Brazil, Sweden, Norway, Japanâ\x80¦) like '2026'. Omit for the current season. The free tier serves the current and previous season only."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'slug': {'$ref': '#/properties/team'}, 'team': {}, 'stats': {'anyOf': [{'type': 'object', 'properties': {'xg_avg': {'$ref': '#/properties/ranking/anyOf/0/properties/avg_goals_scored'}, 'shots_avg': {'$ref': '#/properties/ranking/anyOf/0/properties/avg_goals_scored'}, 'corners_avg': {'$ref': '#/properties/ranking/anyOf/0/properties/avg_goals_scored'}, 'possession_avg': {'$ref': '#/properties/ranking/anyOf/0/properties/avg_goals_scored'}, 'xg_against_avg': {'$ref': '#/properties/ranking/anyOf/0/properties/avg_goals_scored'}, 'shots_against_avg': {'$ref': '#/properties/ranking/anyOf/0/properties/avg_goals_scored'}, 'matches_with_stats': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'shots_on_target_avg': {'$ref': '#/properties/ranking/anyOf/0/properties/avg_goals_scored'}}, 'additionalProperties': True}, {'type': 'null'}], 'description': 'Per-match averages over this season, computed from stored match statistics; null where the league has none'}, 'league': {'$ref': '#/properties/team'}, 'season': {'$ref': '#/properties/team'}, 'matches': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'ht': {'$ref': '#/properties/team'}, 'away': {'$ref': '#/properties/team'}, 'date': {'$ref': '#/properties/team'}, 'home': {'$ref': '#/properties/team'}, 'time': {'$ref': '#/properties/team'}, 'score': {'$ref': '#/properties/team'}, 'venue': {'$ref': '#/properties/team', 'description': "'H' or 'A'"}, 'outcome': {'$ref': '#/properties/team', 'description': "'W' | 'D' | 'L'"}, 'first_goal_time': {'$ref': '#/properties/team'}}, 'additionalProperties': True}}, {'type': 'null'}]}, 'ranking': {'anyOf': [{'type': 'object', 'required': ['team'], 'properties': {'won': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'lost': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'team': {'type': 'string'}, 'drawn': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'played': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'points': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'position': {}, 'goals_for': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'last_5_form': {'$ref': '#/properties/team', 'description': "Latest results as letters, e.g. 'WWDLW'"}, 'clean_sheets': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'goals_against': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'last_5_points': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'luck_category': {'$ref': '#/properties/team', 'description': "'lucky' | 'fair' | 'unlucky'"}, 'expected_points': {'description': 'Points the underlying numbers say the team should have'}, 'goal_difference': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'luck_difference': {'$ref': '#/properties/ranking/anyOf/0/properties/expected_points', 'description': 'points â\x88\x92 expected_points; positive = ahead of the numbers'}, 'avg_goals_scored': {'$ref': '#/properties/ranking/anyOf/0/properties/expected_points'}, 'expected_position': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}, 'avg_goals_conceded': {'$ref': '#/properties/ranking/anyOf/0/properties/avg_goals_scored'}, 'over_25_percentage': {'$ref': '#/properties/ranking/anyOf/0/properties/avg_goals_scored'}}, 'additionalProperties': True}, {'type': 'null'}], 'description': "The team's table row"}, 'seasons': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'attribution': {'type': ['string', 'null'], 'description': 'Cite as "Data by football-charts.com"'}, 'first_goal_bins': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'time': {'$ref': '#/properties/team'}, 'count': {'$ref': '#/properties/ranking/anyOf/0/properties/position'}}, 'additionalProperties': True}}, {'type': 'null'}]}}, 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'anyOf': [{'type': 'integer', 'maximum': 365, 'minimum': 1}, {'type': 'null'}], 'description': 'Lookback window in days (default 90)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['track_record'], 'properties': {'attribution': {'type': ['string', 'null'], 'description': 'Cite as "Data by football-charts.com"'}, 'track_record': {'type': 'object', 'properties': {'recent': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'pl': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate'}, 'side': {'$ref': '#/properties/track_record/properties/recent/anyOf/0/items/properties/slug'}, 'slug': {}, 'market': {'$ref': '#/properties/track_record/properties/recent/anyOf/0/items/properties/slug'}, 'outcome': {'$ref': '#/properties/track_record/properties/recent/anyOf/0/items/properties/slug', 'description': "'won' | 'lost' | 'void'"}, 'model_prob': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate'}, 'result_score': {'$ref': '#/properties/track_record/properties/recent/anyOf/0/items/properties/slug'}}, 'additionalProperties': True}}, {'type': 'null'}], 'description': 'The 50 most recent graded predictions'}, 'pending': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/n', 'description': 'Leans published but not yet settled'}, 'summary': {'anyOf': [{'type': 'object', 'properties': {'n': {}, 'pl': {'description': 'Profit/loss in units at flat 1-unit stakes'}, 'won': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/n'}, 'lost': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/n'}, 'void': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/n'}, 'hit_rate': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/pl'}}, 'additionalProperties': True}, {'type': 'null'}], 'description': 'Whole window'}, 'accuracy': {'anyOf': [{'type': 'object', 'properties': {'n': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/n'}, 'brier': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/pl', 'description': 'Brier score over settled probabilities; lower is better, 0.25 = coin flip'}, 'buckets': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'n': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/n'}, 'hi': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate'}, 'lo': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate'}, 'avg_prob': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate'}, 'hit_rate': {'$ref': '#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate'}}, 'additionalProperties': True}}, {'type': 'null'}]}}, 'additionalProperties': True}, {'type': 'null'}]}, 'by_market': {'anyOf': [{'type': 'object', 'additionalProperties': {'$ref': '#/properties/track_record/properties/summary/anyOf/0'}}, {'type': 'null'}]}, 'signals_only': {'type': ['boolean', 'null']}}, 'additionalProperties': True}}, 'additionalProperties': True}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['leagues'], 'properties': {'count': {}, 'leagues': {'type': 'array', 'items': {'type': 'object', 'required': ['league', 'name', 'country', 'seasons'], 'properties': {'url': {}, 'name': {'type': 'string'}, 'league': {'type': 'string', 'description': 'The key to pass as `league`'}, 'country': {'type': 'string'}, 'seasons': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Newest first; exact strings for `season`'}}, 'additionalProperties': True}}, 'attribution': {'type': ['string', 'null'], 'description': 'Cite as "Data by football-charts.com"'}, 'season_window': {'$ref': '#/properties/leagues/items/properties/url'}}, 'additionalProperties': True}
Recent tool changes
Similar MCP servers
LiveDataLink
Exposes public-data tools covering economics, labor, banking, transport, books, legal opinions, carriers, environmental data, and…
AlpineDataWorks Intelligence Server
Provides economic, market, supply-chain, real-estate, energy, consumer, labor, and other scored intelligence indices with histori…
SharksAPI.AI
Provides marketing analytics and actions across GA4, Search Console, Google Ads, social channels, SEO, WordPress, and marketing p…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
Stratalize Finance
Provides financial, macroeconomic, banking, credit, commodities, M&A, ESG, labor, and regulatory benchmarks for analysis and plan…
Stratalize Healthcare
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Governance
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…