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:
Codex:
or in ~/.codex/config.toml:
Any other client that supports streamable HTTP can point at the same URL.
Tools
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:
Then register it in your MCP client with the absolute path to the build:
PROPLAB_API_KEY is optional: without it the public tools still work. For local development
with hot reload, run npm run dev.
Environment variables
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:
With PROPLAB_API_KEY:
Verify locally
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.