Server data from the Official MCP Registry
29 sports API providers, 319 tools. Scores, stats, odds, esports, and more.
29 sports API providers, 319 tools. Scores, stats, odds, esports, and more.
Valid MCP server (4 strong, 4 medium validity signals). 3 known CVEs in dependencies (0 critical, 3 high severity) ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry.
5 files analyzed · 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: SPORTS_HUB_PROVIDERS
Environment variable: API_SPORTS_KEY
Environment variable: PANDASCORE_TOKEN
Environment variable: THE_ODDS_API_KEY
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-lacausecrypto-sports-hub": {
"env": {
"API_SPORTS_KEY": "your-api-sports-key-here",
"PANDASCORE_TOKEN": "your-pandascore-token-here",
"THE_ODDS_API_KEY": "your-the-odds-api-key-here",
"SPORTS_HUB_PROVIDERS": "your-sports-hub-providers-here"
},
"args": [
"-y",
"mcp-sports-hub"
],
"command": "npx"
}
}
}From the project's GitHub README.
A unified MCP server that aggregates 29 sports API providers into a single service. 319 tools covering scores, stats, odds, esports, college sports, and more across 70+ sports.
Each provider works independently. You only need API keys for the providers you use. Missing keys don't block startup — tools return an error when called without their key.

