npm sportwizzard-mcpstreamable-httpMITupdated 19d ago
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, …).
What can you do with sportwizzard?
SportWizzard MCP Server
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
Install
Add sportwizzard to your client. Pick the one you use.
{
"servers": {
"sportwizzard-mcp": {
"type": "http",
"url": "https://mcp.sportwizzard.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add sportwizzard-mcp -- npx -y sportwizzard-mcpcodex mcp add sportwizzard-mcp -- npx -y sportwizzard-mcpamp mcp add sportwizzard-mcp -- npx -y sportwizzard-mcp{
"mcpServers": {
"sportwizzard-mcp": {
"command": "npx",
"args": [
"-y",
"sportwizzard-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"sportwizzard-mcp": {
"command": "npx",
"args": [
"-y",
"sportwizzard-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"sportwizzard-mcp": {
"command": "npx",
"args": [
"-y",
"sportwizzard-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"sportwizzard-mcp": {
"command": "npx",
"args": [
"-y",
"sportwizzard-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"sportwizzard-mcp": {
"command": "npx",
"args": [
"-y",
"sportwizzard-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"sportwizzard-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"sportwizzard-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"sportwizzard-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"sportwizzard-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y sportwizzard-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
6 tools
sportwizzard exposes 6 tools to a connected agent.
- get_event_stats
- Box score: every player's stat line + team results for one event.
- 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).
- 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).
- get_account_usage
- Your plan tier, rate limit, and monthly usage.
Score
84 / 100
Excellent
- Documentation25/25
- Maintenance25/25
- Trust13/20
- Capability6/15
- Install experience15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 11 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 6 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.1.4Latest | Jul 23, 2026 |
| 0.1.3 | Jul 20, 2026 |
| 0.1.2 | Jul 20, 2026 |
| 0.1.1 | Jul 20, 2026 |
| 0.1.0 | Jul 19, 2026 |