SportWizzard MCP Server
MCP serverDev toolsSportwizzard 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
Needs your own account with this service. Keys stay in your vault.
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.
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/mcpAdd 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=eyJ1cmwiOiJodHRwczovL21jcC5zcG9ydHdpenphcmQuY29tL21jcCJ9Open the link and Cursor adds the server at that address.
ChatGPT
https://mcp.sportwizzard.com/mcpIn 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 var | Default | Purpose |
|---|---|---|
SPORTWIZZARD_API_KEY | (none) | Your API key, sent as X-Api-Key. |
SPORTWIZZARD_BASE_URL | https://api.sportwizzard.com | Override the API base URL. |
SPORTWIZZARD_MOCK | (off) | 1 = canned sample data, no network. |
Tools
| Tool | What it does |
|---|---|
list_events / get_event | Events/fixtures — filter by league, team, status, time; full detail incl. weather, lineups, probable pitchers. |
get_event_stats | Box score: every player's stat line + team results for one event. |
get_odds / get_event_odds / get_player_odds / get_team_odds | Current 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_arbitrage | Arbitrage opportunities with legs and stake fractions (two/three-way). |
list_players / list_teams / get_player_stats / get_team_stats | Reference data and season/historical stats. |
get_player_game_logs | Bulk per-game stat rows — the model-training feed. |
download_snapshot | Save 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 / status | Coverage: books, leagues, market types, live counts. |
get_account_usage | Your 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:SEASONorTOURNAMENT. Omitted entirely on ordinary game rows.period— the window within that anchor:REG_SEASON(settles at the end of the regular season) orFULL(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 NFLDIVISION_WINNERselections share one season-anchoreventId, so withoutsegmentthey 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)
| Tool | What it does |
|---|---|
| list_events | List sporting events / fixtures (the spine of the API). Each event carries home/away team, start time, status and whether live odds exist (hasOdds). |
| get_event | Full 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_stats | The 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_odds | Get 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_odds | Core 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_odds | All 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_odds | All current book prices for a single team across its events and markets. Use a team id from list_teams. Paginate with cursor. |
| get_edges | SportWizzard'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_arbitrage | Arbitrage scanner: cross-book opportunities with a guaranteed profit, including each leg (source, selection, odds) and the optimal stake fractions. |
| list_players | List 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_teams | List 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_stats | Historical / season statistics for a single player. Use a player id from list_players; optionally scope to one season. |
| get_team_stats | Per-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_logs | Bulk 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_snapshot | Download 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_usage | Your 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_sportsbooks | List the sportsbooks and DFS platforms SportWizzard tracks, with a live market count each. Reference/discovery — call this to learn valid `sportsbook` filter values. |
| list_leagues | List the leagues currently covered (with live markets). Reference/discovery — call this to learn valid `league` filter values. |
| list_markets | List the market types SportWizzard supports, each with a live market count. Reference/discovery — call this to learn valid `market` filter values. |
| status | Platform 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
github.com/adamruehle/sportwizzard-mcp
More in Dev tools
MCP server · adarsh4052
More in Dev toolsdraw.io
MCP server · jgraph
More in Dev toolsairtreks-mcp
MCP server · airtreks
More in Dev tools0nMCP
MCP server · 0nork
More in Dev toolsgithub-mcp-server
MCP server · github
More in Dev toolsmedical-terminologies-mcp
MCP server · sidneybissoli
More in Dev tools