Skip to main content
Glama
Tarune28

ESPN Fantasy Football MCP Server

by Tarune28

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ESPN_S2NoYour ESPN_S2 cookie value. Required for private leagues; omit for public leagues. Keep private — it authenticates as your ESPN account.
ESPN_SWIDNoYour ESPN SWID cookie value (including braces, e.g., {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}). Required for private leagues; omit for public leagues. Keep private.
ESPN_YEARNoOptional. The fantasy football season year. Defaults to the current calendar year.
ESPN_LEAGUE_IDYesYour ESPN league ID, found in the league URL (e.g., https://fantasy.espn.com/football/league?leagueId=123456 → 123456). Required for both public and private leagues.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_trade_candidatesA

Identify potential trade targets for a team.

Args: team_name: Team name or owner name (fuzzy).

Finds the team's weakest starting position group, then scans every other team for players at that position who sit on the bench or represent surplus depth. Returns candidates grouped by position need, with the owning team so the user knows whom to approach.

get_start_sitA

Recommend start/sit moves for a team's lineup for a given week.

Args: team_name: Team name or owner name (fuzzy, case-insensitive substring). week: Week number. Defaults to the upcoming (actionable) week — if the current week's games are already final, this is next week.

Flags starters who are injured or on bye, then compares bench players to the current starters at slots they are eligible to fill and suggests any swap where a bench player out-projects a starter. Purely projection-driven — treat it as a starting point, not gospel (matchups and game scripts still matter).

refresh_leagueA

Force a re-fetch of all league data from ESPN.

Use this when scores, rosters, or transactions may have changed since the server started. All other tools use cached data until this is called.

get_league_overviewB

Get a high-level overview of the league.

Returns the league name, season year, current week, number of teams, and key settings (scoring type, playoff team count).

get_standingsA

Get league standings ranked by record and points for.

Includes each team's wins-losses(-ties), points for/against, and current win/loss streak.

get_teamsA

List every team in the league with its team name and owner.

Use this first so you know the exact names to pass to other tools. Team lookups elsewhere accept either the team name or the owner name.

get_matchupsB

Get all matchups for a given week with scores and projections.

Args: week: Week number. Defaults to the current week.

get_scoreboardA

Get the current week's live scores across all matchups.

get_power_rankingsB

Get power rankings for a week, if the library can compute them.

Args: week: Week number. Defaults to the current week.

get_trade_activityB

List recent completed trades in the league.

get_playoff_pictureA

Show the projected playoff picture.

Ranks teams by record and points for, marks the current playoff seeds, and gives a rough clinched / in-contention read based on games remaining.

get_league_settingsA

Get the league's scoring format and roster/structure settings.

Essential context for evaluating player value: scoring type (PPR / half / standard), roster slot requirements, playoff structure, trade deadline, and waiver/FAAB type.

get_free_agentsA

List the top available free agents.

Args: position: Optional position filter (QB, RB, WR, TE, K, DST). Omit for all. limit: Maximum number of players to return (default 10).

Sorted by projected points (falling back to average points).

get_player_statsB

Look up a specific player's season stats and current status.

Args: player_name: Full or partial player name.

Returns season totals/averages, projected points, injury status, and available weekly scores.

get_player_scheduleA

Show a player's NFL bye week and remaining NFL matchups.

Args: player_name: Full or partial player name.

Useful for spotting bye-week conflicts and upcoming tough/easy stretches.

get_team_rosterB

Get the full roster for any team in the league.

Args: team_name: Team name or owner name (fuzzy, case-insensitive substring). week: Week to project for. Defaults to the upcoming (actionable) week — if the current week's games are already final, this is next week.

Shows each player's name, position, projected points, injury status, and whether they are in a starting slot or on the bench.

get_head_to_headB

Get the season head-to-head history between two teams.

Args: team_name_1: First team (name or owner, fuzzy). team_name_2: Second team (name or owner, fuzzy).

Scans each team's weekly schedule for games against the other and reports the results and point totals.

get_team_scheduleA

Show a team's remaining schedule with opponent strength.

Args: team_name: Team name or owner name (fuzzy).

Lists each remaining week's opponent along with that opponent's record and points for, so you can gauge schedule difficulty.

compare_teamsB

Compare two teams' starting lineups side by side, position by position.

Args: team_name_1: First team (name or owner, fuzzy). team_name_2: Second team (name or owner, fuzzy).

Groups starters by position and shows projected points for each slot, plus a projected-points total for each team.

get_team_analysisA

Aggregated snapshot of a team for trade / improvement advice.

Args: team_name: Team name or owner name (fuzzy).

Returns:

  • Full roster with average points and a last-3-weeks trend (up/down/flat)

  • Bye-week conflicts (weeks where multiple starters are out)

  • Position-group strength vs the league average at that position

  • Bench depth by position

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 20 tools

Disambiguation3/5

Several tools overlap in purpose: get_matchups and get_scoreboard both return weekly scores, and get_standings, get_power_rankings, and get_playoff_picture all rank teams. Descriptions help differentiate, but an agent may still hesitate between the scoreboard and matchups tools.

Naming Consistency5/5

All tools use snake_case with a consistent verb_noun pattern (get_*, refresh_league, compare_teams). The convention is predictable and readable throughout.

Tool Count4/5

With 20 tools, the server is on the heavy side for the domain, but each tool covers a distinct facet of fantasy football management. Some redundancy exists (e.g., scoreboard vs. matchups), but overall the count is reasonable.

Completeness4/5

The toolset covers most in-season fantasy football needs: league info, standings, matchups, player stats, rosters, trades, waivers, and start/sit advice. Minor gaps include a full transaction log and waiver bid suggestions, but core workflows are supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues