Skip to main content
Glama
AltSportsData MCP Server

AltSportsData MCP Server

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

Related MCP server: iddaa-mcp

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)

  1. Open Cursor → Settings → MCP

  2. Click Add new MCP server

  3. Enter:

    • Name: altsportsdata

    • Command: uv run --directory /path/to/altsportsdata-mcp python -m altsportsdata_mcp.server

  4. 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.

License

MIT

Available Tools

29 tools
calculate_sgpA

Calculate Same Game Parlay (SGP) probabilities for an event.

Combines multiple selections from the same event into a parlay. Use get_odds or get_all_markets first to get selection mapping IDs.

Inputs: league (required), event_id (required), selections (required), fixture_id. Returns: result

convert_oddsB

Convert odds between formats.

Inputs: value (required), from_format, to_format. Returns: result

get_all_marketsA

Get ALL available market types for an event in one call.

Returns moneylines, matchups, totals, props, exactas, etc. — whatever the league supports.

Inputs: league (required), event_id (required), odds_format. Returns: result

get_eventB

Get detailed info for a single event.

Inputs: league (required), event_id (required). Returns: result

get_eventsB

Get events, optionally filtered by league, status, and date range.

Inputs: league, status, start_date, end_date, +3 more. Returns: result

get_event_summaryB

Get a comprehensive summary of an event including participants, status, and market overview.

Inputs: league (required), event_id (required). Returns: result

get_exactasB

Get exacta combination odds for an event (racing/field sports).

Inputs: league (required), event_id (required), n. Returns: result

get_fair_probabilitiesA

Get fair (vig-removed) probabilities for any market type.

Inputs: league (required), event_id (required), market_type. Returns: result

get_fastest_lapC

Get fastest lap odds (racing sports).

Inputs: league (required), event_id (required). Returns: result

get_favoritesB

Get the top N favorites for an event by odds.

Inputs: league (required), event_id (required), n. Returns: result

get_futures_oddsA

Get futures odds for a specific tour (season winner, top finishers, etc.).

Use list_futures first to discover available tour IDs.

Inputs: league (required), tour_id (required), future_type. Returns: result

get_heat_scoresB

Get scores for a specific heat/round within an event.

Inputs: league (required), event_id (required), heat_id (required). Returns: result

get_heat_winnersA

Get heat/round winner odds (bracket/elimination sports).

Inputs: league (required), event_id (required). Returns: result

get_jaialai_matchesC

Get Jai Alai match data for an event.

Inputs: league (required), event_id (required). Returns: result

get_jaialai_oddsC

Get Jai Alai odds for an event.

Inputs: league (required), event_id (required). Returns: result

get_league_infoA

Get detailed information about a specific league.

Returns archetype, data shape, available markets, contract hints, and current league metadata.

Inputs: league (required). Returns: result

get_market_catalogB

Browse the market catalog — what bet types exist for which leagues.

Inputs: league, archetype. Returns: result

get_market_probabilitiesA

Get implied probabilities for the winner market.

Converts odds to probabilities with vig removed — useful for prediction market contract creation.

Inputs: league (required), event_id (required). Returns: result

get_matchupsB

Get head-to-head matchup odds for an event.

Inputs: league (required), event_id (required). Returns: result

get_moneylinesB

Get moneyline/winner odds for an event.

Inputs: league (required), event_id (required). Returns: result

get_oddsA

Get odds for a specific market type on an event.

API oddType values: fastestLap, eventWinner, secondPlace, holeShot, heatWinner, overUnder, multiOverUnder, headToHead, shows, podiums, propBets, dreamTeam, eventExacta, heatExacta, raceTop10, raceTop5, raceTop3.

Friendly aliases also work: moneyline, matchup, totals, props, exacta, etc.

Inputs: league (required), event_id (required), market_type, exactas_type, +2 more. Returns: result

get_participantsC

Get participants/competitors for an event.

Inputs: league (required), event_id (required). Returns: result

get_player_propsB

Get player prop bets for an event.

Inputs: league (required), event_id (required). Returns: result

get_podiumsB

Get podium finish odds for an event (racing/field sports).

Inputs: league (required), event_id (required). Returns: result

get_settled_resultsC

Get final results/standings for a completed event.

Inputs: league (required), event_id (required). Returns: result

get_settlementB

Get settlement/grading data for a completed event.

Returns structured win/loss/void outcomes for contract resolution.

Inputs: league (required), event_id (required), market_type. Returns: result

get_totalsB

Get over/under totals for an event.

Inputs: league (required), event_id (required), sub_market. Returns: result

list_futuresA

List available futures markets for a league.

Inputs: league (required). Returns: result

list_leaguesA

List all available alternative sports leagues.

Returns league codes, names, archetypes, data shapes, and available markets. Use this first to discover what leagues are available.

Inputs: status. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 29 tools

    Disambiguation4/5

    Most tools target distinct market types or operations (e.g., get_moneylines vs get_totals), but there is overlap between generic get_odds and specific market tools, and between get_fair_probabilities and get_market_probabilities. This could cause occasional misselection.

    Naming Consistency5/5

    All tools use a consistent verb_noun pattern with snake_case, primarily 'get_' for data retrieval, along with 'list_', 'calculate_', and 'convert_'. No mixing of cases or styles.

    Tool Count3/5

    29 tools is on the high side for a sports data server. While many specific market getters are justified, the count feels slightly excessive compared to typical MCP servers (3-15). The scope is broad but could be streamlined.

    Completeness4/5

    The toolset covers a wide range of market types, event info, futures, settlements, and utilities like odds conversion and SGP calculation. It is comprehensive for querying alternative sports data, but lacks any write operations (e.g., creating events) which is expected for a read-only API.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      MCP server that provides a unified prediction market API for multiple venues like Polymarket and Kalshi, allowing AI agents to discover markets, fetch order books, and execute trades through a single interface.
      32
      71 npm
      8
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      MCP server that provides structured access to real-time sportsbook data from iddaa, including live events, competitions, and league fixtures with strategy analysis. Designed for AI agents and automation workflows.
      5
      85 npm
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Live sports betting player props MCP server covering NBA, MLB, NFL, NHL, NCAA, and soccer. Unified from real sportsbooks into one REST API and a real MCP server (Streamable HTTP). Free tier, no card required.
      5
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Props-first sports odds API with a hosted MCP server. Live odds and player props (moneyline, spreads, totals) across US sportsbooks, normalized to JSON. Tools: get_odds, get_props, get_events, get_books. API-key auth, free tier.
      MIT No Attribution