NFL MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add nfl-mcp -- uvx nfl-mcp
README.md

MCP server for NFL data (2013–2025), powered by nflreadpy and DuckDB.

nfl-mcp

MCP server for NFL data (2013–2025), powered by nflreadpy and DuckDB. Query play-by-play, rosters, injuries, stats, and more 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?"
  • "Who was on IR for the Eagles in Week 10, 2023?"
  • "Show me snap count trends for the Chiefs receiving corps in 2024"

Quickstart

pip install nfl-mcp        # or: uvx nfl-mcp
nfl-mcp init               # configure, load data, and start the server

init walks you through setup and offers to start the server immediately when done. 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 the default NFL datasets (play-by-play, rosters, stats, injuries, and more)
  3. Auto-configure your IDE (Claude Desktop and/or VS Code)
  4. Offer to start the server immediately

Options:

--skip-ingest       Configure without loading data

2. Start the server

init offers to start the server for you. If you need to start it manually later:

nfl-mcp serve
nfl-mcp serve --port 9000
nfl-mcp serve --host 0.0.0.0

The server uses the MCP Streamable HTTP transport. Point any MCP client at http://<host>:/mcp.

Note: The server must be running for your IDE to connect. Run nfl-mcp serve in a terminal and keep it open.

3. Verify

nfl-mcp doctor

Checks database connectivity, loaded data, and IDE configuration.

4. 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 (VS Code):

{
  "servers": {
    "nfl": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (Claude Desktop):

{
  "mcpServers": {
    "nfl": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

CLI Reference

nfl-mcp init               Interactive setup wizard
nfl-mcp serve              Start the MCP server (Streamable HTTP, default port 8000)
nfl-mcp ingest             Load NFL data into the database
nfl-mcp setup-client       Configure IDE MCP clients
nfl-mcp doctor             Health check

Serve options

nfl-mcp serve
nfl-mcp serve --port 9000
nfl-mcp serve --host 0.0.0.0

Ingestion options

nfl-mcp ingest                          # default datasets, all available seasons
nfl-mcp ingest --dataset all            # every dataset
nfl-mcp ingest --dataset schedules      # one specific dataset
nfl-mcp ingest --dataset pbp --dataset injuries   # multiple datasets
nfl-mcp ingest --start 2020 --end 2024  # limit to a season range
nfl-mcp ingest --fresh                  # re-ingest even if already loaded
nfl-mcp ingest --list                   # show all available dataset names

Ingest is idempotent — re-running skips datasets and seasons already in the database.

Datasets

All data is sourced from nflverse via nflreadpy and stored locally in DuckDB.

Table Default Coverage
plays 1999–present
schedules 1999–present
rosters 1920–present
player_stats 1999–present
team_stats_raw 1999–present
injuries 2009–present
snap_counts 2012–present
teams current
players all-time
contracts historical
trades historical
depth_charts 2001–present
rosters_weekly 2002–present
ff_opportunity 2006–present
officials 2015–present
nextgen_stats_* 2016–present
participation 2016–2024
pfr_advstats_* 2018–present
ftn_charting 2022–present
draft_picks 1980–present
combine all-time
ff_playerids current
ff_rankings_draft current
ff_rankings_week current
nfl-mcp ingest --dataset all   # load everything
nfl-mcp ingest --list          # see all dataset names

MCP Tools

Tool Description
nfl_schema Database schema reference — compact summary by default, pass category for detail
nfl_status Database health

Tools (2)

nfl_schemaDatabase schema reference — compact summary by default, pass category for detail
nfl_statusDatabase health

Configuration

claude_desktop_config.json
{"mcpServers": {"nfl": {"url": "http://localhost:8000/mcp"}}}

Try it

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?
Show me snap count trends for the Chiefs receiving corps in 2024

Frequently Asked Questions

What are the key features of NFL MCP?

Access to over 12 years of NFL play-by-play data. Powered by nflreadpy and local DuckDB storage. Query rosters, injuries, stats, and situational efficiency metrics. Interactive setup wizard for IDE configuration. Supports natural language querying for complex football statistics.

What can I use NFL MCP for?

Analyzing player performance trends over multiple seasons. Comparing team efficiency metrics in specific game situations. Tracking injury reports and roster changes for fantasy football research. Investigating defensive performance metrics like sack rates. Visualizing snap count trends for specific team units.

How do I install NFL MCP?

Install NFL MCP by running: pip install nfl-mcp

What MCP clients work with NFL MCP?

NFL MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep NFL MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare