SportWizzard MCP Server

MCP serverDev tools

Sportwizzard gives your AI real-time sports betting data from 35+ sportsbooks and DFS apps. Once added, it can pull odds and player props across books, surface positive expected value offers, and scan for arbitrage opportunities with guaranteed profit. It also covers event schedules, box scores, and player season statistics.

Use SportWizzard MCP Server in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add SportWizzard MCP Server and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use SportWizzard MCP Server to list events

Details

Available today. Use it from your connected AI after setup. It ran on Ahel's own infrastructure and offers 20 tools.

After adding it, ask your AI to list upcoming events or scan for current arbitrage and edge opportunities. From there, drill into odds for a specific player, team, or game.

SportWizzard MCP ServerStart free

What your AI can do with it

  • Compare odds for any event, player, or team across 35+ sportsbooks and DFS apps
  • Find offers that are positive expected value versus the fair market, with the edge percentage and which books are offering them
  • Scan for cross-book arbitrage opportunities with guaranteed profit, including each leg's book, selection, and odds
  • Pull event schedules, scores, venues, and full box scores for any game
  • Look up player props and historical or season statistics for individual players
  • Browse players and teams by league as starting points for odds lookups

Install SportWizzard MCP Server

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user sportwizzard-mcp-server 'https://mcp.sportwizzard.com/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://mcp.sportwizzard.com/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=sportwizzard-mcp-server&config=eyJ1cmwiOiJodHRwczovL21jcC5zcG9ydHdpenphcmQuY29tL21jcCJ9

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://mcp.sportwizzard.com/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add sportwizzard-mcp-server --url 'https://mcp.sportwizzard.com/mcp'

    Run it once, then sign in with codex mcp login sportwizzard-mcp-server if the server asks for an account.

From the project's README

As published by adamruehle/sportwizzard-mcp in README.md.

Query live sports-betting data — odds, player props, +EV edges, arbitrage, stats and reference data from 35+ sportsbooks and DFS apps — from any MCP-capable AI agent (Claude Code, Claude Desktop, Codex, Cursor, …).

20 read-only tools over the SportWizzard REST v1 API, available two ways: a hosted remote server (zero install) and a stdio server via npx. Get a free API key at https://sportwizzard.com/account (API Keys tab — no card required).

Hosted (recommended — zero install)

claude mcp add --transport http sportwizzard https://mcp.sportwizzard.com/mcp \
  --header "Authorization: Bearer sw_live_your_api_key_here"
codex mcp add sportwizzard --transport http --url https://mcp.sportwizzard.com/mcp \
  --header "Authorization: Bearer sw_live_your_api_key_here"

The hosted server is a thin proxy: your key is forwarded to the SportWizzard API, which enforces auth and rate limits. All 20 tools work on both transports. (download_snapshot on the hosted server returns a CDN download URL + a ready-to-run command your agent executes locally; on stdio it writes the file directly.)

Stdio (local)

npx -y sportwizzard-mcp

Claude Code:

claude mcp add sportwizzard -e SPORTWIZZARD_API_KEY=sw_live_your_api_key_here -- npx -y sportwizzard-mcp

