Skip to main content
Glama
ngruixin

espn-ff-manager

by ngruixin

espn-ff-manager

An MCP server for managing an ESPN fantasy football team after the draft: waivers, lineups, injuries, trades, playoff odds, and K/D:ST streaming.

Built on espn-api (unofficial ESPN API wrapper). Read-only: it never makes roster moves on your ESPN account.

Security design

  • Credentials never pass through the model. Your espn_s2/SWID cookies are read from the environment or a .env file — there is deliberately no authenticate tool, so cookie values never appear in chat history.

  • Credential values are redacted from error messages before they reach the model.

  • The league ID is pinned in config, not accepted from the model.

Related MCP server: fantasy-yolo

Tools

Tool

What it does

get_league_overview

Settings, standings with divisions, current week

get_roster

Any team's roster with projections and injury status

get_matchup

Full box score: starters, bench, actual vs. projected

get_free_agents

Top available players with weekly + ROS projections

optimize_lineup

Optimal legal lineup vs. your current one, with start/sit moves

get_injury_report

Injured / questionable / bye-week players on a roster

get_recent_activity

League transaction feed (adds, drops, trades)

analyze_trade

Rest-of-season projection deltas for both sides of a trade

get_playoff_outlook

Monte Carlo playoff odds from scoring profiles + schedule

get_streaming_targets

Best available K or D/ST for a week vs. yours

get_waiver_targets

Free agents ranked by upgrade over your weakest player

get_draft_board

Deterministic VORP draft board with tiers, from your league's real slots

refresh_league

Force-refresh cached league data (default TTL 15 min)

optimize_lineup also reports per-slot margins and contested slots (close calls or injury-flagged starters) — useful as the escalation trigger for agent-based start/sit research. Before the season starts it degrades to season-average projections instead of erroring.

Headless report CLI

The same data is available as plain JSON on stdout, for cron jobs and agent scripts that don't speak MCP:

uv run python -m espn_ff_manager.report league
uv run python -m espn_ff_manager.report lineup [--week N]
uv run python -m espn_ff_manager.report draft-board [--size N]
uv run python -m espn_ff_manager.report free-agents [--position RB]
uv run python -m espn_ff_manager.report history --year 2025

Setup

Requires uv (which manages Python for you).

cd espn-ff-manager-mcp
cp .env.example .env   # then edit .env with your league ID + cookies
uv sync
uv run pytest          # optional: run the test suite

Register with Claude Code

claude mcp add espn-ff -- uv --directory /path/to/espn-ff-manager-mcp run espn-ff-manager

Register with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "espn-ff": {
      "command": "uv",
      "args": ["--directory", "/path/to/espn-ff-manager-mcp", "run", "espn-ff-manager"]
    }
  }
}

Notes

  • ESPN has no official public API; this uses the same unofficial endpoints as the espn-api library and can break without notice when ESPN changes things.

  • Weekly projections come from ESPN's own projection feed.

  • analyze_trade ROS math covers the regular season only; check playoff-week schedules separately before accepting a trade.

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only analysis of a Yahoo fantasy football league through natural language, including replacement-level roster evaluation, trade targeting, and waiver priority recommendations.
    -
  • A
    license
    B
    quality
    B
    maintenance
    Enables interaction with ESPN Fantasy Football leagues through natural language, allowing users to query rosters, matchups, and injuries, and execute actions via MCP or CLI.
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A read-only fantasy football decision server that delivers lineup optimization, waiver-priority and FAAB recommendations, post-waiver free-agent sweeps, streaming picks, and player-only trade evaluation/discovery using each league's saved Sleeper scoring and roster settings. All operations are also available through the CLI, and every recommendation is validated against league, season, week, and scoring context.
    1
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    Gives Claude Desktop read access to an ESPN Fantasy Football league, exposing standings, rosters, matchups, free agents, trades, and schedules so users can ask about their league in natural language. Adds purpose-built tools for trade targeting, roster-improvement analysis, and projection-based start/sit advice.
    20
    -