list_leagues
List leagues
List every league/data group this API serves (nfl, nba, mlb, nhl, pga, dfs, reference) with table counts and availability. No credentials needed. Start here, then call list_tables.
Takes no parameters.

com.stat-apiPublished by stat-api.comOfficial publisherv1.0.1Updated Oct 24, 2026
NFL/NBA/MLB/NHL/PGA + DFS and prediction-market data. Browse free; query with a free API key.
Remote MCP server for stat-api sports data: browse NFL, NBA, MLB, NHL, PGA, DFS and prediction-market tables and query them with a free API key.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.stat-api%2Fsports-data/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"stat-api-sports-data": {
"type": "http",
"url": "https://api.stat-api.com/mcp"
}
}
}Remote MCP server (streamable HTTP) for stat-api.com: NFL, NBA, MLB, NHL, and PGA data — players, games, box scores, play-by-play — plus DFS salaries/slates and prediction-market prices from Kalshi and Polymarket.
Endpoint: https://api.stat-api.com/mcp
Listed in the official MCP Registry as com.stat-api/sports-data.
Works anonymously out of the box; add a free API key to unlock the data tools.
Omit the headers block to connect without credentials — the catalog tools still work, and the server tells you where to get a key when you call a data tool.
No credentials needed (browse the catalog):
Free API key required (get one at stat-api.com):
~200 tables total. list_leagues → list_tables → describe_table walks the whole catalog.
POST https://api.stat-api.com/api/v1/graphql · SDL · IDE@sports-db/client (npm) · sports-db (PyPI)Source: README.md at commit 494d3c6
List leagues
List every league/data group this API serves (nfl, nba, mlb, nhl, pga, dfs, reference) with table counts and availability. No credentials needed. Start here, then call list_tables.
Takes no parameters.
List tables
List every queryable table in one league with a one-line summary each. No credentials needed. Follow with describe_table before querying.
leaguerequiredDescribe table
Full contract for one table: fields with types and descriptions, the filters query_table accepts (with operators like __gte/__lte/__between/__like and required filter combinations), page-size limits, primary key, and a runnable example URL. No credentials needed. Always call this before query_table — filters not listed here are rejected.
tablerequiredleaguerequiredQuery table
Query any table. Returns `{"<table>": [rows], "limit": N, "next_from_id": M|null, "has_more": bool}`. To read every row, start with from_id=0 and re-call with from_id set to the previous next_from_id until it is null. A call without from_id returns the first page in the table's default sort with next_from_id null. filters is a flat object of `field` or `field__op` keys from describe_table (e.g. {"season_id": 2024, "day__between": "20250101,20250131"}). Requires a stat-api account: sign in when the app asks (free account at https://stat-api.com), or send an API key as Authorization: Bearer <key>. Every returned row counts against the monthly record quota.
limittablerequiredleaguerequiredfiltersfrom_idGet record
Fetch a single row by primary key. Returns the row object. Requires a stat-api sign-in or API key; costs 1 record of quota.
idrequiredtablerequiredleaguerequiredSearch NBA players
Fuzzy player-name search (typo-tolerant). Currently NBA only — for other leagues query the players table with a name filter via query_table. Returns player rows ordered by match quality. Requires a stat-api sign-in or API key; rows count against quota.
namerequiredlimitleagueGames on date
Games scheduled/played on one calendar date (US-Eastern) for nba, mlb, or nhl; defaults to today. Returns the same envelope as query_table on the games table. NFL is week-based, not date-based — for nfl, use query_table on nfl/games with season_id + week filters instead. Requires a stat-api sign-in or API key; rows count against quota.
dateleaguerequiredGraphQL query
Run a GraphQL query against the same data with relations — nest from a game to its teams/players/odds in one call. Root fields are leagues (nfl, nba, …), each exposing its tables with the same filter arguments as REST plus `first`/`after` pagination. Do NOT send introspection queries (the schema is huge) — use describe_table instead; the SDL is at https://api.stat-api.com/api/v1/graphql/sdl. Requires a stat-api sign-in or API key; every row resolved anywhere in the tree counts against quota.
queryrequiredvariablesAPI usage
Your account's quota position: plan, monthly record limit, records used, remaining, and when the quota resets. Requires a stat-api sign-in or API key; costs 1 record.
Takes no parameters.
90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare a license in the repository or the registry entry.
claude mcp add --transport http stat-api https://api.stat-api.com/mcp \ --header "Authorization: Bearer <YOUR_API_KEY>"{ "mcpServers": { "stat-api": { "type": "streamable-http", "url": "https://api.stat-api.com/mcp", "headers": { "Authorization": "Bearer <YOUR_API_KEY>" } } }}