Skip to main content
Glama
eponerine

ESPN Fantasy Football MCP Server

by eponerine

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SWIDNoPrivate-league cookie. Prefer setting this on the API server instead.
ESPN_S2NoPrivate-league cookie. Prefer setting this on the API server instead.
LEAGUE_IDNoDefault league. Tools may override it per call.
SEASON_YEARNoDefault season year.
FF_API_BASE_URLNoBase URL of the fantasy HTTP API. Must be https/http.http://localhost:3000
FF_CACHE_TTL_MSNoTTL for the in-memory response cache.60000
FF_API_TIMEOUT_MSNoPer-request timeout.20000

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": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_healthA

Check that the ESPN fantasy football HTTP API this server talks to is reachable. Use this first when other tools fail, to tell "API is down" apart from "bad league config".

get_leagueA

Get the league id, season year, league name, team count and — most importantly — current_week. Call this before any week-scoped question so you know what "this week" means.

get_settingsA

Get league settings: scoring format (PPR / half-PPR / standard and per-stat values), roster and lineup slot counts, playoff team count, playoff week matchup length, waiver/FAAB rules, keeper settings, and divisions. Player value depends entirely on these rules, so read them before ranking, trading or start/sit advice.

get_teamsA

List every fantasy team with team_id, name, abbreviation, record (wins/losses/ties), points for, points against and division. Use this to translate a team name the user typed into the numeric teamId other tools require.

get_standingsA

Get standings ordered by league rank with wins, losses, ties and points_for. Compare points_for against record to spot lucky and unlucky teams.

get_power_rankingsA

Get computed power rankings through a given week. Power score blends scoring and strength of opponents, so it is a better quality estimate than raw record. Use alongside get_standings to explain who is overperforming their record.

get_draftA

Get every draft pick with round, pick number, player, drafting team, auction bid amount and keeper status. Use for draft grades, steal/bust analysis, and to see how much a manager originally invested in a player being discussed in a trade.

get_rosterA

Get one team's roster for a specific week: player names, positions, lineup slot (starter vs bench), eligible slots, pro team, injury status and ownership percentages. This is the starting point for start/sit, trade and roster-construction questions. Both teamId and week are required.

get_scoreboardA

Get head-to-head scores for a week: home/away team names, scores and whether the matchup is a playoff game. Safe to call for future weeks, where scores will be zero. For per-player detail use get_box_scores instead.

get_matchupsA

Get the matchup schedule for a week, including matchup_type (regular season, winners bracket, losers/consolation bracket). Use this to preview who plays whom, including future weeks, and to work out playoff scenarios.

get_box_scoresA

Get detailed box scores for a week: actual and projected team scores plus, with includeLineup, every starter and bench player with their points, projected points, slot, pro opponent, bye-week flag and injury status. This is the richest tool here — use it for start/sit review, bench blunders, over/under-performance versus projection and weekly recaps. Requesting a week later than the league current_week fails with an error, so check get_league first.

get_free_agentsA

List unrostered players available on the waiver wire or as free agents, with projected points and recent points. This is the tool for "who should I pick up", streaming a defense or kicker, and finding a replacement for an injured starter. Filter by position and raise size to see deeper options.

get_player_infoA

Look up a single player by name or ESPN playerId and get their position, pro team, ownership and start percentages, injury status, and scoring. Use the exact full name ("Patrick Mahomes"); if the lookup fails, find the player via get_free_agents or get_roster and use the returned player_id instead.

get_transactionsA

Get roster transactions (waiver claims, free-agent adds, drops, trades) for a scoring period, including FAAB bid amounts and whether a claim succeeded or failed. Use this to see what the waiver market paid for a player and which managers are chasing the same needs.

get_activityA

Get the league activity feed — the chronological "who added/dropped/traded what" log. Best tool for "what did I miss this week" and for newsletter or recap writing. Page through with size and offset.

get_league_profileA

