AltSportsData MCP Server
MCP-compatible server that gives AI agents access to alternative sports data across 30+ leagues — odds, events, probabilities, settlement, and futures for prediction markets, DFS platforms, and sportsbooks.
README
AltSportsData MCP Server
MCP-compatible server that gives AI agents access to alternative sports data across 30+ leagues — odds, events, probabilities, settlement, and futures for prediction markets, DFS platforms, and sportsbooks.
Quick Start
# Install
cd apps/altsportsdata-mcp
uv pip install -e ../altsportsdata-sdk
uv pip install -e .
# Run (stdio)
ALTSPORTSDATA_API_KEY=your_key altsportsdata-mcp
# Run (HTTP/SSE)
ALTSPORTSDATA_API_KEY=your_key altsportsdata-mcp --sse --port 8080
Connect to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"altsportsdata": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/altsportsdata-mcp",
"python",
"-m",
"altsportsdata_mcp.server"
],
"env": {
"ALTSPORTSDATA_API_KEY": "your_api_key"
}
}
}
}
Restart Claude Desktop. The 29 tools will appear in the tool picker (🔧 icon).
Connect to Claude Code (CLI)
Claude Code discovers MCP servers from .mcp.json in your project root:
{
"mcpServers": {
"altsportsdata": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/altsportsdata-mcp",
"python",
"-m",
"altsportsdata_mcp.server"
],
"env": {
"ALTSPORTSDATA_API_KEY": "your_api_key"
}
}
}
}
Or register globally:
claude mcp add altsportsdata \
--command "uv" \
--args "run" "--directory" "/path/to/altsportsdata-mcp" "python" "-m" "altsportsdata_mcp.server" \
--env ALTSPORTSDATA_API_KEY=your_api_key
Verify with:
claude mcp list
Connect to Cursor
Cursor supports MCP servers via its settings. Two options:
Option A: Project-level (.cursor/mcp.json)
Create .cursor/mcp.json in your project root:
{
"mcpServers": {
"altsportsdata": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/altsportsdata-mcp",
"python",
"-m",
"altsportsdata_mcp.server"
],
"env": {
"ALTSPORTSDATA_API_KEY": "your_api_key"
}
}
}
}
Option B: Global (Cursor Settings)
- Open Cursor → Settings → MCP
- Click Add new MCP server
- Enter:
- Name:
altsportsdata - Command:
uv run --directory /path/to/altsportsdata-mcp python -m altsportsdata_mcp.server
- Name:
- Add environment variable
ALTSPORTSDATA_API_KEY
Option C: SSE/HTTP (Remote)
Run the server with HTTP transport:
ALTSPORTSDATA_API_KEY=your_key altsportsdata-mcp --sse --port 8080
Then in .cursor/mcp.json:
{
"mcpServers": {
"altsportsdata": {
"url": "http://localhost:8080/mcp"
}
}
}
This also works for any MCP client that supports HTTP/SSE transport (Windsurf, Continue, etc.).
Connect to OpenClaw
Add to your OpenClaw config (openclaw config edit):
mcp:
servers:
altsportsdata:
command: uv
args:
- run
- --directory
- /path/to/altsportsdata-mcp
- python
- -m
- altsportsdata_mcp.server
env:
ALTSPORTSDATA_API_KEY: your_api_key
Installation via npm/PyPI (coming soon)
# When published to PyPI
pip install altsportsdata-mcp
# When published to npm (npx wrapper)
npx altsportsdata-mcp
Environment Variables
| Variable | Required | Description |
|---|---|---|
ALTSPORTSDATA_API_KEY |
Yes | Your AltSportsData API key |
ALTSPORTSDATA_BASE_URL |
No | Override API base URL |
ODDS_FORMAT |
No | Default odds format: american (default), decimal, probability |
Tools (29)
Discovery
| Tool | Description |
|---|---|
list_leagues |
List all 27+ alternative sports leagues with archetypes and markets |
get_league_info |
Detailed league info — archetype, data shape, contract hints, market menu |
get_market_catalog |
Browse market types by league or archetype |
Events
| Tool | Description |
|---|---|
get_events |
List events with filters (league, status, date range, sort) |
get_event |
Single event details |
get_event_summary |
Comprehensive event summary with participants and market overview |
get_participants |
Competitors/athletes for an event |
Odds & Markets
| Tool | Description |
|---|---|
get_odds |
Get odds for any market type (17 types supported) |
get_all_markets |
All available markets for an event in one call |
get_moneylines |
Winner/moneyline odds |
get_matchups |
Head-to-head matchup odds |
get_totals |
Over/under totals |
get_player_props |
Player prop bets |
get_exactas |
Exacta combinations (2, 3, or 4 way) |
get_podiums |
Podium finish odds |
get_heat_winners |
Heat/round winner odds |
get_fastest_lap |
Fastest lap odds (racing) |
Analytics & Probabilities
| Tool | Description |
|---|---|
get_market_probabilities |
Implied win probabilities (vig-removed) |
get_fair_probabilities |
Fair probabilities for any market type |
get_favorites |
Top N favorites by odds |
calculate_sgp |
Same Game Parlay probability calculator |
convert_odds |
Convert between American, decimal, and probability formats |
Settlement & Results
| Tool | Description |
|---|---|
get_settlement |
Settlement/grading data for completed events |
get_settled_results |
Final results and standings |
Futures
| Tool | Description |
|---|---|
list_futures |
Available futures markets |
get_futures_odds |
Season futures odds (winner, top 2/3/5/10) |
Specialty
| Tool | Description |
|---|---|
get_jaialai_matches |
Jai Alai match and set details |
get_jaialai_odds |
Jai Alai odds |
get_heat_scores |
Scores/lap times for a specific heat or round |
MCP Resources
Static resources for context injection:
| URI | Description |
|---|---|
altsportsdata://leagues |
All leagues with metadata |
altsportsdata://leagues/{code} |
Single league details |
altsportsdata://catalog |
Full market catalog |
Supported Leagues
27+ alternative sports including:
| Category | Leagues |
|---|---|
| Surf/Skate | WSL (Surfing), SLS (Skateboarding) |
| Racing | F1, MotoGP, Supercross, Nitrocross, NHRA, Formula Drift, MotoAmerica, USAC, High Limit Racing, World Outlaws, Super Motocross |
| Combat | BKFC, Power Slap, BYB Extreme, LUX Fight League, Real American Freestyle |
| Team | MASL (Arena Soccer), NLL (Lacrosse), Athletes Unlimited, Goal Soccer |
| Precision | Disc Golf (DGPT), World Jai Alai |
| Multi | X Games, Major League Table Tennis |
API Reference
This MCP server wraps the AltSportsData Public API.
- Swagger/OpenAPI: https://api.altsportsdata.com/public/docs/swagger
- Documentation: https://api.altsportsdata.com/public/docs/
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.