ESPN MCP Server: live scores and sports API avatar

ESPN MCP Server: live scores and sports API

Pricing

from $7.00 / 1,000 action operations

Go to Apify Store
ESPN MCP Server: live scores and sports API

ESPN MCP Server: live scores and sports API

Connect Claude, ChatGPT, Cursor and other AI assistants to ESPN sports data through MCP. Get live scores, standings, box scores, play-by-play, rosters, schedules, odds, athlete stats, rankings and news across NFL, NBA, MLB, NHL, soccer, F1 and UFC, with no ESPN API key. By MrBridge (mr-bridge.com)

Pricing

from $7.00 / 1,000 action operations

Rating

5.0

(1)

Developer

MrBridge

MrBridge

Maintained by Community

Actor stats

3

Bookmarked

200

Total users

61

Monthly active users

6 days ago

Last modified

Share

ESPN MCP Server

Real-Time Sports Data for Claude Desktop, Claude Code, ChatGPT, Codex & MCP-Compatible Assistants

Apify Actor MCP Protocol ESPN

Tools Leagues


What does ESPN MCP Server do?

ESPN MCP Server connects AI assistants like Claude Code, Claude Desktop and ChatGPT directly to ESPN's real-time sports data. It exposes a suite of specialized tools covering scores, standings, team info, rosters, schedules, detailed game analysis, betting odds, athlete profiles, rankings, news and live scoreboards — all accessible through natural language prompts.

Instead of opening ESPN.com and navigating multiple pages, you ask your AI assistant: "What were last night's NBA scores?" or "Give me the full boxscore for the Lakers game." The MCP server fetches the data, formats it for AI consumption, and returns structured results — no ESPN API key required.

Without MCPWith ESPN MCP Server
Open ESPN.com, search for scoresJust ask Claude
Navigate multiple pages for stats"Who won last night's NBA games?"
Compare tabs for game details"Give me the full boxscore for the Lakers game"
Manually check odds on betting sites"What are the odds for tonight's NFL games?"
Search for player career stats"Show me LeBron's game log and season stats"
Browse different leagues separately"Compare Premier League and La Liga standings"

One prompt. Every sport. Real-time data.

No ESPN account needed, no API key, no setup. Just connect your AI assistant and ask about any sport.


Quick Start — Connect in 2 minutes

Step 1: Sign in to Apify

Sign in to your Apify account. Claude Desktop uses this account when you connect the server. If you use Claude Code, ChatGPT, Codex, Cursor, Windsurf or VS Code, also copy your API token from Apify Console → Settings → Integrations.

Step 2: Add the connector in Claude Desktop

In Claude Desktop, go to Settings → Connectors → Add custom connector, name it ESPN, and paste this into Remote MCP server URL:

https://mrbridge--espn-mcp-server.apify.actor/mcp

Leave Advanced settings empty. Claude Desktop signs in to Apify for you, so the token from Step 1 is only needed by the other clients.

On Claude Code, ChatGPT, Codex, Cursor, Windsurf or VS Code, skip this step: each has its own section below.

Step 3: Connect and allow the tools

Click Connect next to the ESPN connector. Your browser opens Apify, where you choose your account and click Allow Access. Then click the connector to open Tools permissions and set it to Always allow.

Step 4: Start asking

"What are today's NBA scores?"

That's it. The ESPN tools are immediately available.


One endpoint, authentication per client

Every client talks to the same Streamable HTTP endpoint:

https://mrbridge--espn-mcp-server.apify.actor/mcp

What changes from client to client is how your Apify account is proven:

  • Apify sign-in: Claude Desktop opens Apify in your browser and you approve access once. No token is pasted or stored in the connector.
  • Bearer token: ChatGPT receives your Apify token in the field labelled Bearer Token env var. Claude Code and Codex read the token from APIFY_TOKEN.
  • URL fallback: append ?token=YOUR_APIFY_TOKEN to the endpoint. The existing Cursor, Windsurf and VS Code sections use this fallback.

A URL carrying ?token= is a credential. Keep it out of commits, screenshots, shared terminal output and recordings.


