ESPN Fantasy MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ESPN_S2 | No | Your ESPN S2 cookie value for private league authentication. Optional for public leagues. | |
| ESPN_SWID | No | Your ESPN SWID cookie value for private league authentication. Optional for public leagues. | |
| ESPN_BASE_URL | No | Base URL for ESPN Fantasy read API. Default is https://lm-api-reads.fantasy.espn.com | https://lm-api-reads.fantasy.espn.com |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_league_snapshotB | Get league settings, teams, rosters, schedule, and matchup data. This is read-only. Use the league ID visible in the ESPN Fantasy URL. |
| get_team_rosterB | Get one team's normalized roster and record. This is read-only. |
| get_free_agentsC | Find available free agents and waiver players. This is read-only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: league-wide snapshot, specific team roster, and free agent list. No meaningful overlap in functionality.
All tool names follow the same 'get_' + noun pattern with snake_case, making them predictable and consistent.
With only 3 tools, the set is minimal but fits a narrow read-only fantasy football use case. It is not bloated, though it borders on sparse.
The surface covers core read operations (league, team roster, free agents) but misses obvious fantasy football needs like standings, player details, or transaction history, leaving the domain partially incomplete.