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 "get_intelligence" and "list_forecasts"
⟨23 unchanged words⟩ same objects as list_forecasts): player props plus high-confidence main-line picks on tennis,moneyline/spreads/totals.NFL, NCAAF, MLB, and soccer. bets[] is live for MLB, tennis, ⟨10 unchanged words⟩ NFL, NCAAF, NBA, NCAAB, NHL, tennis, andtennissoccer and can populate when available is false. Fair-price ⟨36 unchanged words⟩
⟨413 unchanged words⟩ "null"]},"narrative":{"description":"NotPick-defensepublished.rationale for a selected main-line side. Present only when a matching forecasts[] row is selected: true. Null when no pick was made on this token.","type":["string","null"]} ⟨264 unchanged words⟩ a beat-the-market claim. Player-prop rows on team sports;tennishigh-confidence main-linevia bet_typepicksML_P1/ML_P2on(moneyline)tennis,SPREAD_P1/SPREAD_P2NFL,(gameNCAAF,handicap)MLB,OVER/UNDERand soccer via bet_type (totalML_P1/ML_P2/ML_HOME/ML_AWAY/ML_DRAW,games
⟨33 unchanged words⟩ , NCAAF, NFL, NBA, NCAAB, NHL.TennisHigh-confidence main-line:moneylinepicks(rankingonBradley-Terry)tennis,asNFL,bet_typeNCAAF,ML_P1/ML_P2MLB,gameandhandicapsoccer:asoneSPREAD_P1/SPREAD_P2,sideandper
Changed the definition of "grade_slip"
⟨415 unchanged words⟩ (20 grades / IP / day). How-to: https://lumify.ai/docs/grade. Not live trading odds. Not wagering advice. Attribution ⟨5 unchanged words⟩
Changed the definition of "get_intelligence", "get_player_props" and "list_forecasts"
⟨1111 unchanged words⟩ combo: rushing + receiving + defensive TDs)., rush_rec_yards, pass_rush_yards. NBA/NCAAB: points, rebounds, assists, steals, ⟨665 unchanged words⟩
⟨27 unchanged words⟩ grades over/under/push (1:1 slugs, combo sums including rush+rec and pass+rush yards, weighted total bases, anytime TD, double-double/triple-double, ⟨34 unchanged words⟩
Changed the definition of "grade_slip"
⟨113 unchanged words⟩ Yankees to win, Yankees over 4.5 runs, Over 52.5 Syracuse vs Pittsburgh, Novak Djokovic ML) grade when the team or ⟨98 unchanged words⟩ than one player in that scope, staysunmapped.unmapped unless a date is present and exactly one of those candidates played in the window (optionally vs a named opponent). A colliding team nickname plus a date promotes only the unique in-window club; a football-sized line will not pick a baseball club. anytime goal / anytime assist (soccer_goals/soccer_assists over 0.5 ⟨94 unchanged words⟩ an API key to grade from an agent. Capped at 3 concurrent calls per key (shared with POST /v1/grade/slip). The public /grade sheet uses the same engine ⟨23 unchanged words⟩
Changed the definition of "get_intelligence", "get_stats", "grade_slip" and 1 more
⟨1309 unchanged words⟩ ":{"description":"Optional Deep Research overlay when the background job has written a row for this wager — every wager on the daily board (selected: true), plus other high-probability wagers (p_hit ≥ 0.80) in the catalog: {stance, conviction, note}. stance is ⟨439 unchanged words⟩
⟨293 unchanged words⟩ lineup, player_box (this event's per-player batting/pitching countingstatsstats; final, in-progress, and delayed when rows exist
Changed the definition of "grade_slip"
⟨22 unchanged words⟩ and soccer — the same sport coverage asget_player_props.get_player_props — plus structured game markets (h2h / spreads / totals) on any sport get_odds already settles. Prefer structured event_id +player_idmarket_key +market_keyside; player_id and line are required on props, line is required on spreads/totals, and both player_id and line are omitted on h2h. team_total requires team_id + line +side.over/underFreeandtextis only gradable on nfl/ncaaf/mlb/soccer. draw
Changed the definition of "grade_slip"
⟨37 unchanged words⟩ market_key + line + side. Free text isaccepted andgraded only when player and event resolve uniquely ⟨18 unchanged words⟩ scopes the player, and ambiguous/not_found stays on team_resolve. Ambiguous events stay on event_resolve with candidates. Read legs[].result / current / market for the grade; use resolve.player_id to re-issue structured. Call this tool with an API key to grade from an agent. The public /grade sheet uses the same engine without a key (20 grades / IP / day). Not live trading odds. Not wagering advice. Attribution ⟨5 unchanged words⟩
⟨80 unchanged words⟩ Free-text slip (e.g. Chase over 74.5 receiving yards tonight). Date words (today, tonight, yesterday, last night, last Wednesday, or an ISO date) narrow the event. A team span is resolved first; unique team_id
Changed the definition of "grade_slip"
⟨37 unchanged words⟩ market_key + line + side. Free text isinterpreted with a rule-based parseraccepted and graded only when player and event resolve uniquely — never guesses an ambiguous name. A teamspanmention (CIN, vs Bills, Niners) is resolved ⟨24 unchanged words⟩
Changed the definition of "resolve_player"
⟨31 unchanged words⟩ of guessing — never auto-pick candidates[0]. A sport-scoped key binds the in-scope side of a collision and returns not_found when every hit is out of scope. Does not grade props.
Added "resolve_event"; changed the definition of "grade_slip" (27 tools before, 28 now)
⟨9 unchanged words⟩ / in_progress / dnp / no_stat) forNFLnfl, nba, ncaaf, ncaab, nhl, mlb, andMLB.soccer — the same sport coverage as get_player_props. Prefer structured event_id + player_id + market_key + ⟨59 unchanged words⟩
Resolve event identity from an event_id, or a player_id/team_id clue plus an optional date window, to a Lumify event_id. Falls back to a player's roster team schedule for team sports (only individual sports like tennis track per-player game participation directly). Combine team_id + opponent_team_id for a specific matchup. Returns ambiguous instead of guessing when the window has more than one candidate — never auto-pick candidates[0].
Certificate recorded, valid to 2026-12-09
Authorization not required
First tool surface recorded: 27 tools (server version 1.0.1)
Showing the latest 13 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨27 unchanged words⟩ filter (h2h, spreads, or totals).TennisMain-linepublishessportsallpublishthreea(moneyline,high-confidencegame-handicap,sidetotal-games).of each family when the lean clears the coin-flip gate. Ignored on prop-onlysports.sports (nba, ncaab, nhl).","enum":["h2h","spreads"," ⟨8 unchanged words⟩ ncaaf, nfl, nba, ncaab, nhl, tennis, ortennis.soccer.","type":"string"}},"required": ⟨3 unchanged words⟩
⟨706 unchanged words⟩ / neutral / invalidate. note is the wager-levelwhy.why — on a selected main-line row it is also copied to bets[].narrative. Validate / invalidate rows always carry a note. ⟨170 unchanged words⟩
⟨465 unchanged words⟩ combo: rushing + receiving + defensive TDs)., rush_rec_yards, pass_rush_yards. NBA/NCAAB: points, rebounds, assists, steals, ⟨414 unchanged words⟩
⟨106 unchanged words⟩ -3.5, Over 47.5 vs Bills, Yankees ML, Yankees to win, Yankees over 4.5 runs, Novak Djokovic ML) grade when the team or player and event resolve uniquely — Over 47.5 alone stays unmapped and is never the first slate game. A tennis moneyline leftover is a player, not a team; vs is the opponent player. Last-name-only tennis stays unmapped. A last-name-only player prop (Bergeron over 1.5 shots on goal last night) grades when a date is present and that surname is unique in scope — a named sport, team, or event narrows it (Johnson nhl last night); with no such clue, uniqueness is across every prop sport the key can see. No date, or a surname shared by more than one player in that scope, stays unmapped. anytime goal / anytime assist (soccer_goals/soccer_assists over 0.5) and over a hit / over a homer (hits/home_runs over 1.0) need no explicit number. Free-text player props are graded only when player and event resolve uniquely — never guesses an ambiguous name. Ateamroster-team mention (CIN,vs Bills,Niners) is resolved first; unique team_id scopes the player, and ambiguous/not_found stays on team_resolve. vs/at on a player prop is the opponent and narrows the event, not the player's team. Ambiguous events stay on event_resolve with candidates. Read ⟨58 unchanged words⟩
⟨200 unchanged words⟩ / Over 47.5 vs Bills / Yankees ML / Yankees to win / Yankees over 4.5 runs / Novak Djokovic ML / Mbappe anytime goal / Judge over a hit / Bergeron over 1.5 shots on goal last night). Date words (today, tonight, yesterday, ⟨5 unchanged words⟩ an ISO date) narrow the event. Ateamroster-team span is resolved first; unique team_id scopes a player or binds a game/team-total leg, and ambiguous/not_found stays on team_resolve. vs/at on a player prop is the opponent, not the player's team. A tennis moneyline leftover is a player; vs is the opponent player. \"anytime goal\"/\"anytime assist\" implies soccer_goals/soccer_assists over 0.5 with no explicit number; \"over a hit\"/\"over a homer\" implies hits/home_runs over 1.0. A last-name-only player prop grades when a date is present and the surname is unique in scope (a named sport, team, or event narrows it; otherwise every visible prop sport); no date, or a shared surname in that scope, still refuses. Graded only when team/player and event are unique. ⟨10 unchanged words⟩
⟨663 unchanged words⟩ ":{"description":"Optional Deep Research overlay when the background job has written a row for this wager — every wager on the daily board (selected: true), plus other high-probability wagers (p_hit ≥ 0.80) in the catalog: {stance, conviction, note}. stance is ⟨188 unchanged words⟩
⟨39 unchanged words⟩ {"type":"integer"},"line":{"description":"Required on props, spreads, totals, and team_total. Omit on h2h. Signed to the submitted side, not the favorite — side=home with a home -3.5 favorite is line=-3.5.","type":"number"},"market_key":{"description":"Player-prop slug (e.g.receiving_yards.receiving_yards),Aliasesgamesuchmarketash2h | spreads | totals, or team_total. Aliases accepted: player_reception_ydsare->accepted.receiving_yards, moneyline/ml -> h2h, spread -> spreads, total/ou -> totals, team totals/tt -> team_total.","type":"string"},"player_id":{"description":"Required on player-prop markets. Forbidden on h2h, spreads, totals, and team_total.","type":"integer"},"side":{"description":"Props and totals: over | under (o | u also accepted). Spreads: home | away, matching the signed line above. Moneyline: home | away, or draw on soccer only.","enum":["home","away","over","under","draw"],"type":"string"}},"requiredteam_id":[{"event_iddescription":"Required on team_total. Forbidden on player-prop, h2h, spreads, and totals."player_id,"type":"integer"}},"market_keyrequired":["event_id","linemarket_key","side"],"type":"object"}, ⟨7 unchanged words⟩ slip (e.g. Chase over 74.5 receiving yards tonight, or Chiefs -3.5 / Over 47.5 vs Bills / Yankees ML). Date words (today, tonight, yesterday, ⟨12 unchanged words⟩ team span is resolved first; unique team_id scopesthea player or binds a game/team-total leg, and ambiguous/not_found stays on team_resolve. Graded only whenplayerteam/player and event are unique. A bare Over 47.5 stays unmapped.","type":"string"}},"type":"object"}