What can ESPN MCP Server do?

  • MCP tools — Scores, standings, teams, rosters, schedules, news, game summaries, odds, athlete profiles, rankings, search, and live scoreboards
  • 25+ sports & leagues — NFL, NBA, MLB, NHL, WNBA, College Football/Basketball, Premier League, La Liga, Bundesliga, Serie A, Champions League, MLS, UFC, PGA, F1, NASCAR, ATP, WTA, and more
  • No ESPN API key — Uses ESPN's public data endpoints, no separate registration required
  • Always-on — Runs in Apify Standby mode with ultra-low latency (~200ms response times)
  • Smart caching — 3-tier in-memory cache (60s for live data, 5min for standings, 15min for static data)
  • LLM-optimized — Formatted text responses designed to minimize token usage while preserving all important data

What can you ask your AI assistant?

Live scores & game day

"What are today's NBA scores?"

"Is there a Monday Night Football game tonight? What's the score?"

"Show me all Premier League matches this weekend"

Deep game analysis

"Give me the full boxscore and player stats for last night's Lakers vs Celtics game"

"Who were the top performers in yesterday's NFL games?"

Team intelligence

"Show me the current NFL standings with win-loss records"

"What's the Golden State Warriors roster? Who are their key players?"

"What's the Lakers schedule for the rest of the season?"

Player research

"Show me LeBron James' career stats and this season's game log"

"Compare Patrick Mahomes' splits at home vs away this season"

Betting & odds

"What are the betting odds for tonight's NBA games? Show me the spread and moneyline"

"What was the over/under for the Super Bowl?"

News & rankings

"What's the latest NFL news?"

"Show me the current AP Top 25 college football rankings"

"Get the ATP tennis rankings"


What tools are available?

Changed in this release: Game dates and times are now rendered using US Eastern time by default instead of UTC. Outputs containing a clock time include the timezone, such as 7:30 PM EST. Pass timezone to use another IANA timezone.

Once connected, your AI assistant can use these tools:

ToolDescriptionExample
espn_scoreboardLive and recent scores for any sport/leagueToday's NBA scores, yesterday's MLB results
espn_standingsCurrent league standings with W/L recordsNFL division standings, Premier League table
espn_teamsList all teams or get detailed team infoAll NBA teams, Lakers team details
espn_team_rosterFull team roster with player detailsCurrent Warriors roster with positions
espn_team_scheduleTeam game schedule (past & upcoming)Remaining Celtics schedule
espn_newsLatest sports news headlines and articlesTop NFL headlines this week
espn_game_summaryMost detailed — Full boxscore, player stats, venue, officials, attendance, leaders, scoring summaryFull breakdown of last night's game
espn_game_oddsBetting odds from multiple providers (Consensus, DraftKings, Caesars, Bet365)Tonight's spread and over/under
espn_athletesAthlete profiles, game logs, splits, career statsLeBron's season averages and game log
espn_rankingsCollege, UFC, and tennis rankingsAP Top 25, UFC pound-for-pound
espn_searchSearch ESPN for players, teams, and leaguesFind a player by name
espn_live_scoreboardCDN-optimized live scoreboard with real-time updatesLive scores right now
espn_play_by_playPlay-by-play for a game, filterable by period or last N playsEvery play of the 4th quarter

About the MrBridge MCP fleet

Maintained by MrBridge. Full details on the ESPN MCP server page, or see all MrBridge MCP servers. New to the protocol? Start with What is MCP and why it matters.

Which sports and leagues are supported?

SportLeaguesCodes
FootballNFL, College Footballfootball/nfl, football/college-football
BasketballNBA, WNBA, Men's College, Women's Collegebasketball/nba, basketball/wnba, basketball/mens-college-basketball
BaseballMLBbaseball/mlb
HockeyNHLhockey/nhl
SoccerPremier League, La Liga, Bundesliga, Serie A, Ligue 1, Champions League, MLSsoccer/eng.1, soccer/esp.1, soccer/ger.1, soccer/ita.1, soccer/fra.1, soccer/uefa.champions, soccer/usa.1
MMAUFCmma/ufc
GolfPGA Tour, LPGAgolf/pga, golf/lpga
RacingFormula 1, NASCARracing/f1, racing/nascar-premier
TennisATP, WTAtennis/atp, tennis/wta

Use these codes in the sport and league parameters when calling tools.


Connect from Claude Desktop

Claude Desktop reaches remote MCP servers natively. There is no config file to edit, no local bridge to install, and no token to paste.

  1. Open Settings → Connectors
  2. Click Add custom connector
  3. Name it ESPN
  4. Paste this into Remote MCP server URL:
