Sportsdata Mcp
About
Open-sourced sportsdata-mcp (MIT): ~500 tools / 28 providers — live cross-book betting odds (AU books + Pinnacle + Betfair), official league stats (AFL/NRL/NBA/MLB/EPL/…), racing, Kalshi/Polymarket. Zero-config: uvx sportsdata-mcp serve, or the setup command writes your Claude De
Details
- Author
- DanielTomaro13
- Downloads
- 308
- Categories
- Other
Jump to
- ~500 tools across 28 sports and betting data providers
- Capability-tag system for interchangeable tool discovery
- Zero-config install with optional group selection
- OTA signed spec updates with Ed25519 verification
- Meta-tools always available for group and capability listing
- Optional response-size cap to guard context window
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Sportsdata McpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install via uvx sportsdata-mcp serve or pip install sportsdata-mcp. A prebuilt app for macOS and Windows is also available. After installation, run sportsdata-mcp setup to configure the client, then enable desired tool groups using a YAML config file or the SPORTSDATA_MCP_GROUPS environment variable. Start the server with sportsdata-mcp serve.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"sportsdata mcp": {
"sportsdata": {
"command": "uvx",
"args": [
"sportsdata-mcp",
"serve"
]
}
}
}
}
McpServers
{
"sportsdata": {
"command": "uvx",
"args": [
"sportsdata-mcp",
"serve"
]
}
}
sportsdata-mcp
Free & open source (MIT). Live sports data and cross-book betting odds as
MCP tools — ~500 tools across 28 providers, in Claude Desktop, Cursor, or any
MCP client. Zero config: install, run setup, and the full catalogue serves.
An MCP server that exposes sports-data APIs
(bookmakers, league/governing-body feeds, aggregators) as tools, configurable so
you only load the tool groups you need. A capability-tag system makes tools from
different providers interchangeable wherever they answer the same question — so
the model can compare odds across bookies or stats across data sources with one
discovery call.
The catalogue spans bookmakers, league/governing-body feeds, and stats
aggregators, and it keeps growing. New providers are added by dropping a YAML
spec into src/sportsdata_mcp/specs/ — the engine needs no code changes — so
the exact provider and tool counts move over time. Run sportsdata-mcp for the live inventory, and three meta-tools (group discovery,
list-groups
capability lookup, resource listing) are always on regardless of what you
enable.
Install
One-liner (any MCP client config, via uv):
uvx sportsdata-mcp serve # or: pip install sportsdata-mcp
Prebuilt app (no Python needed): grab the latest
release
(macOS + Windows), unzip, and run sportsdata-mcp setup — it writes the config
for Claude Desktop / Cursor for you. The macOS build is unsigned for now:
right-click → Open the first time.
From source:
git clone https://github.com/DanielTomaro13/sportsdata-mcp.git
cd sportsdata-mcp
pip install -e . # add ".[dev]" for the test + lint toolchain
Quickstart
sportsdata-mcp version # print version info
sportsdata-mcp list-groups # see every available tool group
sportsdata-mcp lint # validate the packaged specs
sportsdata-mcp doctor # probe enabled groups for reachability + auth
sportsdata-mcp serve # start the MCP stdio server (default command)
sportsdata-mcp update-specs # OTA-refresh provider specs (signed bundle); --clear reverts
Provider endpoints drift (e.g. Entain rotates its GraphQL persisted-query hashes).
update-specs fetches a signed spec bundle and applies it into an overlay under
~/.sportsdata/spec-overlay, which the loader prefers over the packaged copy — so a drift
fix doesn't need a whole new app build. The bundle is Ed25519-verified against a baked key
(a product build refuses an unsigned/forged bundle; anti-rollback refuses a stale replay).
Publish one with scripts/publish-spec-bundle.py; point --url / $SPORTSDATA_SPEC_FEED_URL
at the asset. Restart the server after applying.
Enable tool groups with a config file or the SPORTSDATA_MCP_GROUPS env var:
SPORTSDATA_MCP_GROUPS="afl.public.core,sportsbet.racing,entain.graphql" sportsdata-mcp serve
See examples/ for Claude Desktop / Claude Code config snippets,
a worked cross-bookie odds-comparison prompt,
and an NBA shot-chart + box-score walkthrough that
shows the nba_stats_call dispatcher pattern end to end.
Configuration
Config is resolved in this order (first hit wins):
1. --config <path> flag
2. $SPORTSDATA_MCP_CONFIG
3. ./sportsdata-mcp.yaml
4. ~/.config/sportsdata-mcp/config.yaml
5. built-in defaults
```yaml
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



