ESPN integration reference

A hosted MCP server for ESPN Fantasy

League Loom is a free, read-only ESPN fantasy MCP server for football and four other sports, so Claude, ChatGPT and other MCP clients can read your ESPN leagues.

Add https://leagueloom.com/mcp on a computer, in a client that supports Streamable HTTP and OAuth; Claude's phone app can then use it. This reference covers authorization and your first retrieval.

Free connector · ESPN, Sleeper & Fantrax · Works with compatible AI tools

Looking for step-by-step setup in ChatGPT or Claude? See Connect ESPN Fantasy to ChatGPT and Claude.

Looking for Sleeper or Fantrax over MCP? See Fantasy MCP servers compared.

Last updated

See it with a real team

Your teams. A useful answer.

A recorded check-in with real teams.

AI Assistant
Claude, ChatGPT & more
League Loom
Gagging on CauliFlowers · ESPN
What should I review at tight end this week?
Compare Hockenson in your lineup with Kraft on the bench.
TE
T.J. HockensonStarting tight end
Listed active. Check expected targets, snap share and the upcoming matchup.
TE
Tucker KraftBench
Also listed active. Compare the same usage measures under your league's scoring.

Both are on your current 18-player roster. The roster and injury reports give you the candidates; recent usage and matchup research are still needed to rank them.

Plan for the next eligible lineup period. Confirm ESPN's deadline and each player's eligibility before making a change; this snapshot does not verify that the slot is open.

Ask about your leagues…

Before you start

Check your client and league access

Remote MCP and OAuth

A client must support the endpoint transport and complete OAuth. Merely accepting a URL is not proof that authorization or tool calls work.

Public or private ESPN

Public leagues use their league URL. Private leagues also need your own espn_s2 and SWID from a signed-in browser. Never paste these into a chat prompt.

Data varies by league

League Loom supports ESPN NFL, NBA, MLB, NHL and WNBA. Missing or offseason roster data must remain unavailable rather than becoming a made-up empty team.

Get connected

From your league to your AI tool

1

Add the connector

In Claude or any MCP tool, add a custom connector; in ChatGPT on the web, turn on developer mode and use the + button on the Plugins page. Give it a name and paste the League Loom URL as the server address.

2

Choose your leagues

Load your leagues in the setup wizard. Select a personal team for team-specific help, or leave it unselected for league overviews. No API keys.

3

Just ask

Ask about your roster, waivers, matchups, and more, in plain language, across every league.

Remote connector URL

https://leagueloom.com/mcp

Add this URL in your AI tool, then follow the guided setup.

Open setup wizard →

Worked example

Verify one complete retrieval

A reproducible integration checklist, not a fabricated live response.

  1. Discover and authorize

    Add https://leagueloom.com/mcp in your client. Complete the OAuth setup, select a league and team, and return to the assistant.

  2. Read the configured profile

    Ask for your connected setup. The fantasy_get_my_setup result should identify the expected provider and league before the assistant asks for a roster.

  3. Read one team

    Ask for your ESPN team. Check the reported league, roster coverage and retrieval time. A successful handshake alone does not verify provider access.

  4. Resolve the correct failure

    An OAuth failure occurs before provider data is read. An ESPN authorization error can mean expired cookies; refresh them through setup. Missing roster data is a coverage issue, not evidence of an empty team.

More about this connection

MCP transport, OAuth authorization and ESPN data access are separate checks. League Loom is hosted, so you do not need to deploy a server or obtain an ESPN API key.

Public ESPN leagues use their league URL; private leagues require browser credentials entered in setup and sealed into your encrypted connection. The client discovers the tool list after connecting, and current tools retrieve or analyze data without submitting moves.

Keep secrets out of query strings, logs and prompts. If authorization succeeds but a provider request fails, use the reported failure to distinguish stale ESPN credentials from unavailable league data.

Before you connect

Questions, answered

Do I need an ESPN API key?

No. ESPN does not issue fantasy API keys, and League Loom does not need one. It reads the same fantasy endpoints the ESPN website and app use. Public leagues need nothing at all; private leagues use the espn_s2 and SWID cookies from your own signed-in browser session, pasted once during setup.

Is League Loom an official ESPN product?

No. League Loom is an independent MCP server that reads ESPN fantasy data through the endpoints ESPN's own site uses. Those endpoints are unofficial and undocumented, which is why the cookies for a private league can occasionally need refreshing.

Which AI apps can use it?

Compatible clients must support hosted Streamable HTTP and League Loom's OAuth flow. Use the maintained Claude and ChatGPT guides for current setup steps and account requirements. A transport connection alone does not verify league access.

Can it change my ESPN lineup or put in a waiver claim?

No League Loom tool can change your ESPN league. The AI can tell you who to start or which claim to make, and you make the move in the ESPN app yourself.

Which sports does it cover on ESPN?

League Loom's ESPN support covers NFL, NBA, MLB, NHL, and WNBA leagues. The same connector also reads Sleeper and Fantrax leagues, so one connection can cover every team you manage.

What exactly can it read from an ESPN league?

Rosters with lineup slots, standings, matchups with weekly scoring and ESPN's projections, the schedule, transactions, draft results, available players, player data, and league settings such as scoring and roster rules.

What happens when my espn_s2 or SWID cookie expires?

ESPN's private-league cookies can expire or change if you log out or ESPN resets your session. When that happens the connection to that league stops working until you paste fresh espn_s2 and SWID values at setup, which takes about a minute. Public leagues are unaffected.

Before you connect a league, read how League Loom is built, what the privacy policy says is stored, the terms of service and the full FAQ, or check the press kit with key facts and who builds it.