Claude Desktop (claude_desktop_config.json — macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{
  "mcpServers": {
    "sportwizzard": {
      "command": "npx",
      "args": ["-y", "sportwizzard-mcp"],
      "env": { "SPORTWIZZARD_API_KEY": "sw_live_your_api_key_here" }
    }
  }
}

Mock mode (no key, no network)

Set SPORTWIZZARD_MOCK=1 to get canned sample responses — useful for wiring up an integration before you have a key.

Configuration

Env varDefaultPurpose
SPORTWIZZARD_API_KEY(none)Your API key, sent as X-Api-Key.
SPORTWIZZARD_BASE_URLhttps://api.sportwizzard.comOverride the API base URL.
SPORTWIZZARD_MOCK(off)1 = canned sample data, no network.

Tools

ToolWhat it does
list_events / get_eventEvents/fixtures — filter by league, team, status, time; full detail incl. weather, lineups, probable pitchers.
get_event_statsBox score: every player's stat line + team results for one event.
get_odds / get_event_odds / get_player_odds / get_team_oddsCurrent prices, scoped by event, player, team, sportsbook, market, or league. get_odds also takes scope: event (game markets), season (season-long futures), tournament (golf/tennis outrights); omit for all.
get_edges+EV edges vs. devigged fair market (league, source, min_edge filters).
get_arbitrageArbitrage opportunities with legs and stake fractions (two/three-way).
list_players / list_teams / get_player_stats / get_team_statsReference data and season/historical stats.
get_player_game_logsBulk per-game stat rows — the model-training feed.
download_snapshotSave the full live board to disk (tens of MB gzip). include_history: true also populates every selection's priceHistory (same schema; 5 credits flat vs 1).
list_sportsbooks / list_leagues / list_markets / statusCoverage: books, leagues, market types, live counts.
get_account_usageYour plan tier, rate limit, and monthly usage.

Every response uses the envelope { success, data, nextCursor, meta }; when nextCursor is present the tool appends a _paging hint so agents know to continue.

Futures (season-scope markets)

get_odds with scope=season returns season-long futures — division/conference/championship winners, award odds, team win totals, season leaders and full-season player props. Three orthogonal axes describe them:

  • marketScope — which anchor the market hangs off: SEASON or TOURNAMENT. Omitted entirely on ordinary game rows.
  • period — the window within that anchor: REG_SEASON (settles at the end of the regular season) or FULL (runs through the playoffs).
  • segment — which slice of the competition: AFC_EAST, NL, SEC, … Present only when the market is segment-scoped, and load-bearing: all 32 NFL DIVISION_WINNER selections share one season-anchor eventId, so without segment they read as a single 32-team race instead of 8 divisions.

Notes: winner/award markets are categorical (one YES selection per competitor, teamSide: "NONE", usually no NO side); eventStartTime on a futures row is the season anchor / settlement date, not a kickoff; every book's futures for a competition share the same season eventId; and futures are deliberately excluded from get_edges / get_arbitrage (they never enter de-vig or edge math). Scope matching is exact — season does not include TOURNAMENT — and an invalid value returns HTTP 400 naming the valid ones.

From source

git clone https://github.com/adamruehle/sportwizzard-mcp.git
cd sportwizzard-mcp && npm install && npm run build
SPORTWIZZARD_MOCK=1 node dist/index.js   # or set SPORTWIZZARD_API_KEY

License

MIT © SportWizzard LLC

Tools it gives your AI (20)

ToolWhat it does
list_eventsList sporting events / fixtures (the spine of the API). Each event carries home/away team, start time, status and whether live odds exist (hasOdds).
get_eventFull detail for a single event: teams, start time, status, league, venue, season year, final scores (when final), and rich game context — weather, confirmed/projected lineups, probable pitchers, and...
get_event_statsThe box score for a single event: every player's stat line (e.g. batting_stats/pitching_stats JSON per player) plus the team-level result row (scores, team stats).
get_event_oddsGet every sportsbook price for a single event: one flat row per book x market x selection, with american+decimal price, line, side, player/team, and SportWizzard's devigged fair odds where available.
get_oddsCore odds query. Returns a flat array of book prices scoped by any combination of event_id, player_id, team_id, sportsbook, market and league.
get_player_oddsAll current book prices for a single player across events and markets (player props). Use a player id from list_players. Paginate with cursor.
get_team_oddsAll current book prices for a single team across its events and markets. Use a team id from list_teams. Paginate with cursor.
get_edgesSportWizzard's edge finder: DFS/book offers that are +EV versus the devigged fair market, with the edge %, the book(s) setting fair value, and per-book odds.
get_arbitrageArbitrage scanner: cross-book opportunities with a guaranteed profit, including each leg (source, selection, odds) and the optimal stake fractions.
list_playersList players (reference resource). Filter by league and/or team. Returns player UUIDs to use with get_player_odds and get_player_stats. Paginate with cursor.
list_teamsList teams (reference resource). Filter by league. Returns team UUIDs to use with list_events(team_id), get_team_odds and get_team_stats. Paginate with cursor.
get_player_statsHistorical / season statistics for a single player. Use a player id from list_players; optionally scope to one season.
get_team_statsPer-game team stats and results for a single team (scores, result, team stat JSON per event). Use a team id from list_teams; optionally scope to one season.
get_player_game_logsBulk per-game player stat rows (game logs) filtered by player, team, or event — the model-training data feed. At least one of player_id / team_id / event_id is required.
download_snapshotDownload the FULL live board — every market from every sportsbook (tens of MB gzip, 80k+ markets) — and save it to a file on disk instead of returning it (it would not fit in a context window).
get_account_usageYour API plan and usage: plan tier, per-minute rate limit, monthly usage/cap where metered. Works without a key (shows the effective anonymous plan).
list_sportsbooksList the sportsbooks and DFS platforms SportWizzard tracks, with a live market count each. Reference/discovery — call this to learn valid `sportsbook` filter values.
list_leaguesList the leagues currently covered (with live markets). Reference/discovery — call this to learn valid `league` filter values.
list_marketsList the market types SportWizzard supports, each with a live market count. Reference/discovery — call this to learn valid `market` filter values.
statusPlatform status: total live markets and number of sportsbooks currently ingesting. A cheap health/coverage check.

Signals

Last commit
Aug 2026
Weekly downloads
57
Tools captured
20
Advanced
Delivery
sportwizzard MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
com-sportwizzard-sportwizzard
Source
github.com/adamruehle/sportwizzard-mcp
Hosted endpoint
https://mcp.sportwizzard.com/mcp