Analyze your Yahoo Fantasy sports team, evaluate roster health, compare free agents, and recommend add/drop moves. Use when user asks about fantasy team, waiver wire, roster moves, or player analysis.
Perform a comprehensive analysis of the user's Yahoo Fantasy team and recommend roster moves.
First, get leagues. If this fails with an auth error, run authentication:
mcp__yahoo-fantasy__get_leagues
If auth is needed:
mcp__yahoo-fantasy__authenticate (no args) — this opens the browsercode= value from the redirect URLmcp__yahoo-fantasy__authenticate with the codeget_leaguesDisplay available leagues and ask user which one to analyze (if multiple). For each league found, note the league_key and my_team_key.
Get the current roster:
mcp__yahoo-fantasy__get_roster(team_key)
For each rostered player, collect:
Flag immediately:
For each rostered player (parallelize where possible), get stats across multiple periods:
mcp__yahoo-fantasy__get_player_stats(player_key, stat_period="last14")
mcp__yahoo-fantasy__get_player_stats(player_key, stat_period="lastweek")
Also get season stats for context:
mcp__yahoo-fantasy__get_player_stats(player_key, stat_period="season")
Build a player scorecard for each rostered player:
| Metric | Last Week | Last 14 Days | Season |
|---|---|---|---|
| Key stats per position | ... | ... | ... |
Identify underperformers: Players whose last-14-day stats are significantly below their season averages (>20% drop in key categories).
Identify hot players: Players trending upward (last week >> season average).
Get the current week matchup to understand what categories/positions matter most right now:
mcp__yahoo-fantasy__get_matchup(team_key)
Note:
Search for top available free agents by position. Focus on positions where your roster is weakest:
mcp__yahoo-fantasy__get_free_agents(league_key, position="...", count=20)
Priority positions to check:
For promising free agents (top 5-10 per weak position), get their recent stats:
mcp__yahoo-fantasy__get_player_stats(fa_player_key, stat_period="last14")
mcp__yahoo-fantasy__get_player_stats(fa_player_key, stat_period="lastweek")
Use web search to verify player statuses and get recent news for:
Search pattern: "[Player Name]" fantasy [sport] [2025 or current year] news injury
Cross-reference: Yahoo injury status vs. actual recent news. Yahoo data can lag — verify with news.
ROSTER STATUS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Active & Healthy: [list]
⚠️ Day-to-Day: [list + injury note]
🚑 Injured/IL: [list + expected return]
📉 Cold streak: [list + recent stats]
🔥 Hot streak: [list + recent stats]
For each recommended move, provide:
RECOMMENDED MOVE #N
━━━━━━━━━━━━━━━━━
ADD: [Player Name] ([Position]) — [team]
DROP: [Player Name] ([Position]) — [team]
Why ADD: [last14 stats] | [recent news/role]
Why DROP: [underperforming data] or [injury] or [better option available]
Risk: Low/Medium/High — [brief reason]
Matchup boost: [if relevant to current week categories]
Rank recommendations by urgency:
For one-start/two-start pitchers (MLB) or matchup-based players (NBA/NFL), list weekly streaming targets from free agents.
Key stats by position:
Drop triggers: ERA > 5.00 (SP), AVG < .220 with no power, losing closer role
Add triggers: New closer, player hot for 10+ days, injury fill-in getting starts
Key stats: PTS, REB, AST, STL, BLK, 3PM, FG%, FT%, TO (negative)
Drop triggers: Coming off bench, minutes restriction, cold 2+ weeks with no role security
Add triggers: Injury promotion to starter, recent uptick in minutes/usage, back-to-back schedule advantage
Key stats by position:
Drop triggers: Losing WR1 role, RB committee reduction, team's offense struggling
Add triggers: Handcuff with injury to starter, emerging target share, favorable ROS schedule
Keep analysis actionable. Prioritize moves that address current injuries or significant underperformance over marginal upgrades.