Keel Stats

com.keelstatsPublished by keelstats.comOfficial publisherv1.3.0Updated Nov 7, 2026

NBA and NFL stats: profiles, head-to-head, schedules, ratings, EPA, injuries, projections.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Remote MCP server giving an assistant NBA and NFL analytics: player and team profiles, ratings, splits, injuries, projections and prop research.

What you can do
  • Resolve player and team names to ids, and look up a team's games or a specific matchup
  • Read a day's slate with scores, win probabilities and consensus lines, plus game projections
  • Get player and team profiles, season averages, efficiency metrics, rosters and recent form
  • Compare teams head-to-head and pull league-wide standings, ratings and power rankings
  • Check injury reports and what an absence changes, plus on/off, clutch and defense-vs-position splits
  • Research player prop lines, how often a player clears a line, and the day's prop board
When to use it
Useful when you want an assistant to answer NBA or NFL questions with numbers behind them: stats lookups, matchup previews, injury impact, league rankings or prop-line research, without building your own data pipeline.
Requirements
A remote streamable HTTP endpoint at api.keelstats.com; no package, environment variables or headers are declared. No account is needed for basic answers, which cover this season and last; an account or paid plan unlocks deeper history and extra fields.
Before you install
Answers may be trimmed by plan, with an account field naming the keys left out and the plan that adds them. The server is a research tool only: it takes no bets and gives no picks, so treat projections and lines as data, not advice.

Installation

In SourceWeft

  1. Open Keel Stats in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.keelstats%2Fkeel-stats/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "keel-stats": {
      "type": "http",
      "url": "https://api.keelstats.com/mcp"
    }
  }
}

Tools

12

tonight_slate

Tonight Slate & Live Scores

Use this when the user asks what is on tonight, today's scores, or a given day's games ('NBA games on 2026-11-05'). Returns that day's games with game_id, teams (id and abbreviation), times (US Eastern), live or final scores, pre-game win probabilities and the consensus line (signed in: the market's chance and the model's edge), last-game starters (NBA) and recent injury status changes; each game's page is `game_url` with its id in place of {id}. Not for a game weeks away or one team's schedule: use find_game.

Parametersdateleague

find_game

Find a Team’s Game

Use this when the user asks about one team's game on a date, its next or last game, or a specific meeting ('Lakers next game', 'Cowboys vs Eagles on November 23') and you need its game_id. Returns the team's game on that date, or its last three finished and next three games, with game_id, start time, state, week (NFL), each side's team (id and abbreviation) and score, and the pair's matchup page; each game's page is `game_url` with its id in place of {id}. Not for the whole slate (tonight_slate) or the history of a pair (head_to_head).

Parametersdateleaguerequiredteam_idrequiredopponent_id

head_to_head

Head-to-Head History

Use this when the user asks how two teams have fared against each other: the all-time or season series, their last meetings and who led them, their next meeting ('Celtics vs Knicks history', 'Cowboys Eagles record'). Returns the pair's record over every meeting we hold and by season, this season's series, the last ten meetings with each one's top player, the series leaders, and the next game with its projected chance and margin. Not for a single game's preview: use game_projection with the game_id it returns.

Parametersleaguerequiredteam_a_idrequiredteam_b_idrequired

player_profile

Player Profile & Advanced Stats

Use this when the user asks about one player's season or recent form ('Tatum stats', 'how is Bridges playing lately'). Returns season averages, efficiency (NBA: TS%, eFG%, USG%, BPM; NFL: yards, touchdowns, EPA), Keel Impact, current injury status, his recent box lines (five without an account, ten signed in) and, when the books have priced his next game, one compact row per stat as props_research gives it. With Keel Stats Pro, `detail` adds the book-by-book odds, closing lines, game log, history and alternate ladders. The answer's `account.held` names what the caller's plan left out. Not for on/off or teammate splits (player_splits_and_on_off).

Parametersdetailleaguerequiredseasonplayer_idrequired

team_profile

Team Profile, Ratings & Roster

