NFL Analytics MCP
Enables natural-language querying of a local DuckDB warehouse of NFL play-by-play data, converting questions into SQL and returning results.
README
🏈 NFL Analytics
A personal NFL analytics platform that runs entirely on your machine: a local warehouse of every NFL play since 2007, a visual dashboard, auto-updating data and news, a prediction-market price tracker, and an AI analyst you can ask questions in plain English.
No API keys. No subscriptions for the core experience. One ~2 GB download.
What's inside
| Piece | What it does |
|---|---|
| Warehouse (DuckDB) | 909k+ plays (2007–2025), player/team stats, rosters, injuries, officials, draft history, and the full 2026 schedule with betting lines — all queryable in milliseconds |
| Jarvis UI (React + FastAPI) | A dark, glowing "command center": division constellation with all 32 team logos → per-team HUDs in team colors (stat rings, efficiency charts, roster, coach lineage) → live prediction-market board → built-in streaming AI chat (Ctrl-K) |
| Dashboard (Streamlit) | The simpler original UI: division standings → team pages → players, league leaders, schedules & lines |
| News engine | Auto-polls ESPN plus all 32 official team websites every 6 hours; headlines are tagged to players/teams in the warehouse |
| Kalshi tracker | Records prediction-market prices (game winners, spreads, totals, win totals, Super Bowl futures) every 6 hours, building line-movement history |
| Prediction model | Opponent-adjusted EPA ratings → win probabilities, honestly backtested against 18 years of closing lines (spoiler: Vegas wins — the model's value is calibration, and the report shows exactly by how much) |
| AI analyst | A chat page (and MCP server for Claude Code/Desktop) that writes and runs real SQL against your warehouse to answer questions like "which QBs perform best traveling east?" |
Quick start
See SETUP.md for the full guide. The short version:
git clone https://github.com/parthakker/nfl-analytics.git
cd nfl-analytics
pip install -e .
python scripts/refresh_data.py --bootstrap # ~2 GB from nflverse, one time
python -m streamlit run dashboard.py
Architecture
nflverse releases ─┐ (nightly-updated public data)
ESPN + team sites ─┼─► scripts/refresh_data.py / poll_news.py / snapshot_kalshi.py
Kalshi API ────────┘ │ (scheduled: weekly / 6h / 6h)
▼
nfl.duckdb + news.duckdb + kalshi.duckdb
│
┌─────────────────┼──────────────────┐
▼ ▼ ▼
dashboard.py MCP server (15 tools) model/
(Streamlit UI) (Claude Code/Desktop) (ratings, backtest)
Design principles: compute, don't retrieve (questions are answered by SQL
over plays, not by searching documents); verified semantic layer (every
data gotcha — and NFL data has many — is documented in docs/dictionary/ and
enforced in CLAUDE.md); honest modeling (walk-forward backtests with an
untouched holdout, reported even when the answer is "the market is better").
Data credits
All stats data from the outstanding nflverse project. News from ESPN and official team site feeds. Market data from Kalshi's public API. This is a personal, non-commercial project; all data remains property of its respective owners.
License
MIT — see LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.