# STAT API — Sports Data MCP Server Remote [MCP](https://modelcontextprotocol.io) server (streamable HTTP) for [stat-api.com](https://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](https://registry.modelcontextprotocol.io) as `com.stat-api/sports-data`. ## Setup Works anonymously out of the box; add a free API key to unlock the data tools. ### Claude Code ```bash claude mcp add --transport http stat-api https://api.stat-api.com/mcp \ --header "Authorization: Bearer " ``` ### JSON config (Claude Desktop, Cursor, and most other clients) ```json { "mcpServers": { "stat-api": { "type": "streamable-http", "url": "https://api.stat-api.com/mcp", "headers": { "Authorization": "Bearer " } } } } ``` 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. ## Tools **No credentials needed** (browse the catalog): | Tool | What it does | |---|---| | `list_leagues` | All leagues/data groups (nfl, nba, mlb, nhl, pga, dfs, kalshi, polymarket, reference) with table counts | | `list_tables` | Every queryable table in one league, one-line summary each | | `describe_table` | Full contract for a table: fields, types, accepted filters and operators, page limits, a runnable example | **Free API key required** ([get one at stat-api.com](https://stat-api.com)): | Tool | What it does | |---|---| | `query_table` | Query any table with filters (`field__gte`, `__between`, `__like`, …) and keyset pagination | | `get_record` | Fetch a single row by primary key | | `search_players` | Typo-tolerant player-name search | | `games_on_date` | Games on one calendar date (US-Eastern) | | `game_markets` | Kalshi/Polymarket contracts linked to a specific game | | `graphql_query` | Relational queries — game → teams → players → odds in one call | | `api_usage` | Your key's plan, quota used/remaining, and reset date | ## Data coverage - **NFL / NBA / MLB / NHL / PGA** — teams, players, games, box scores, play-by-play, odds, injuries, news - **DFS** — DraftKings/FanDuel slates, salaries, contest results - **Prediction markets** — Kalshi and Polymarket events, markets, prices, and trades, linked to the underlying games ~200 tables total. `list_leagues` → `list_tables` → `describe_table` walks the whole catalog. ## Other access methods - **REST** — [OpenAPI 3.1 spec](https://api.stat-api.com/api/openapi/public.json) · [interactive docs](https://stat-api.com/docs) - **GraphQL** — `POST https://api.stat-api.com/api/v1/graphql` · [SDL](https://api.stat-api.com/api/v1/graphql/sdl) · [IDE](https://stat-api.com/docs/graphql) - **Clients** — [`@sports-db/client`](https://www.npmjs.com/package/@sports-db/client) (npm) · [`sports-db`](https://pypi.org/project/sports-db/) (PyPI) ## Links - Website: https://stat-api.com - MCP docs: https://stat-api.com/docs/mcp - Pricing (free tier available): https://stat-api.com/pricing