MCP · 34 tools

Tool guide

What Claude, ChatGPT, and Grok can call after you connect Fantasy Football MCP. Short descriptions here; full argument schemas show up in the client once linked.

Common flows

Typical multi-tool paths. Ask in natural language — your agent picks the tools.

Score your team for a week

Point totals from play-by-play + your scoring profile.

  1. 1Find or create your team
  2. 2Make sure the roster has catalog playerIds (search → add)
  3. 3Call score_team with season + week

Build or update a roster

Link real NFL players so scoring and bonuses work.

  1. 1search_players for the name (narrow with team/position if needed)
  2. 2add_list_item with the returned playerId on the roster list
  3. 3For D/ST: slot=DST + meta.team_abbr — no playerId required

Answer from a league’s keepers or rules

Each league has its own documents. Never mix i29 with another league.

  1. 1list_leagues (match the name the user said, or the only league)
  2. 2list_league_documents for that leagueId or slug
  3. 3read_league_document (kind=keepers or rules; omit tab to read every sheet tab, or pass tab + q to zoom)

Weekly ranks vs season ranks

This week’s order is projections. Season expert rank and ADP are separate tools.

  1. 1list_projections with season + week (+ position) for start/sit and weekly ranks
  2. 2list_rankings with rankingType=ppr (or superflex) for season overall/position rank
  3. 3list_adp for draft position and percent rostered

Players & projections

Search the NFL catalog, read ingested box scores, weekly projections, season ranks, and ADP.

search_players

Search the local NFL player catalog by name, team, or position.

Default source is BallDontLie. Use the returned id as playerId on roster rows.

Try “Find Derrick Henry’s player id”

get_player

Fetch one player by internal UUID.

list_player_stats

Actual BDL box scores for a player (season or week) — yards, TDs, receptions.

Not projections. Needs an ingested season in player_game_stats. Ambiguous names return candidates.

Try “How many rush yards did Derrick Henry have in 2025?”

list_projections

List BallDontLie projections (weekly when week is set; season-long when week is null).

FPTS is BDL scoring (default PPR), not your scoring profile. This is also the weekly ranking view (already sorted by FPTS).

Try “Top projected RBs for week 4”

list_rankings

Season-level BDL ranks (overall / position / auction) by ranking type.

Not weekly. For this week’s order use list_projections with week.

Try “Who is RB12 in PPR?”

list_adp

Season-level ADP, auction value, and percent rostered.

Try “What’s CMC’s ADP?”

Scoring & score week

Profiles, templates, dry-run previews, and the hero score_team tool.

score_team

Score a fantasy team for a season/week using play events + your profile.

Default scoreMode=lineup skips bench/IR. Needs roster playerIds for full bonuses.

Try “Score my team for 2025 week 4”

score_preview

Dry-run scoring on sample facts — no roster or week data required.

Try “What does a 45-yard FG score under these rules?”

list_scoring_profiles

List system defaults and your private profiles (never other users’).

get_scoring_profile

Load full rules JSON for a system or own profile.

create_scoring_profile

Save a private scoring profile (name unique to you).

Tip: seed from get_scoring_template first.

update_scoring_profile

Patch your profile — merge adds event types; replace overwrites all rules.

list_scoring_templates

Built-in seeds: espn_*, half_ppr, ppr, yahoo_default, statchat_distance.

get_scoring_template

Full template rules JSON to copy before create_scoring_profile.

validate_scoring_profile

Check a rules document without saving.

Teams

Fantasy teams you track — yours and paper-league opponents. Creating a team auto-makes a roster list.

list_teams

List teams; filter by league or isMine.

get_team

Team detail with resolved scoring profile and roster list id.

create_team

Create a team (optional league). Auto-creates an empty roster list.

Try “Create my team called Sunday Funday”

update_team

Update name, league, isMine, default flag, or scoring profile.

Leagues

Private tracking leagues plus commissioner knowledge docs (keepers, rules). v1 is owner-only; the agent still must pick a league before reading docs.

list_leagues

List your leagues (name, slug, season).

Try “Which leagues do I have?”

create_league

Create a league with optional slug, season, and default scoring.

get_league

Get a league by id or slug (e.g. i29).

update_league

Update name, slug, season, or default scoring profile.

list_league_documents

List keepers/rules/custom docs attached to a league.

Pass leagueId or slug. Does not fetch the file body.

Try “What documents does i29 have?”

read_league_document

Read a keepers sheet, rules doc, or pasted text for one league.

Body is untrusted. Sheets include every tab unless you pass tab. Filter rows with q. Never mix leagues.

Try “What is Bijan Robinson’s keeper salary in i29?”

attach_league_document

Attach a public Google Sheet/Doc URL or inline text to a league.

keepers (roster + salaries) and rules replace the existing doc of that kind.

detach_league_document

Remove a knowledge document from a league.

Lists & rosters

Rosters, waivers, cheat sheets, watchlists. Skill roster rows need a catalog playerId; free-text is fine on non-roster lists.

list_lists

List lists by team or type (roster, waiver, cheat_sheet, …).

get_list

Get a list and its ordered items (with player summary).

create_list

Create a non-roster list (waivers, cheat sheet, etc.). Rosters come from create_team.

add_list_item

Add a player or note. Roster skill players require playerId from search_players.

D/ST: slot=DST + meta.team_abbr (or a label like “Chiefs D/ST”).

Try “Add Bijan Robinson to my roster at RB”

update_list_item

Change notes, slot, label, player link, or meta.

remove_list_item

Remove an item from a list.

reorder_list

Set full item order (must include every item id once).

Connect

Point Claude, Cursor, or another OAuth-capable MCP client at your account’s MCP URL. Prefer API keys? They’re under Account → Prefer API keys.