mcpField
N
NBA Prop Lab

NBA Prop Lab

Remote
nbaproplab.comGames & Entertainment0Updated 6d ago

About NBA Prop Lab

PropLab MCP Server provides NBA and WNBA player-prop analytics for clients that support MCP. It combines a public daily board and graded track record with matchup, usage, referee, game, and player research data.

Key features

  1. 01Daily NBA and WNBA prop board
  2. 02Graded track record by tier and stat
  3. 03Defense-versus-position data
  4. 04Usage leaders and game schedules
  5. 05Referee and player research

Use cases

  1. 01Check the published props before a slate
  2. 02Review settled results by tier or stat
  3. 03Compare matchup and usage context
  4. 04Research player lines and injury status

MCP support

The remote Streamable HTTP MCP server exposes read-only public analytics tools without authentication. A local stdio package adds backtests and on-demand pick evaluation, with an API key required for those tools.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://nbaproplab.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

PropLab MCP Server

Model Context Protocol server for PropLab: NBA and WNBA player-prop analytics. You get the daily board the model publishes before tip-off, its public record graded against the official box score, defense vs position, usage, referees and player research.

There are two ways to use it:

  • Remote server: works now, nothing to install, no key. https://nbaproplab.com/mcp
  • Local stdio package, built from this repository. It adds backtests and on-demand pick evaluation, which need an API key. It is not yet published on npm.

The data is informational sports analysis, not betting advice. PropLab does not take wagers, link to sportsbooks or guarantee outcomes, and past results do not predict future ones.

Remote server (recommended)

Streamable HTTP, stateless, no authentication. Every tool is read-only and returns the same public data shown on nbaproplab.com.

Claude (claude.ai, desktop, mobile): Settings → Connectors → Add custom connector. Name: PropLab. URL: https://nbaproplab.com/mcp. Authentication: none.

Claude Code:

claude mcp add --transport http proplab https://nbaproplab.com/mcp

Codex:

codex mcp add proplab --url https://nbaproplab.com/mcp

or in ~/.codex/config.toml:

[mcp_servers.proplab]
url = "https://nbaproplab.com/mcp"

Any other client that supports streamable HTTP can point at the same URL.

Tools
ToolParametersReturns
daily_boardleague (nba or wnba)The published player-prop board for the next slate (player, stat, line, direction, tier, model score) and how the previous board settled
track_recordleague?, tier? (Premium or Standard), from?, to?Settled record by tier and stat. The published record is the Premium tier (premiumHitRate, goodPicks) and Standard (marginalPicks); overall* fields also count internal ratings that are never published. Dates before 2026-04-03 are a backtest
defense_vs_positionleaguePoints, rebounds and assists each team allows to guards, forwards and centers relative to the league average, with defensive rating, pace and ranks
usage_leadersleaguePlayers ranked by usage rate this season, with last-10-games usage, minutes and points
nba_today—Today's NBA games with tip-off times, yesterday's scores and the standings
gamesdate? (yyyy-MM-dd)NBA and WNBA games on a date (default: today, US Eastern)
referee_assignments_today—The crew of each NBA game today, once the league publishes it the morning of game day
referees—NBA referees this season with games worked and fouls per game against the league average
search_playersqueryNBA and WNBA players by name, accents optional ("Jokic" finds Jokić)
player_researchplayerIdRecent game logs, current prop lines across books with hit rates, injury status, next-game context and the model's picks on that player

Example prompts:

  • "Which NBA teams allow the most rebounds to centers, and do any of them play today?"
  • "How has PropLab's published Premium tier done in the WNBA since April, by stat?"
  • "Search for Jokic and show his last 10 games and injury status."

Invalid arguments, for example league: "nfl", return a tool error that explains the valid values.

Local stdio package

Not yet published on npm, so build it from this repository:

git clone https://github.com/Khavel/proplab-mcp.git
cd proplab-mcp
npm install
npm run build      # compiles src/index.ts → dist/index.js

Then register it in your MCP client with the absolute path to the build:

{
  "mcpServers": {
    "proplab": {
      "command": "node",
      "args": ["/absolute/path/to/proplab-mcp/dist/index.js"],
      "env": {
        "PROPLAB_API_KEY": "…"
      }
    }
  }
}

PROPLAB_API_KEY is optional: without it the public tools still work. For local development with hot reload, run npm run dev.

Environment variables
VariableRequired forDescription
PROPLAB_API_URLNoAPI base URL (default: https://nbaproplab.com)
PROPLAB_API_KEYBacktest, pick and research toolsBearer API key

The key is minted at nbaproplab.com → Account → API keys. It is shown once at creation and can be revoked from the same screen.

Tools

Public, no key:

ToolEndpointKey params
proplab_track_recordGET /api/v1/track-recordleague?, tier?, statType?, from?, to?
proplab_dashboardGET /api/v1/dashboard/todaydate?, league?
proplab_gamesGET /api/v1/gamesdate?
proplab_search_playersGET /api/v1/players/searchq
proplab_system_statusGET /api/v1/health—

With PROPLAB_API_KEY:

ToolEndpointKey params
proplab_backtest_summaryGET /api/v1/backtest/summaryfrom?, to?, league?
proplab_backtest_dailyGET /api/v1/backtest/dailyfrom?, to?, league?
proplab_backtest_by_ratingGET /api/v1/backtest/by-ratingfrom?, to?, league?
proplab_backtest_by_statGET /api/v1/backtest/by-statfrom?, to?, league?
proplab_pick_detailsGET /api/v1/picks/{id}id
proplab_evaluate_pickPOST /api/v1/picks/evaluateplayerName, statType, line, direction, opponentTeam?
proplab_player_researchGET /api/v1/research/player/{playerId}playerId
Verify locally
npx @modelcontextprotocol/inspector node dist/index.js

Then call proplab_system_status, which needs no key and should return the live system status.

Data and privacy

  • Remote server: it keeps no state and stores nothing from your conversations. It only receives the arguments of each tool call (a league, a date, a player name or id), and the web server keeps its standard access logs.
  • Local package: it calls the public nbaproplab.com API over HTTPS and reads the key only from the environment, never logging it. No tool reads database credentials or app settings, or opens a shell.
  • Inputs are validated with zod and responses are truncated at 40,000 characters. Every tool is read-only except proplab_evaluate_pick, which scores a hypothetical pick and stores nothing.
  • Privacy policy: nbaproplab.com/legal/privacy. Responsible gambling: nbaproplab.com/responsible-gambling.

Support

Open an issue at github.com/Khavel/proplab-mcp/issues.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.