NFL Analytics MCP
This server provides a comprehensive local NFL analytics platform backed by a DuckDB warehouse of play-by-play data since 1999 (1.28M plays). You can:
Query the Warehouse: Run ad-hoc SQL queries via
query_warehouseand inspect schemas withdescribe_warehouse, including data-dictionary notes and join conventions.Analyze Teams & Players: Get team form (record, EPA splits, rest/travel profiles), player bios and stats, coach profiles (career records, tendencies, ATS performance), and referee stats (penalty biases, home/over rates).
Generate Predictions & Ratings: Obtain model-based game predictions (win probability, margin), view team power ratings in EPA/play, and review model backtest reports.
Monitor Betting Markets: Explore Kalshi markets (game, spread, total, win totals, Super Bowl), get market details with bid/ask, implied probabilities, and fees, track price history, and use a betting board to compare Vegas lines vs. Kalshi prices highlighting dislocations.
Access News & Injuries: Search news by topic or player, get recent player news and injury info, and browse latest league headlines.
Manage Data: Check data freshness and refresh logs via
data_status, and trigger a manual refresh of the latest nflverse data withrefresh_data.
Provides tools for querying and analyzing a local DuckDB warehouse containing NFL play-by-play data, player/team stats, rosters, injuries, officials, draft history, and betting lines, enabling AI agents to answer football questions via SQL.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NFL Analytics MCPwhich QBs perform best traveling east?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π NFL Analytics
A personal NFL analytics platform that runs entirely on your machine: a DuckDB warehouse of every NFL play since 1999, a dark-glass web app ("Jarvis"), auto- updating data and news, a prediction-market tracker, and an AI analyst wired in through MCP. Questions get answered by running SQL against real data β computed answers, not vibes.
No API keys. No subscriptions for the core experience. One ~2 GB download.
What's inside
Piece | What it does |
Warehouse ( | 1.28M plays 1999β2025, schedules with odds through 2026, player/team stats across the v1/v2 nflverse eras, advanced stats, NGS, snap counts, depth charts, personnel/participation, FTN charting, combine, ESPN QBR β plus curated venue coordinates powering true travel distances |
Jarvis web app ( | FastAPI + React SPA: team HUDs, matchup cards (travel/rest/refs/coach-H2H/weather/market for any game 1999βupcoming), all-time H2H explorer, coaches with scheme fingerprints, referee intel, betting board (Vegas-vs-Kalshi dislocations), news, and a 15-chapter football Knowledge book |
Derived views | 20+ SQL views: team-game workhorse with haversine travel miles, H2H series with relocations merged, referee tendencies 1999+, coach PROE/4th-down aggression, one unified weather answer per game |
News engine ( | ESPN + team feeds polled 6-hourly, categorized, player-tagged by gsis_id, full-text searchable |
Kalshi tracker ( | Market snapshots 6-hourly + Vegas line history per game |
Prediction model | Trained and validated, deliberately paused β betting surfaces are market-vs-market only |
MCP server | 20 tools ( |
Legacy dashboard ( | The original Streamlit UI, kept for friends β frozen |
Related MCP server: Feyod MCP Server
Architecture
nflverse releases βββΊ scripts/refresh_data.py βββΊ data/*.csv
β
Open-Meteo βββΊ fetch_weather.py
β
build_warehouse.py βββΊ nfl.duckdb βββ build_views.py (views, venues, macros)
β
βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββ
β β β
MCP server (20 tools) FastAPI (web/api) pytest invariants (tests/)
β β
Claude Code React SPA (web/ui) ββ Playwright e2e
β
kalshi.duckdb ββ news.duckdb (sidecars, 6h pollers)Five Windows Task Scheduler jobs keep it fresh: weekly data refresh, 6-hourly news + Kalshi pollers, a daily smoke test, and a nightly headless Claude health check that audits the data and runs the test suite.
Quick start
See SETUP.md. Short version:
git clone https://github.com/parthakker/nfl-analytics && cd nfl-analytics
uv sync --extra dev # or: pip install -e ".[dev]"
python -m nfl_analytics.cli refresh --bootstrap # ~2 GB nflverse download
cd web/ui && npm ci && npm run build && cd ../..
python web/run_web.py # Jarvis on http://localhost:8000Testing
Three pytest tiers: tests/unit (no database), tests/warehouse (invariants
against the real DB β travel distances, H2H symmetry, venue resolution, era
continuity), tests/api (contract tests for every endpoint). CI runs the unit
tier plus warehouse/api against committed ~24 MB fixture databases
(nfl fixture rebuilds them). Playwright e2e (web/ui/e2e/) runs locally
against the real server: npm run e2e.
Design principles
Compute, don't retrieve β every answer is SQL with its filters cited.
Hand-curated where sources are wrong β
data/stadiums.jsonfixes venues nflverse mislabels (all seven 2025 international games); curated files are version-controlled and never overwritten by refreshes.Verification built in β row floors and sanity checks in the build, invariant tests in CI, a smoke test and an AI health loop on the scheduler.
Keep it simple β one machine, no cloud dependencies, boring tools.
Data credits
nflverse (play-by-play, stats, rosters), nfldata (schedules + odds), Open-Meteo (weather), ESPN (news, QBR), Kalshi (market data). MIT licensed; the data belongs to its sources.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceAn MCP server that provides access to over 12 years of NFL play-by-play data through a local DuckDB database. It enables users to query player performance, team statistics, and situational efficiency metrics like EPA and WPA using natural language.Last updated12MIT
- Alicense-qualityFmaintenanceEnables natural language querying of Feyenoord football match data, converting questions to SQL queries and returning results.Last updated1MIT
- Flicense-qualityCmaintenanceEnables natural-language querying of historical NBA game data from a read-only SQLite database.Last updated
- Alicense-qualityAmaintenanceQuery local CSV, Parquet, JSON and TSV files with real SQL via DuckDB. Gives your AI coding tool ground-truth data access instead of hallucinated answers.Last updated4MIT
Related MCP Connectors
Query PostgreSQL databases in plain English β LLM-generated, safety-validated SQL.
GibsonAI MCP server: manage your databases with natural language
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/parthakker/nfl-analytics'
If you have feedback or need assistance with the MCP directory API, please join our Discord server