nfl_schema

Pro tier

Schema

Schema inspection only. Pass category='<name>' for detailed play-by-play columns, category='all' for the full PBP reference, or table='<name>' for one loaded table's live columns. Omit both for the compact PBP summary and category names. Use nfl_catalog first when you do not know the table name.

Minimum tier
Pro
Data coverage
Varies by query

Parameters

NameTypeRequiredDescription
categorystringOptionalSchema category to expand. Omit for summary. Use 'all' for full schema. Options: game_context, teams, game_situation, play_details, timeouts, score, boolean_outcomes, primary_players, special_teams_players, defensive_players, fumble_players, penalties, probability_models, epa, wpa, completion_probability, xyac, drive_data, game_stadium_weather, vegas, aggregate_tables, query_tips
tablestringOptionalTable name to inspect (e.g. 'rosters', 'injuries', 'schedules'). Returns live column list from the database.

Example request

A Model Context Protocol tools/call over Streamable HTTP. Replace YOUR_API_KEY with a key from your dashboard.

curl -X POST https://mcp.nflmcp.com/mcp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "nfl_schema",
    "arguments": {
      "table": "rosters"
    }
  }
}'

Example response

Excerpt · lists trimmed
{
  "table": "rosters",
  "columns": [
    {
      "column_name": "season",
      "data_type": "INTEGER"
    },
    {
      "column_name": "team",
      "data_type": "VARCHAR"
    },
    {
      "column_name": "position",
      "data_type": "VARCHAR"
    }
  ]
}