THE tool to call before giving any fantasy advice. Translates the league's raw ESPN settings into plain English: scoring format (PPR value, passing TD value, active yardage bonuses, every scoring rule grouped by category), the exact starting lineup including how many FLEX slots and whether it is superflex, bench and IR slot counts, roster size, waiver and FAAB mechanics, trade deadline, playoff structure, and a list of strategic implications those rules create. Player value depends entirely on these rules, so call this first rather than assuming a standard league.

check_lineupA

Audit a team's lineup for a week against the league's real slot requirements and player availability. Detects: unfilled starting slots that would score zero, starters on a bye, starters who are OUT or DOUBTFUL, questionable starters needing a kickoff check, players illegally occupying an IR slot (which blocks lineup submission in ESPN), injured bench players who could be stashed on an open IR slot to free a bench spot, and bench players outscoring a starter they are eligible to replace. Use this for "is my lineup set", "am I missing anything", and IR or bench optimization questions.

explain_fantasy_footballA

Get background on how fantasy football works: the season structure, scoring formats (PPR vs standard), lineup slots, waivers and FAAB, injury designations, strategy vocabulary and league types. Call this when a question uses fantasy jargon you are not confident about, or before giving advice in an unfamiliar league format.

how_to_answerA

Get the recommended tool sequence for common fantasy questions (start/sit, waiver pickups, trade evaluation, playoff odds, weekly recap, draft review). Call this when you are unsure which tools to combine for a question.

Prompts

Interactive templates invoked by user choice

NameDescription
start-sitDecide which players to start for a team this week.
waiver-wire-targetsFind the best available pickups and who to drop for them.
trade-evaluationJudge whether a proposed trade helps or hurts.
matchup-previewPreview a weekly head-to-head matchup.
weekly-recapWrite an entertaining recap of the week.
power-rankings-writeupTurn the computed power rankings into commentary.
playoff-outlookAssess playoff chances and what has to happen.
roster-checkupAudit a roster for holes, bye-week gaps and dead weight.
draft-reviewGrade the draft in hindsight.
league-briefingCatch me up on everything happening in the league.
explain-my-leagueTranslate the league rules into plain English and what they mean for strategy.
lineup-legality-checkVerify a lineup is legal, full and optimal before kickoff.
ir-and-bench-optimizationFree up roster spots using IR slots and drop candidates.
scoring-quirksWhat this league rewards that most managers overlook.
format-adjusted-rankingsRank players for this league's specific rules, not generic rankings.

Resources

Contextual data attached and managed by the client

NameDescription
fantasy-football-glossaryHow fantasy football works: formats, scoring, lineup slots, waivers, strategy terms.
question-playbookWhich tools to combine for the questions fantasy managers actually ask.
api-openapi-specThe live OpenAPI document served by the ESPN fantasy football HTTP API.
league-snapshotSummary of the league this server is configured against, including current week.
espn-code-referenceDecoder for ESPN lineup slot IDs, stat IDs, injury statuses and transaction types.
league-rules-digestPlain-English scoring, lineup, waiver and playoff rules for the configured league.

TDQS

A3.9/5.0

Scored across 19 tools

Disambiguation3/5

Most tools target clearly distinct data, but several overlap: get_settings and get_league_profile both describe league rules and instruct agents to call them first, get_scoreboard/get_matchups/get_box_scores all return week-level matchup data, and get_teams/get_standings both include records. Descriptions mitigate though, and there are no truly interchangeable tools.

Naming Consistency4/5

The vast majority follow a consistent get_<noun> pattern (get_league, get_roster, get_free_agents). Three exceptions break the pattern: how_to_answer, check_lineup, and explain_fantasy_football. Still easily readable and predictable overall.

Tool Count4/5

Nineteen tools is on the heavy side but justified for read-only ESPN fantasy football, which requires distinct operations for league info, rosters, scores, transactions, and player data. A few tools could be consolidated, but none feel superfluous.

Completeness5/5

The surface covers nearly everything a fantasy football assistant needs: league context, settings, teams, standings, draft, rosters, weekly scores, matchups, box scores, free agents, player lookup, transactions, activity feed, lineup auditing, and educational help. No major read-only gaps are apparent.

Maintenance

ActivityMaintained
ResponsivenessNo issues