Use this when the user asks about one team's season: its record, ratings, roster, recent and coming games. Returns the record, offensive/defensive/net rating (NFL: EPA per play and success rate) with league ranks, the roster and the last and next games with their game_id. Not for the whole league's standings (rankings_and_ratings) or two teams' history (head_to_head).

Parametersleaguerequiredseasonteam_idrequired

rankings_and_ratings

Rankings, Standings & Player Ratings

Use this when the user asks for a league-wide list: standings, NBA Keel Impact player ratings, NFL EPA per play for offenses and defenses, or weekly power rankings ('top 10 NFL defenses by EPA'). Returns the ranked list with the url of its table (Pro adds the ratings' offense/defense, box prior, RAPM and on/off parts). Not for one team or player: use their profile.

Parameterskindleaguerequiredseason

injury_consequences

Injury Report & Absence Consequences

Use this when the user asks who is out, what an absence changes, or who benefits when a player sits ('Lakers injury report', 'what if Haliburton is out'). Returns the league injury report, or for a player_id the shift in his team's win probability and spread and the teammates whose minutes or target/carry share rises. Not for a player's own injury status alone (player_profile has it).

Parametersleaguerequiredplayer_id

game_projection

Game Projection & Matchup Breakdown

Use this when the user asks who is favoured in one game, by how much, or how the two sides compare for it. Returns the pre-game win probability and projected margin, the consensus spread and total, the teams compared, leaders, recent form and who is out; signed in, also the market's vig-free chance, the model against it and the line, and the head-to-head; with Keel Stats Pro the absence costs, position matchups, records against the close and key players, and with `detail` "full" the model's factor weights. The answer's `account.held` names what the caller's plan left out. Needs a game_id from tonight_slate or find_game. Not for picks or betting advice: Keel Stats gives neither.

Parametersdetailleaguerequiredgame_idrequiredinclude_breakdown

player_splits_and_on_off

Player Splits, On/Off & Teammates (Pro)

Use this when the user asks how a player's team does with him on or off the floor, his clutch or garbage-time splits, or how he plays with or without a teammate (NFL: target, carry and red-zone shares with or without a teammate). Returns those splits for the season (NBA: on/off, situations and milestones, `detail` naming the ones wanted; NFL: his usage row and the team's busiest, `detail` "full" for every player). Requires Keel Stats Pro; the answer says so when the account has none. Not for season averages or recent games: use player_profile.

Parametersdetailleaguerequiredseasonplayer_idrequiredteammate_id

defense_vs_position

Defense vs Position & Pace

Use this when the user asks which teams allow the most or fewest to a position ('best matchups for centers', 'defenses vs TE'). Returns what each NBA or NFL team allows per game to a position group (NBA: G, F, C, with pace rank; NFL: QB, RB, WR, TE), each number as [value, league rank] (1 = allows the most). Without `position` the NBA answer lists each group's ten softest teams (`data_more` counts the rest) and the NFL's the softest half: pass `position` for every team, as for the fewest allowed. Window 'recent' (last 10 games) needs Pro. Not for one player's matchup (player_profile's next game).

Parametersleaguerequiredseasonwindowposition

props_research

Player Props Research, Model & Cheat Sheet

Use this when the user asks about a player's prop lines, how often he clears a line, or today's prop board. Returns, for a player_id, one compact row per stat with a line for his next game: the consensus line and book count, his last five games against it and his season average; signed in, the last ten and his record against the closing line; with Keel Stats Pro also L20 and season hit rates, the opening line and move, the model's probability against the market's, the best price at the books and the matchup, and with `detail` the book-by-book odds, closing lines, game log, history and alternate ladders. Without a player_id, today's prop board (Pro: model edge and the daily cheat sheet). The answer's `account.held` names what the caller's plan left out. Not for picks: it is research only and never gives a pick.

Parametersdatestatdetailleaguerequiredgame_idplayer_id

Version history

3
  1. v1.3.0LatestNov 7, 2026
  2. v1.2.0Nov 3, 2026
  3. v1.0.0Nov 1, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.