NBA scores, Premier League odds, Tennis H2H — all from a single MCP server.
| OS | Status |
|---|---|
| macOS | Supported |
| Linux | Supported |
| Windows | Supported |
| Client | Status | Notes |
|---|---|---|
| Claude Desktop | Supported | Anthropic's desktop app |
| Claude Code (CLI) | Supported | claude mcp add |
| Cursor | Supported | Built-in MCP |
| Windsurf (Codeium) | Supported | Built-in MCP |
| Continue.dev | Supported | Open-source AI assistant |
| Cline | Supported | VS Code extension |
| Zed | Supported | Built-in MCP |
| ChatGPT Desktop | Supported | OpenAI desktop app |
| Gemini CLI | Supported | Google CLI |
| Any MCP client | Supported | Stdio + HTTP/SSE transport |
Uses the stdio transport from the MCP SDK. Works with any LLM (Claude, GPT, Gemini, Llama, Mistral, etc.).
Requirements: Node.js 18+, npm.
These providers work out of the box. Just build and run.
| Prefix | Provider | Coverage | Tools | Notes |
|---|---|---|---|---|
espn_ | ESPN | 20+ sports | 10 | Unofficial — can break |
nhl_ | NHL Web API | NHL | 13 | Undocumented but stable |
mlb_ | MLB Stats API | MLB/MiLB | 13 | Official, undocumented |
f1_ | Jolpica F1 | Formula 1 (1950+) | 13 | Community-maintained |
openf1_ | OpenF1 | F1 live telemetry | 12 | Live race weekends only |
openliga_ | OpenLigaDB | German football | 10 | Bundesliga focus |
golfcourse_ | GolfCourseAPI | 30K+ courses | 6 | Course data only |
sportsdb_ | TheSportsDB | 40+ sports | 13 | Test key auto, watermarks |
ncaa_ | NCAA API | College sports | 8 | 5 req/s rate limit |
Tip: Use
SPORTS_HUB_PROVIDERS=freeto load only these 9 providers.
Registration takes 1-2 minutes. All keys are free.
| Prefix | Provider | Coverage | Tools | Free Limit | Get Key |
|---|---|---|---|---|---|
pandascore_ | PandaScore | Esports (13 titles) | 14 | 1000 req/hr | Sign up |
apifootball_ | API-Football | Soccer (960+ leagues) | 15 | 100 req/day | Sign up |
apisports_ | API-Sports | 9 sports | 10 | 100 req/day/sport | Sign up |
apitennis_ | API-Tennis | Tennis (ATP/WTA/ITF) | 12 | 100 req/day | Sign up |
bdl_ | BallDontLie | NBA/NFL/MLB/NHL | 10 | Basic tier | Sign up |
cricket_ | CricketData | Cricket | 10 | 100 req/day | Sign up |
entitycricket_ | Entity Sport | Cricket (250+ comps) | 12 | Free plan | Sign up |
footballdata_ | football-data.org | Soccer (12 leagues) | 11 | 10 req/min | Sign up |
sportmonks_ | Sportmonks | Soccer | 12 | 3000 req/hr | Sign up |
sportsdata_ | SportsDataIO | 9 sports | 12 | 1000 req/mo | Sign up |
odds_ | The Odds API | 70+ sports odds | 9 | 500 req/mo | Sign up |
oddsio_ | Odds-API.io | 34 sports odds | 10 | Free account | Sign up |
sgo_ | Sports Game Odds | 55+ leagues odds | 10 | Trial | Sign up |
mma_ | Fighting Tomatoes | MMA | 8 | 200 req/mo | Sign up |
livegolf_ | Live Golf API | Golf (PGA/DP World) | 8 | Free tier | Sign up |
isports_ | iSportsAPI | Football/Basketball (Asia) | 10 | Free tier | Sign up |
sportdevs_ | SportDevs | Rugby/Volleyball/Handball | 12 | Trial | Sign up |
msf_ | MySportsFeeds | NFL/NBA/MLB/NHL | 12 | Free non-commercial | Sign up |
sportsrc_ | SportSRC | Football/NBA/UFC + xG | 10 | 1000 req/day | Sign up |
cfbd_ | College Football Data | NCAA football | 14 | 1000 req/mo | Sign up |
Providers with missing keys don't block the server — they just return an error when called. Register keys incrementally as you need them.
npx mcp-sports-hub
npm install -g mcp-sports-hub
mcp-sports-hub
git clone https://github.com/lacausecrypto/mcp-sports-hub.git
cd mcp-sports-hub
npm install
npm run build
This server is published on the official MCP Registry as io.github.lacausecrypto/sports-hub. MCP clients that support the registry can discover and install it automatically.
npx mcp-sports-hub
# Via flag
npx mcp-sports-hub --http
# Via env
SPORTS_HUB_HTTP=1 SPORTS_HUB_PORT=3000 npx mcp-sports-hub
Endpoints:
POST /mcp — MCP protocol (Streamable HTTP with SSE)GET /health — Health check ({"status":"ok","providers":9})Supports CORS, session management via mcp-session-id header. Default port: 3000.
Only set keys for providers you want:
# Free — no key needed:
# ESPN, NHL, MLB, Jolpica F1, OpenF1, OpenLigaDB, GolfCourseAPI
# Optional (defaults to test key)
export THESPORTSDB_API_KEY="your-key" # https://www.thesportsdb.com/
# Requires free registration
export PANDASCORE_TOKEN="your-token" # https://pandascore.co/
export API_SPORTS_KEY="your-key" # https://api-sports.io/
export API_FOOTBALL_KEY="your-key" # https://www.api-football.com/
export API_TENNIS_KEY="your-key" # https://api-tennis.com/
export BALLDONTLIE_API_KEY="your-key" # https://www.balldontlie.io/
export CRICKETDATA_API_KEY="your-key" # https://cricketdata.org/
export ENTITY_SPORT_KEY="your-key" # https://www.entitysport.com/
export FOOTBALL_DATA_API_KEY="your-key" # https://www.football-data.org/
export SPORTMONKS_API_KEY="your-key" # https://www.sportmonks.com/
export SPORTSDATA_IO_KEY="your-key" # https://sportsdata.io/
export THE_ODDS_API_KEY="your-key" # https://the-odds-api.com/
export ODDS_API_IO_KEY="your-key" # https://odds-api.io/
export SPORTS_GAME_ODDS_KEY="your-key" # https://sportsgameodds.com/
export FIGHTING_TOMATOES_API_KEY="your-key" # https://fightingtomatoes.com/
export LIVE_GOLF_API_KEY="your-key" # https://livegolfapi.com/
export ISPORTSAPI_KEY="your-key" # https://www.isportsapi.com/
export SPORTDEVS_API_KEY="your-key" # https://sportdevs.com/
export SPORTSRC_API_KEY="your-key" # https://sportsrc.org/
export MYSPORTSFEEDS_USER="your-user" # https://www.mysportsfeeds.com/
export MYSPORTSFEEDS_PASS="your-pass"
export CFBD_API_KEY="your-key" # https://collegefootballdata.com/key
Windows (PowerShell):
$env:API_SPORTS_KEY = "your-key"
$env:PANDASCORE_TOKEN = "your-token"
Windows (cmd):
set API_SPORTS_KEY=your-key
set PANDASCORE_TOKEN=your-token
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/claude/claude_desktop_config.json{
"mcpServers": {
"sports-hub": {
"command": "node",
"args": ["/absolute/path/to/mcp-sports-hub/dist/index.js"],
"env": {
"PANDASCORE_TOKEN": "your-token",
"API_SPORTS_KEY": "your-key",
"THE_ODDS_API_KEY": "your-key"
}
}
}
}
Windows path: "args": ["C:/Users/you/mcp-sports-hub/dist/index.js"]
Only include env vars for providers you need. Omit env entirely for free-only providers.
claude mcp add sports-hub node /absolute/path/to/mcp-sports-hub/dist/index.js
Or in .claude/settings.json:
{
"mcpServers": {
"sports-hub": {
"command": "node",
"args": ["/absolute/path/to/mcp-sports-hub/dist/index.js"],
"env": {
"PANDASCORE_TOKEN": "your-token"
}
}
}
}
By default, only the free preset is loaded (9 providers, ~98 tools — no API keys needed). Use SPORTS_HUB_PROVIDERS to change what's loaded:
# Default — free providers only (no config needed)
npx mcp-sports-hub
# Load ALL 29 providers (319 tools)
SPORTS_HUB_PROVIDERS=all npx mcp-sports-hub
# Use a preset
SPORTS_HUB_PROVIDERS=us-major npx mcp-sports-hub
# Pick specific providers
SPORTS_HUB_PROVIDERS=espn,nhl,odds npx mcp-sports-hub
# Exclude from all (prefix with -)
SPORTS_HUB_PROVIDERS=-sportsdata,-mma npx mcp-sports-hub
| Preset | Providers | Tools | Needs keys? |
|---|---|---|---|
free (default) | espn, nhl, mlb, f1, openf1, openliga, golfcourse, sportsdb, ncaa | ~98 | No |
all | all 29 providers | 319 | Yes (for key-required providers) |
us-major | espn, nhl, mlb, ncaa, cfbd, bdl, msf | ~79 | Some |
soccer | espn, apifootball, footballdata, sportmonks, openliga, sportsrc | ~69 | Some |
f1 | f1, openf1 | 25 | No |
esports | pandascore | 14 | Yes |
odds | odds, oddsio, sgo | 29 | Yes |
cricket | cricket, entitycricket | 22 | Yes |
golf | livegolf, golfcourse | 14 | Some |
All GET responses are cached in memory for 60 seconds by default. This protects against duplicate calls and rate limit waste. Configure with:
SPORTS_HUB_CACHE_TTL=120 # seconds (0 to disable)
In Claude Desktop config:
"env": {
"SPORTS_HUB_PROVIDERS": "us-major",
"THE_ODDS_API_KEY": "your-key"
}
All tools follow {provider}_{action}:
espn_get_scoreboard — Live scores (ESPN)
nhl_get_standings — NHL standings
mlb_get_game_boxscore — MLB box score
f1_get_race_results — F1 results (1950+)
openf1_get_laps — F1 live telemetry
pandascore_get_lives — Live esports matches
apifootball_get_fixtures — Soccer fixtures (960+ leagues)
odds_get_odds — Betting odds (70+ sports)
sportsrc_get_xg_stats — Expected goals (xG)
src/
├── index.ts # Imports + registers all 29 providers
├── shared/
│ └── http.ts # fetchJson, buildUrl, toolResult, errorResult
└── providers/
├── espn.ts # 10 tools — no key
├── nhl.ts # 13 tools — no key
├── mlb-stats.ts # 13 tools — no key
├── jolpica-f1.ts # 13 tools — no key
├── openf1.ts # 12 tools — no key
├── openligadb.ts # 10 tools — no key
├── golfcourse.ts # 6 tools — no key
├── thesportsdb.ts # 13 tools — optional key
├── pandascore.ts # 14 tools — PANDASCORE_TOKEN
├── api-football.ts # 15 tools — API_FOOTBALL_KEY
├── api-sports.ts # 10 tools — API_SPORTS_KEY
├── api-tennis.ts # 12 tools — API_TENNIS_KEY
├── balldontlie.ts # 10 tools — BALLDONTLIE_API_KEY
├── cricketdata.ts # 10 tools — CRICKETDATA_API_KEY
├── entity-sport-cricket.ts # 12 tools — ENTITY_SPORT_KEY
├── football-data.ts # 11 tools — FOOTBALL_DATA_API_KEY
├── sportmonks.ts # 12 tools — SPORTMONKS_API_KEY
├── sportsdata-io.ts # 12 tools — SPORTSDATA_IO_KEY
├── the-odds-api.ts # 9 tools — THE_ODDS_API_KEY
├── odds-api-io.ts # 10 tools — ODDS_API_IO_KEY
├── sports-game-odds.ts # 10 tools — SPORTS_GAME_ODDS_KEY
├── fighting-tomatoes.ts # 8 tools — FIGHTING_TOMATOES_API_KEY
├── live-golf.ts # 8 tools — LIVE_GOLF_API_KEY
├── isportsapi.ts # 10 tools — ISPORTSAPI_KEY
├── sportdevs.ts # 12 tools — SPORTDEVS_API_KEY
├── mysportsfeeds.ts # 12 tools — MYSPORTSFEEDS_USER/PASS
├── sportsrc.ts # 10 tools — SPORTSRC_API_KEY
├── ncaa.ts # 8 tools — no key
└── cfbd.ts # 14 tools — CFBD_API_KEY
Each provider exports register(server). Keys are checked at call time, not startup.
src/providers/my-api.ts exporting register(server: McpServer)myapi_get_somethingsrc/index.tsnpm run build to verifyMIT
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI