nfl-mcp

nfl-mcp

An 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.

Category
Visit Server

README

nfl-mcp

MCP server for NFL play-by-play data (2013–2025), powered by nflreadpy and DuckDB. Query 13 seasons of NFL play-by-play data using natural language in Claude Code, VS Code, or Claude Desktop.

Ask Claude questions like:

  • "Who had the best EPA per play in 2024?"
  • "Show me Patrick Mahomes' completion % over expected by season"
  • "Compare 4th quarter red zone efficiency for KC vs PHI in 2023"
  • "Which defenses had the highest sack rate in 3rd & long situations?"

Quickstart

pip install nfl-mcp        # or: uvx nfl-mcp
nfl-mcp init               # defaults to all 13 seasons (2013–2025) + IDE setup

No database server to install. No credentials to manage. Data is stored locally in DuckDB.

Prerequisites

  • Python 3.10+
  • uv (recommended) or pip

Setup

1. Initialize

nfl-mcp init

The wizard will:

  1. Configure the local DuckDB database path
  2. Download NFL play-by-play data for all 13 seasons by default (2013–2025)
  3. Auto-configure your IDE (Claude Desktop and/or VS Code)

Options:

--start 2020        First season (default: 2013)
--end   2024        Last season  (default: 2025)
--skip-ingest       Configure without loading data

--start must be less than or equal to --end. With no flags, nfl-mcp init loads all seasons from 2013 through 2025.

2. Verify

nfl-mcp doctor

Checks database connectivity, loaded data, and IDE configuration.

3. Manual client configuration (optional)

If you skipped IDE setup during init, or need to reconfigure:

nfl-mcp setup-client                    # auto-detect clients
nfl-mcp setup-client --client vscode    # VS Code only
nfl-mcp setup-client --client claude-desktop

Or configure manually — add to .vscode/mcp.json:

{
  "servers": {
    "nfl": {
      "command": "uvx",
      "args": ["nfl-mcp", "serve"]
    }
  }
}

CLI Reference

nfl-mcp init               Interactive setup wizard
nfl-mcp serve              Start the MCP server (stdio)
nfl-mcp ingest             Load/reload play-by-play data (default: 2013–2025)
nfl-mcp setup-client       Configure IDE MCP clients
nfl-mcp doctor             Health check

Ingestion options

nfl-mcp ingest                                Load all 13 seasons (default)
nfl-mcp ingest --start 2020 --end 2024    Load specific seasons
nfl-mcp ingest --fresh                     Drop and reload all data
nfl-mcp ingest --skip-views                Skip aggregate table creation

Tools

Tool Description
nfl_schema Database schema reference — compact summary by default, pass category for detail
nfl_status Database health: total plays, loaded seasons, available tables
nfl_query Raw SQL SELECT for custom queries (500 row cap, 10s timeout)
nfl_search_plays Find plays by player, team, season, season type, situation, touchdowns, etc.
nfl_team_stats Pre-aggregated team offense, defense, and situational stats
nfl_player_stats Player stats by season and season type — passing, rushing, or receiving
nfl_compare Side-by-side comparison of two teams or two players

Database Schema

Hundreds of thousands of plays across 2013–2025, with 370+ nflreadpy columns preserved as-is.

Key tables:

  • plays — every play, all columns
  • team_offense_stats — pre-aggregated by team/season
  • team_defense_stats — pre-aggregated by team/season
  • situational_stats — by team/season/situation (Red Zone, 3rd & Long, etc.)
  • formation_effectiveness — by team/season/formation

Key columns:

  • epa — expected points added (the best single-play quality metric)
  • wpa — win probability added
  • posteam / defteam — offensive/defensive team abbreviations
  • passer_player_name / rusher_player_name / receiver_player_name
  • play_type — 'pass' | 'run' | 'field_goal' | 'punt' | 'kickoff' | ...
  • desc — raw play description (use ILIKE for text search)

Local Development

git clone https://github.com/ebhattad/nfl-mcp
cd nfl-mcp
pip install -e ".[dev]"

nfl-mcp init --start 2024 --end 2024
pytest

Troubleshooting

  • nfl-mcp doctor is the fastest way to verify config, database, and client setup.
  • If tools return database errors, run nfl-mcp ingest (or rerun nfl-mcp init) to ensure plays is loaded.
  • You can override the DB location with NFL_MCP_DB_PATH=/path/to/nflread.duckdb.

Branch + PR Enforcement (GitHub)

To force branch-based contributions and test-gated merges on main, set these in GitHub → Settings → Rules/Branches:

  • Require a pull request before merging
  • Require approvals (at least 1)
  • Require conversation resolution before merging
  • Require status checks to pass before merging: select CI / test
  • Require branches to be up to date before merging
  • Restrict who can push to matching branches (or block direct pushes to main entirely)

License

MIT

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured