mcp server
stat-api — Sports Data
NFL/NBA/MLB/NHL/PGA + DFS and prediction-market data. Browse free; query with a free API key.
Description as published by the maintainer. Source
- version 1.0.1
- active
active — Most recent push to the repository was 2026-07-07.
What this server can do
10 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
api_usage- Your key's quota position: plan, monthly record limit, records used, remaining, and when the quota resets. Requires an API key; costs 1 record.
describe_table(table, league)- 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. Required: league, table.
game_markets(league, source, game_id)- Prediction-market contracts attached to one sporting event: Kalshi events+markets and/or Polymarket events+markets linked via (league_code, competition_id). game_id is the game's id from the league's games table (golf: the tournament id). Returns `{"kalshi": {events, markets}, "polymarket": {events, markets}}` (only the requested sources). Requires an API key; all returned rows count against quota. Required: league, game_id.
games_on_date(date, league)- 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 an API key; rows count against quota. Required: league.
get_record(id, table, league)- Fetch a single row by primary key. Returns the row object. Requires an API key; costs 1 record of quota. Required: league, table, id.
graphql_query(query, variables)- 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 an API key; every row resolved anywhere in the tree counts against quota. Required: query.
list_leagues- List every league/data group this API serves (nfl, nba, mlb, nhl, pga, dfs, kalshi, polymarket, reference) with table counts and availability. No credentials needed. Start here, then call list_tables.
list_tables(league)- List every queryable table in one league with a one-line summary each. No credentials needed. Follow with describe_table before querying. Required: league.
query_table(limit, table, league, filters, from_id)- Query any table. Returns `{"<table>": [rows], "limit": N, "next_from_id": M|null}`; page by re-calling with from_id set to the previous next_from_id until it is 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 an API key (Authorization: Bearer <key>; free tier at https://stat-api.com). Every returned row counts against the monthly record quota. Required: league, table.
search_players(name, limit, league)- 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 an API key; rows count against quota. Required: name.
Last successful function declaration observed on . Source: https://api.stat-api.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://api.stat-api.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| GitHub stars | 0 | Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. | cumulative, all time | GitHub | |
| Last commit | 2026-07-07 | Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. | point in time | GitHub | |
| Open issues | 0 | Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. | as of fetch | GitHub | |
| Latest published version | 1.0.1 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-07-07 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-07-07 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| repository status | active | The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. | as of fetch | GitHub | |
| mcp tools declared | 10 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | api.stat-api.com | |
| mcp endpoint status | ok | The server listed 10 functions when asked. | as of probe | api.stat-api.com |
Where to get it
Related, by what their authors tagged them
-
io.github.ebrunet001/mcp-server-espn
— last commit 2026-07-05, shares nba, nfl
Real-time ESPN sports data: live scores, standings, boxscores, odds & stats for 25+ leagues
-
io.github.edushinka/betbetter-mcp
— last commit 2026-07-26, shares nba, nfl
Free sports model win probabilities and fair odds for nine sports. No API key required.
-
io.github.Backspace-me/sportscore-mcp
— last commit 2026-04-23, shares sports-api
Live scores, standings, top scorers, brackets for football, basketball, cricket, tennis. Free API.
-
io.github.DanielTomaro13/sportsdata-mcp
— last commit 2026-08-05, shares prediction-markets, sports-data
Live sports data & cross-book betting odds — ~500 tools, 28 providers, free, zero-config.
-
World Cup 2026 Tour
— last commit 2026-06-15, shares sports-data
Free MCP server for World Cup 2026 fixtures, local kickoff times, and Dataset JSON-LD.
-
com.predictionmarketspicks/quant
— last commit 2026-07-27, shares nfl, prediction-markets
Quant tools + an NFL fantasy draft assistant for AI agents — Kalshi & Polymarket EV, edge, ADP.
-
ClearMarket
— last commit 2026-08-06, shares prediction-markets
Reference data for prediction markets: graded resolution clarity, cross-venue links, provenance.
-
Simmer
— last commit 2026-08-05, shares prediction-markets
Trade prediction markets with AI agents — skill discovery, autoresearch, and execution.
-
Polymarket MCP
— last commit 2026-08-05, shares prediction-markets
Polymarket market data, live CLOB books, replay, simulation, and opt-in trading in Rust.
-
io.github.bolivian-peru/baozi-mcp
— last commit 2026-04-17, shares prediction-markets
68 tools for AI agents to interact with Solana prediction markets on Baozi.bet
These share tags the maintainers applied themselves, such as nba, nfl, sports-api, prediction-markets. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.
This is not a recommendation and not a test result. It is a map of what the authors said their work is about.
How the author describes it
Topics the maintainer set on GitHub: mcp, mcp-server, nba, nfl, prediction-markets, sports-api, sports-data.
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json