https://mrbridge--espn-mcp-server.apify.actor/mcp
  1. Leave the OAuth fields under Advanced settings empty, and add the connector
  2. Click Connect next to ESPN. Your browser opens Apify, where you choose the account to connect and click Allow Access
  3. Click the ESPN connector to open Tools permissions, then set the top dropdown to Always allow so each tool stops asking

Claude Desktop authenticates through your Apify sign-in, which is why the URL carries no token. Test with: "What are today's NBA scores?"

Anthropic documents the flow in Getting started with custom connectors and Building custom connectors via remote MCP servers.


Connect from Claude Code

Export your token, then add the server from your terminal:

export APIFY_TOKEN="YOUR_APIFY_TOKEN"
claude mcp add --transport http --scope user espn \
"https://mrbridge--espn-mcp-server.apify.actor/mcp" \
--header 'Authorization: Bearer ${APIFY_TOKEN}'

Two details are deliberate. --scope user makes ESPN available in every project you open, where the default local scope would tie it to the directory you are standing in. The single quotes keep ${APIFY_TOKEN} literal in Claude Code's configuration. Claude Code resolves it at connection time, so the token value is not written to .claude.json.

Set APIFY_TOKEN through your shell or secret manager. If you paste the token into an export command, your shell may retain it in its history.

Check the connection:

$claude mcp get espn

A working server reports ✔ Connected. Inside Claude Code, /mcp opens the server panel and lists the ESPN tools.

Claude Code asks before each tool call. To approve the whole server once, run /permissions and add:

mcp__espn__*

The permission pattern reuses the server name exactly as you registered it, so a server added as espn is allowed as mcp__espn__*, lowercase.

Reference: Claude Code MCP documentation.


Connect from ChatGPT

  1. Open Integrations, then Plugins, then click Add MCP Server
  2. In the Connect to a custom MCP panel, enter ESPN as the Name
  3. Set Type to Streamable HTTP. Without it the connection is not created
  4. Enter the URL:
https://mrbridge--espn-mcp-server.apify.actor/mcp
  1. Enter your Apify API token in Bearer Token env var
  2. Leave Headers empty
  3. Click Save at the bottom

The server then appears in the MCP tab, ready to call from a conversation.

This option is available when your ChatGPT plan and workspace expose Integrations and Plugins.

Then ask:

"Can you use the ESPN MCP server to show the latest completed WNBA games?"


Connect from Codex

Codex reads the token from an environment variable, so the credential never reaches a config file:

export APIFY_TOKEN="YOUR_APIFY_TOKEN"
codex mcp add espn \
--url "https://mrbridge--espn-mcp-server.apify.actor/mcp" \
--bearer-token-env-var APIFY_TOKEN

Check the result:

$codex mcp list

The espn row shows Bearer token as its authentication method. Inside Codex, /mcp shows the active MCP servers.

The same server written directly in ~/.codex/config.toml:

[mcp_servers.espn]
url = "https://mrbridge--espn-mcp-server.apify.actor/mcp"
bearer_token_env_var = "APIFY_TOKEN"

No stdio bridge is required.

Reference: Codex MCP documentation.


Connect from Cursor IDE

Add to your Cursor MCP settings (.cursor/mcp.json in your project or global config):

{
"mcpServers": {
"ESPN": {
"url": "https://mrbridge--espn-mcp-server.apify.actor/mcp?token=YOUR_APIFY_TOKEN"
}
}
}

Then ask Cursor's AI: "What are tonight's NBA scores?"


Connect from Windsurf

In Windsurf, go to Settings → MCP and add a new server with the URL:

https://mrbridge--espn-mcp-server.apify.actor/mcp?token=YOUR_APIFY_TOKEN

All ESPN tools become available in Windsurf's AI assistant.


Connect from VS Code (Copilot, Cline, Continue)

GitHub Copilot (VS Code)

Add to your .vscode/mcp.json:

{
"servers": {
"ESPN": {
"type": "http",
"url": "https://mrbridge--espn-mcp-server.apify.actor/mcp?token=YOUR_APIFY_TOKEN"
}
}
}

Cline Extension

In Cline settings, go to MCP Servers → Remote Servers and add:

https://mrbridge--espn-mcp-server.apify.actor/mcp?token=YOUR_APIFY_TOKEN

Continue Extension

Add to your .continue/config.yaml:

mcpServers:
- name: ESPN
url: https://mrbridge--espn-mcp-server.apify.actor/mcp?token=YOUR_APIFY_TOKEN

Integrate with Zapier, Make & n8n

ESPN MCP Server runs on Apify, which integrates natively with popular automation platforms. Use it to build automated sports alerts, daily briefings, or data pipelines.

Zapier

Use the Apify Zapier integration to trigger workflows:

  1. Add "Apify" as a trigger app in your Zap
  2. Select "Run Actor" action with Actor ID OS9xgGMTqfof7z05J
  3. Connect to Gmail, Slack, Google Sheets, or 5,000+ other apps

Example Zap: Every morning at 8am → Run ESPN MCP Server → Get NBA standings → Send Slack message to #sports channel

Make (Integromat)

Use the Apify Make integration:

  1. Add "Apify" module → "Run an Actor"
  2. Actor ID: OS9xgGMTqfof7z05J
  3. Route outputs to Google Sheets, email, Telegram, or any Make module

n8n

Use n8n's HTTP Request node to call the Apify API:

POST https://api.apify.com/v2/acts/mrbridge~espn-mcp-server/runs?token=YOUR_APIFY_TOKEN

Or use the Apify n8n node for a no-code setup.


Use via Apify API

Call ESPN MCP Server programmatically without an MCP client:

JavaScript / TypeScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('mrbridge/espn-mcp-server').call({
sport: 'basketball',
league: 'nba'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("mrbridge/espn-mcp-server").call(
run_input={"sport": "basketball", "league": "nba"}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

cURL

curl -X POST "https://api.apify.com/v2/acts/mrbridge~espn-mcp-server/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"sport": "basketball", "league": "nba"}'

Note: For real-time AI conversations, use the MCP connection (see Quick Start). The Apify API is best for batch jobs, scheduled runs, and automation pipelines.


How does it work?

Claude Code / Claude Desktop / ChatGPT
|
| MCP (Streamable HTTP)
v
+-----------------------------+
| ESPN MCP Server (Apify) |
| +---------------------+ |
| | MCP Tools | |
| | 3-Tier Cache | |
| | Retry + Backoff | |
| +---------------------+ |
+-------------+---------------+
| HTTP GET (JSON)
v
ESPN Public API
(site, web, CDN endpoints)

Key design decisions:

  • Stateless transport — Each request gets a fresh MCP server instance, eliminating session issues during Standby container restarts
  • Concise formatting — No raw JSON dumps; structured text optimized for LLM consumption
  • Graceful errors — Every tool returns human-readable error messages, never crashes

Is my data safe?

  • No ESPN account required — The server uses ESPN's public data endpoints. No API key, no registration
  • No data stored — All data is fetched in real-time and never persisted
  • Read-only — The server only reads public sports data. No write operations
  • Apify token — Only used for MCP authentication with Apify's platform, never shared with ESPN

How much does it cost?

This MCP server uses Apify's pay-per-event pricing. Two things are billed to you:

  • Tool calls, priced per event. Current prices are on the Pricing tab, which is always up to date.
  • Platform usage for the running container. In Standby mode the server stays warm so it can answer instantly, and it shuts down after 300 seconds of inactivity. That warm time is billed as platform usage, on top of the tool-call events.

What is and is not charged

Charged for a completed query, including a no-results response. Calls rejected during input validation or by ESPN, and technical failures, are not charged.

A no-results answer is a delivered service: the question was valid, the request was made, and "no games scheduled today" is the correct answer. A rejected identifier or an ESPN outage is not.

Spending caps

One run-wide dollar spending cap applies. Whether another call fits depends on that call's event price, so a cheaper call may still be charged after a more expensive one is refused. When another event of the same type no longer fits, the billed response ends with this warning:

⚠️ Cost cap reached. Further tool calls in this run may be blocked.

Start with $5 free credits.


Troubleshooting

ProblemSolution
"Tools not showing up"Verify your Apify token is correct. Check that the URL includes /mcp path
"Needs authentication" or 401The token is missing or wrong. On URL-only clients, check that ?token= carries the whole token. On Codex, check that the environment variable named by --bearer-token-env-var is exported in the shell that launches Codex
"Empty results"Some endpoints require specific sport/league codes. Check the Supported Sports table
"Connection timeout"The server starts in ~2 seconds on first request (cold start). Retry once. Subsequent requests are instant
"Game summary returns error"Game summaries require a valid eventId. Use espn_scoreboard first to find game IDs
"Session not found"The Standby container may have restarted. Disconnect and reconnect the MCP server in your settings

FAQ

What is an ESPN MCP Server?

An MCP (Model Context Protocol) server that bridges AI assistants and ESPN sports data. It exposes tools that AI assistants can call to retrieve scores, standings, stats, news, odds, and more — all through natural language prompts.

Do I need an ESPN account or API key?

No. This server uses ESPN's publicly available data endpoints. No ESPN account, no API key, no registration. You only need an Apify account (free tier available).

Does this work with ChatGPT, Codex, Cursor, or VS Code?

Yes. Clients that support remote Streamable HTTP and one of the authentication methods above can connect. Claude Desktop, Claude Code, ChatGPT and Codex each have their own connection section above, and configuration snippets for Cursor, Windsurf and VS Code follow them.

How real-time is the data?

Live game data is cached for 60 seconds. Standings and rosters refresh every 5 minutes. Static data (team info) refreshes every 15 minutes. For live games, you get near-real-time updates.

Which sports are supported?

25+ leagues across football (NFL, college), basketball (NBA, WNBA, college), baseball (MLB), hockey (NHL), soccer (Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Champions League, MLS), MMA (UFC), golf (PGA), racing (F1, NASCAR), and tennis (ATP, WTA).

Can I get betting odds?

Yes. The espn_game_odds tool returns odds from multiple providers including Consensus, DraftKings, Caesars, and Bet365 — spreads, moneylines, over/unders, and win percentages.

Is my data secure?

This server only reads publicly available ESPN data. No personal accounts are accessed. Your Apify API token is used solely for authentication with Apify's platform.

How much does it cost?

You pay per tool call, plus the platform usage of the running container. See the full pricing breakdown.

Can I use it for fantasy sports research?

Absolutely. Use espn_athletes for player stats, game logs, and splits. Use espn_team_schedule to check upcoming matchups. Use espn_game_summary for detailed performance data. Ideal for weekly fantasy lineup decisions.

How do I find game IDs for the summary tool?

Use espn_scoreboard first to get today's games — each game includes an eventId. You can also find game IDs in ESPN URLs: espn.com/nba/game/_/gameId/401584793 → eventId is 401584793.


What does the output look like?

Here's a sample response from the espn_scoreboard tool for NBA scores:

NBA Scoreboard — Mar 14, 2026
Boston Celtics 112 - 105 Milwaukee Bucks (Final)
Top: J. Tatum 32pts/8reb/6ast | G. Antetokounmpo 28pts/12reb/5ast
Los Angeles Lakers 98 - 101 Golden State Warriors (Final)
Top: L. James 25pts/7reb/9ast | S. Curry 31pts/4reb/6ast
Dallas Mavericks 119 - 115 Phoenix Suns (Final/OT)
Top: L. Doncic 38pts/10reb/8ast | K. Durant 35pts/6reb/4ast

And a sample from espn_game_summary with detailed boxscore:

Boston Celtics 112 - 105 Milwaukee Bucks
Venue: TD Garden, Boston, MA | Attendance: 19,156
SCORING BY QUARTER:
BOS: 28 | 30 | 25 | 29 = 112
MIL: 22 | 31 | 27 | 25 = 105
LEADERS:
BOSJ. Tatum: 32pts 8reb 6ast | J. Brown: 24pts 5reb 3ast
MILG. Antetokounmpo: 28pts 12reb 5ast | D. Lillard: 22pts 3reb 8ast

Other MCP servers by mrbridge

ServerCategoryToolsBest for
LoL MCP ServerGaming26 toolsLeague of Legends AI coaching & live data
TFT MCP ServerGaming19 toolsTeamfight Tactics comp analysis & coaching
Latest News MCPNews14 toolsReal-time news from 27 free APIs
Todoist AI AssistantProductivity35 toolsSmart task management & AI prioritization

All servers use pay-per-event pricing.


Changelog

Release notes are available in the Actor's Changelog.


Resources


Built for sports fans who want AI to do the research.