nfl_matchup_analysis

Pro tier

Matchup analysis

Use nfl_schedule first to discover the exact game_id, then use this Pro tool for deterministic game previews, team-position matchup grades, or strength-of-schedule rankings. It returns source games/weeks, sample sizes, confidence, coverage, and freshness, with prior-season fallback when current-season history is insufficient and no data after the selected cutoff. Do not use this tool for raw schedules/results, individual player box scores, standalone injury reports, arbitrary SQL, win probabilities, model prose, betting recommendations, or picks.

Minimum tier
Pro
Data coverage
Varies by query

Parameters

NameTypeRequiredDescription
analysis_typestringRequiredDiscriminator selecting exactly one compact analysis mode.Options: game_preview, position_matchup, strength_of_schedule
game_idstringOptionalExact game ID from nfl_schedule; required for game_preview and position_matchup.
teamstringOptionalFor position_matchup, one of the game's teams. For SOS, optional team abbreviation; omit to rank the league.
positionstringOptionalRequired for position_matchup and strength_of_schedule.Options: QB, RB, WR, TE
seasonintegerOptionalRequired only for strength_of_schedule.
start_weekintegerOptionalRequired only for strength_of_schedule.
end_weekintegerOptionalRequired only for strength_of_schedule; must be >= start_week.
lookback_gamesintegerOptionalCompleted games used for recent form. Defaults to 5 for game_preview and 6 otherwise; game_preview maximum is 10.
limitintegerOptionalSOS league-ranking result limit (default 32); not accepted by game modes.

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_matchup_analysis",
    "arguments": {
      "analysis_type": "position_matchup",
      "game_id": "2024_01_BAL_KC",
      "team": "KC",
      "position": "WR"
    }
  }
}'

Example response

Excerpt · lists trimmed
{
  "analysis_type": "position_matchup",
  "game_id": "2024_01_BAL_KC",
  "team": "KC",
  "opponent": "BAL",
  "position": "WR",
  "season_grade": null,
  "recent_grade": {
    "percentile": 16.129,
    "rank": 27,
    "league_size": 32
  },
  "combined_grade": {
    "percentile": 16.129,
    "label": "very_difficult",
    "scoring_version": "matchup_v1",
    "rank": 27,
    "league_size": 32
  },
  "production_allowed": {
    "fantasy_points_per_game": 27.633,
    "opportunities_per_game": 18,
    "yards_per_game": 121.667,
    "touchdowns_per_game": 0.667
  },
  "sample_size": {
    "season_games": 0,
    "recent_games": 6,
    "requested_lookback_games": 6
  },
  "source": {
    "seasons": [
      2023,
      2023,
      2023
    ],
    "weeks": [
      15,
      16,
      17
    ],
    "games": [
      "2023_15_BAL_JAX",
      "2023_16_BAL_SF",
      "2023_17_MIA_BAL"
    ],
    "available_seasons": [
      2013,
      2014,
      2015
    ],
    "fallback_season": 2023,
    "prior_season_fallback": true
  },
  "confidence": "low",
  "drivers": [
    {
      "metric": "fantasy_points_per_game",
      "value": 27.6333
    },
    {
      "metric": "opportunities_per_game",
      "value": 18
    },
    {
      "metric": "yards_per_game",
      "value": 121.6667
    }
  ],
  "coverage": {
    "available": true,
    "source": "player_stats_snapshot",
    "as_of": "2026-03-07 00:45:54.663760",
    "cutoff": "2024-09-05 20:20"
  }
}