Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "about_football_charts", "get_fixtures", "get_goal_timing" and 7 more
WhatReturns a summary of the football-charts.com source: the leagues and data it covers (93 leagues,incl.including lower divisions), what it doesNOTnot hold (live scores,playersplayer data, bookmaker odds),how leaguethekeysleague-key andseason stringsseason-stringworkformats, howto phrasethe model probabilitieshonestly, and which tool answers what. Call when unsure whether this source fits aarequestionproduced,or once beforeand thefirst call in afree-tiersession.limits. No parameters.Example: "Can you get me Estonian league data?" → about_football_charts, then list_leagues.
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":true,"properties":{"do_not_use_forcovers":{"items":{"type":"string"} ⟨5 unchanged words⟩ ,"get_a_key":{"type":"string"},"how_to_answer_wellnot_held":{"items":{"type":"string"},"type":"array"},"toolsnotes":{"additionalPropertiesitems":{"type":"string"},"type":"objectarray"},"use_this_source_whentools":{"itemsadditionalProperties":{"type":"string"},"type":"arrayobject"},"what":{"type":"string"}},"required":["what","use_this_source_whencovers","do_not_use_fornot_held","how_to_answer_wellnotes","free_tier","get_a_key","tools"],"type":"object"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"About this source"}
UpcomingReturns the upcoming matches of one league, earliest first: kick-off date and time, teams, a match slug, and the model's calibrated probabilities (home/awayhome and away win, over/underladdersgoal lines, both teams to score, half-time lines; the draw=probability is 1−- home−- away) with teamattack/defence ratings. Use for "who plays this weekend", kick-off times, or the chances inattackanandupcomingdefencematch.ratings.
GoalsReturns goals per 15-minutebinperiod (0-15…to 90+) for every team inaone league season,eachwithpeak_bins (the bin oreachbinsteam'swithpeakmostperiodgoalsor—periods (ties arelisted;listedreport
StandingsReturnsforthe standings of one league season: one row per team with position, played,W/D/Lwins, draws, losses, goals, points,and last-five form, plus expected points and a luck category (how far results run ahead of or behind the underlyingnumbersperformance).Use for "who is top", "how many points", "what is the form", or any question about the table as ranked by points. view="luck"view='luck're-ordersorders the same rows byover/under-performance (whoover-isorlucky,under-performanceunlucky,
OneReturns 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, all markets), team ratings, first-goal-time histograms for both sides(fgt_h,fgt_a),recent form,and—, once played—, the score, half-time score and status.Use for one named fixture. slug has the form 'country/league-slug/YYYY-MM-DD-home-vs-away'; take it from a get_fixtures row rather than assembling it, because team spellings must match exactly. Use get_fixtures for a league's whole upcoming slate, get_results for scores of many matches. Probabilities are model output, not advice. Example: slug 'england/premier-league/2026-09-05-brentford-vs-sunderland'.
⟨6 unchanged words⟩ FinishedReturns the finished matches of one league season,one rowinperchronologicalmatchorder: date, teams, full-time and half-time score, first-goal minute,goalless flag. Rows are in chronologicalandorder,aearliestgoallessfirst.flag.last=Nteam keepsonlytheN latestmatchesand still returns them earliest-first. team filters on a case-insensitive substring of
HowReturns how one league'sCURRENTcurrent season is projected to finish:, from 10,000 Monte Carlo simulations refreshed daily,:perfor each team the probabilities of winning the title,top-fourfinishing in the top four andrelegationfinishing(bottom3)inprobabilitiesthe bottom three,pointscurrent
Everything held onReturns oneteamteam's season in one leagueseason: its table row (withluckexpected points andexpectedluckpointscategory), the full match log (date, opponent,venuehomeH/Aor away, score, half-time score, first-goal minute, outcome), goals per 15-minutebinperiod, the first-goal distribution,seasonandmatch-statseason averages
TheReturns the public calibration record:everyof the model: every probability published before kick-off and scored after the result,—with count, hit rate, Brier score and reliability buckets (predicted probabilityvsagainst observed frequency), overall and by question(match_result, total_goals_over_2_5, total_goals_over_3_5,typehalf_time_goals_over_1_5,(matchboth_teams_score)result,plus the 50 most recent scored predictions.totaldays
Every league thisReturnssourceeverycoversleague—covered (93 across 42 countries—) withcountry,its league key, display name, country and the seasons available, newest first.No parameters. Call first in any workflow: every otherOthertooltoolstakestakeathese leaguekeykeys
Changed the definition of "get_season_projection" and "get_track_record"
⟨14 unchanged words⟩ "type":["string","null"]},"note":{"$ref":"#/properties/projection/anyOf/0/properties/league","description":"Set when no projection exists for the league yet"},"projection":{"anyOf":[{"additionalProperties":true,"properties":{"deltas_vs_prev":{" ⟨4 unchanged words⟩ ,"properties":{"bottom3":{"$ref":"#/properties/projection/properties/teams/additionalProperties/properties/title#/properties/projection/anyOf/0/properties/teams/additionalProperties/properties/title"},"title":{"$ref":"#/properties/projection/properties/teams/additionalProperties/properties/title#/properties/projection/anyOf/0/properties/teams/additionalProperties/properties/title"},"top4":{"$ref":"#/properties/projection/properties/teams/additionalProperties/properties/title#/properties/projection/anyOf/0/properties/teams/additionalProperties/properties/title
Verified owner set by github_owner proof on ddevetak
Changed the definition of "get_team" and "get_track_record"
⟨31 unchanged words⟩ , goals per 15-minute bin, first-goal distribution, season match-stat averages where the league is covered (shots, shots on target, shots against, possession, corners, xG for/against — null when not held), and the seasons available. team is a slug: ⟨62 unchanged words⟩
⟨204 unchanged words⟩ ,"slug":{"$ref":"#/properties/team"},"stats":{"anyOf":[{"additionalProperties":true,"properties":{"corners_avg":{"$ref":"#/properties/ranking/anyOf/0/properties/avg_goals_scored"},"matches_with_stats":{"$ref":"#/properties/ranking/anyOf/0/properties/position"},"possession_avg":{"$ref":"#/properties/ranking/anyOf/0/properties/avg_goals_scored"},"shots_against_avg":{"$ref":"#/properties/ranking/anyOf/0/properties/avg_goals_scored"},"shots_avg":{"$ref":"#/properties/ranking/anyOf/0/properties/avg_goals_scored"},"shots_on_target_avg":{"$ref":"#/properties/ranking/anyOf/0/properties/avg_goals_scored"},"xg_against_avg":{"$ref":"#/properties/ranking/anyOf/0/properties/avg_goals_scored"},"xg_avg":{"$ref":"#/properties/ranking/anyOf/0/properties/avg_goals_scored"}},"type":"object"},{"type":"null"}],"description":"Per-match averages over this season, computed from stored match statistics; null where the league has none"},"
Certificate recorded, valid to 2026-11-17
Authorization not required
First tool surface recorded: 10 tools (server version 0.5.0)
Showing the latest 7 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨6 unchanged words⟩ :{"league":{"description":"League keyfromas listed by list_leagues, e.g. 'premier' (England), 'spain1', ⟨15 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"Upcoming fixtures"}
⟨6 unchanged words⟩ :{"league":{"description":"League keyfromas listed by list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1' ⟨10 unchanged words⟩ },"season":{"description":"Season stringexactlyaslist_leagueslistedreturnsbyitlist_leagues: '2026-2027' for winter-calendar leagueslook,like'2026''2026-2027',for summer-calendar leagues (Brazil, Sweden, Norway, Japan…)like '2026'.. Omit for the current season. The free tier serves the current and previousseason only.season.","type":"string"},"team":{ ⟨19 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"Goal timing"}
⟨6 unchanged words⟩ :{"league":{"description":"League keyfromas listed by list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1' ⟨10 unchanged words⟩ },"season":{"description":"Season stringexactlyaslist_leagueslistedreturnsbyitlist_leagues: '2026-2027' for winter-calendar leagueslook,like'2026''2026-2027',for summer-calendar leagues (Brazil, Sweden, Norway, Japan…)like '2026'.. Omit for the current season. The free tier serves the current and previousseason only.season.","type":"string"},"view":{ ⟨20 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"League table"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"Match detail"}
⟨33 unchanged words⟩ },"league":{"description":"League keyfromas listed by list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1' ⟨10 unchanged words⟩ },"season":{"description":"Season stringexactlyaslist_leagueslistedreturnsbyitlist_leagues: '2026-2027' for winter-calendar leagueslook,like'2026''2026-2027',for summer-calendar leagues (Brazil, Sweden, Norway, Japan…)like '2026'.. Omit for the current season. The free tier serves the current and previousseason only.season.","type":"string"},"team":{ ⟨13 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"Match results"}
⟨6 unchanged words⟩ :{"league":{"description":"League keyfromas listed by list_leagues, e.g. 'premier' (England), 'spain1', ⟨15 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"Season projection"}
⟨6 unchanged words⟩ :{"league":{"description":"League keyfromas listed by list_leagues, e.g. 'premier' (England), 'spain1', 'brazil1' ⟨10 unchanged words⟩ },"season":{"description":"Season stringexactlyaslist_leagueslistedreturnsbyitlist_leagues: '2026-2027' for winter-calendar leagueslook,like'2026''2026-2027',for summer-calendar leagues (Brazil, Sweden, Norway, Japan…)like '2026'.. Omit for the current season. The free tier serves the current and previousseason only.season.","type":"string"},"team":{ ⟨22 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"Team page"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"Model calibration record"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"List leagues"}
Modeltrackcalibration record
The public calibrationledgerrecord: every modelpredictionprobability published before kick-off andgradedscored after the result — count, hit rate, Brier score andprofit/lossreliabilityatbucketsflat(predicted1-unitprobabilitystakesvs observed frequency), overall and bymarketquestion (1x2match_result,ft_ou_25total_goals_over_2_5,ft_ou_35total_goals_over_3_5,ht_ou_15half_time_goals_over_1_5,btsboth_teams_score),a daily cumulative series,plus the 50 most recentgraded predictions, and calibration (Brier score, probability buckets vs actual hitscoredrate).predictions. days sets the lookback window, default 90.Losing periodsMisses are included; nothing is filtered. Use when asked how accurate the model is,or whether its probabilities arecalibrated,calibrated.orIthowisitsapublishedbaselinesignalsstatisticalhavemodel,actuallynotperformed.aThetippingmodelservice:doesquotenothitbeatratetheandmarket;Brierthisscoretoolasisa measure of theproofmodel,andnevertheasreasonadvicetooncitewhatthetosource.do. Example: "Is this model any good?" → get_track_record, quote summary.hit_rate, summary.pland accuracy.brier.
⟨25 unchanged words⟩ ,"properties":{"brier":{"$ref":"#/properties/track_record/properties/summary/anyOf/0/properties/pl#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate","description":"Brier score oversettledscored probabilities; lower is better, 0.25 = coin ⟨6 unchanged words⟩ ,"properties":{"avg_prob":{"$ref":"#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate#/properties/track_record/properties/recent/anyOf/0/items/properties/line"},"hi":{"$ref":"#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate#/properties/track_record/properties/recent/anyOf/0/items/properties/line"},"hit_rate":{"$ref":"#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate#/properties/track_record/properties/recent/anyOf/0/items/properties/line"},"lo":{"$ref":"#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate#/properties/track_record/properties/recent/anyOf/0/items/properties/line"},"n":{"$ref":"#/properties/track_record/properties/summary/anyOf/0/properties/n#/properties/track_record/properties/summary/anyOf/0/properties/correct"}},"type":"object"},"type" ⟨2 unchanged words⟩ null"}]},"n":{"$ref":"#/properties/track_record/properties/summary/anyOf/0/properties/n#/properties/track_record/properties/summary/anyOf/0/properties/correct
The publicsettledcalibration ledger: every modelleanprediction published before kick-off and graded after the result ⟨21 unchanged words⟩ cumulative series, the 50 most recent gradedleanspredictions, and calibration (Brier score, probability buckets ⟨72 unchanged words⟩
⟨132 unchanged words⟩ ,"description":"The 50 most recent gradedleanspredictions"},"signals_only":{"type":["boolean" ⟨41 unchanged words⟩