MCP Server
Connect Claude, Claude Code or any MCP client to stat-api: paste one URL and sign in with your stat-api account. The client can then browse the catalog and query every sport directly — same data, plan and metering as the REST and GraphQL APIs.
Endpoint
https://api.stat-api.com/mcpStreamable HTTP transport, JSON over POST, protocol version 2025-06-18. Sign-in follows the MCP Authorization standard (OAuth 2.1 with PKCE); an API key in an Authorization: Bearer header also works.
Connect
Claude on the web, desktop and mobile.
- In Claude, open Settings → Connectors and click Add custom connector.
- Name it
stat-apiand paste this URL as the remote MCP server URL:https://api.stat-api.com/mcp - Click Add, then Connect. A stat-api.com window opens: sign in (or create a free account) and click Allow.
Team and Enterprise plans: an owner adds the connector once in Organization settings → Connectors, and each member then clicks Connect and signs in with their own stat-api account.
claude mcp add --transport http stat-api https://api.stat-api.com/mcpThen run /mcp in Claude Code, pick stat-api and choose Authenticate. Your browser opens the stat-api sign-in; click Allow.
With an API key instead of the sign-in:
claude mcp add --transport http stat-api https://api.stat-api.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"Add https://api.stat-api.com/mcp as a remote (streamable HTTP) MCP server. A client that supports MCP sign-in opens the stat-api sign-in the first time a data tool needs it. A client that takes request headers can send an API key instead (clients nest this entry under their own mcpServers key):
{
"url": "https://api.stat-api.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}Each app you allow appears under Settings → API keys in Connected apps. Disconnect ends its access at once.
Tools
Browse — no sign-in
The catalog tools are anonymous and unmetered, so a client can discover the whole API before you sign in.
| Tool | What it does |
|---|---|
| list_leagues | List every league and how many tables it exposes. |
| list_tables | List the tables in a league, each with a one-line summary. |
| describe_table | Full schema for a table: fields, filters, pagination, and an example URL. |
Query — sign-in or API key
These read data on your plan. Rows are metered against your monthly quota exactly like REST — each response reports your position in x-quota-* headers.
| Tool | What it does |
|---|---|
| query_table | Paginated, filterable query against any table. |
| get_record | Fetch a single row by its primary key. |
| search_players | Find NBA players by name. For other leagues, query their players table. |
| games_on_date | List the NBA, MLB or NHL games on a date. NFL games go by week: query the games table. |
| graphql_query | Run a GraphQL query — nested relations resolved in one call. |
| api_usage | Your current monthly quota: records used and remaining. |
Account
A free account explores preview data across every sport — enough to wire up a client and test the MCP tools. Plans are on the pricing page.