プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Sportwizzard

作者:adamruehleバージョン 0.1.4i★ –iパソコンでもクラウドでも
レジストリ名com.sportwizzard/sportwizzard

インストール

概要

作者による説明(英語の原文)

Real-time sports betting data: odds, player props, edges and arbitrage from 35+ books and DFS apps.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンでもクラウドでも
  • トランスポート: stdio, Streamable HTTP
  • カテゴリ: ゲーム・スポーツ・料理・学習
  • 入力が必要なもの:SPORTWIZZARD_API_KEY, Authorization

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • クラウドで動くインストール不要。インターネット経由でつながります
  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。

または、パソコンで動かす

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

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

ターミナルでこれを実行します

claude mcp add --transport http sportwizzard https://mcp.sportwizzard.com/mcp --header 'Authorization: your-value'

または、パソコンで動かす

claude mcp add sportwizzard --env SPORTWIZZARD_API_KEY=your-value -- npx -y sportwizzard-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "sportwizzard": {
      "url": "https://mcp.sportwizzard.com/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

または、パソコンで動かす

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

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

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "sportwizzard": {
      "type": "http",
      "url": "https://mcp.sportwizzard.com/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

または、パソコンで動かす

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "sportwizzard": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "sportwizzard-mcp"
      ],
      "env": {
        "SPORTWIZZARD_API_KEY": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • SPORTWIZZARD_API_KEY 秘密 env
    Free self-serve API key from https://sportwizzard.com/account (API Keys tab)
  • Authorization 秘密 必須 HTTP header
    Bearer — free self-serve keys at https://sportwizzard.com/account (API Keys tab), no card required

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名はドメイン sportwizzard.com で確認済みです(レジストリがドメインの所有を確認しています)

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    エンドポイントが応答する

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    OAuthでサインイン

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    ツールの説明に隠れた指示がない

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

ゲーム・スポーツ・料理・学習のほかのサーバーとの比較i

  • このカテゴリのほかの1283件のうち0%よりスターが多い
  • このカテゴリのほかの1283件のうち18%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1283件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Sportwizzardは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:SPORTWIZZARD_API_KEY, Authorization

パソコンで動きますか、それともクラウドですか?

どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.4)がレジストリに届いたのは4 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Goodreads MCP, Anna's Archive and OpenAlex, Neural Cosmology

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Goodreads MCP

作者:Danathar

Read-only MCP server for Goodreads (no API required): search, books, shelves, ratings

パソコンで動く今日更新
インストール

Neural Cosmology

作者:neuralcosmology.com

Answers, essays, experiments and books on consciousness and cosmology: search, read, buy.

クラウドで動く今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

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

Successful authenticated live tool calls send a best-effort account-usage receipt. The measurement request contains no tool arguments or result data. For hosted download_snapshot, a successful CDN HEAD check counts because the tool has verified that the returned download URL is reachable; a failed HEAD check does not count.

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 with their participants — filter by competition, competitor, player, status, time; full detail incl. each side's score, the latest live state, weather, lineups, probable pitchers.
get_event_statsBox score: every player's stat line + competitor results for one event.
get_odds / get_event_odds / get_player_odds / get_competitor_oddsCurrent prices, scoped by event, player, competitor, sportsbook, market, or competition. 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 (competition, source, min_edge filters).
get_arbitrageArbitrage opportunities with legs and stake fractions (two/three-way).
list_players / list_competitors / get_player_stats / get_competitor_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 selectionPrice rows (same schema; 5 credits flat vs 1).
list_sportsbooks / list_competitions / list_markets / statusDiscover source IDs, covered competitions and supported market types; check customer API availability.
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.

Participants and sides

Events, edges and arbitrage rows list who takes part as participants, ordered by side:

Eventparticipants
NBA: Hawks at Wizards{side: 1, sideLabel: "home", position: 1, name: "Washington Wizards"}, {side: 2, sideLabel: "away", position: 1, name: "Atlanta Hawks"}
Tennis singles{side: 1, position: 1, name: "Brandon Nakashima"}, {side: 2, position: 1, name: "Matteo Berrettini"} (no label: order is arbitrary, as in MMA and esports)
Tennis doublestwo players per side, position 1 and 2
Golfthe whole field, {name} only, no sides

get_event adds each side's final score and, when a source reported one, the latest live state ({status, period, clock, side1Score, side2Score, source, observedAt}).

Each odds row is one outcome of a selection:

  • side: 1 or 2, the event side the outcome is about; absent for totals, draws, "neither" and futures.
  • outcomeCode: SportWizzard's fixed list: OVER, UNDER, YES, NO, WIN (a moneyline leg is WIN with its side), DRAW, NEITHER, WIN_OR_DRAW, EITHER, ODD, EVEN, SCORE (read side1Score/side2Score), RANGE, OTHER, LABEL (a categorical answer only the selection label explains).
  • statType: the fixed stat list (points, rush_yards, …).
  • outcomeParticipants: [{kind: "competitor" | "player", name}], names exactly as the sportsbook sent them. An outcome about a side with no name has none; read the event participant on that side.

Markets carry phase (PRE or LIVE). With include_history, each selection's selectionPrice is a list of rows, oldest first, one per run of an unchanged price:

{"observedAt": "2026-11-03T12:31:02Z", "lastObservedAt": "2026-11-03T12:40:15Z", "priceAmerican": -110, "priceDecimal": 1.9091}

A row may also carry dfsMultiplier, suspended: true and, on exchanges, liquidityTier.

IDs depend on your key: with an API key on a paid plan, each participant and outcome participant also has competitorId (a team) or playerId (a person), and odds, edge and arbitrage rows carry playerId and source references. Without a key, or on the Free plan, you get names and sides. competitor_id and player_id filters match events where that competitor or player is a participant.

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, no side, 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/sportwizzard/sportwizzard-mcp.git

cd sportwizzard-mcp && npm install && npm run build SPORTWIZZARD_MOCK=1 node dist/index.js # or set SPORTWIZZARD_API_KEY

Maintainers

This README ships inside the npm package, so keep it free of internal hostnames, keys and private notes (the repository is public).

Layout. src/index.ts is the stdio entry (dist/index.js, the npm bin); src/httpServer.ts is the hosted Streamable HTTP entry (stateless, one request per POST; Host allow list and bearer-key handling); src/auth.ts validates the caller's key against the API, caches it and applies the per-key rate limit; src/tools.ts and src/server.ts define and register tools; src/client.ts is the REST client and src/mock.ts the SPORTWIZZARD_MOCK=1 data. tests/stdio-smoke.mjs and tests/http-smoke.mjs are end-to-end smokes against a loopback mock API (no credentials, no production calls).

Build and verify (the PR check, .github/workflows/ci.yml, runs the same pack-and-smoke plus a no-push container build):

npm ci --ignore-scripts && npm run build

release_dir="$(mktemp -d)" npm pack --ignore-scripts --pack-destination "$release_dir" npm install --prefix "$release_dir/consumer" --omit=dev --ignore-scripts --no-audit --no-fund "$release_dir"/*.tgz npm run smoke -- "$release_dir/consumer/node_modules/sportwizzard-mcp/dist/index.js" "$release_dir/smoke.json" "$release_dir"/*.tgz npm run smoke:http -- "$release_dir/consumer/node_modules/sportwizzard-mcp/dist/httpServer.js" "$release_dir/http-smoke.json" rm -rf "$release_dir"

The stdio smoke checks tools/list, get_odds scope=season forwarding and a snapshot download with history; the HTTP smoke checks /healthz, key rejection, the Host allow list, tools/list, key forwarding and a clean SIGTERM exit. Both prove transport and packaging, not live data quality.

Releasing.

  • Hosted server: publish-container.yml publishes a SHA-tagged GHCR image on every push to main. It deploys only when that digest is promoted in the Ops deployment/releases/api.yaml row, which owns placement, limits and credential references.
  • npm package: bump version in package.json, run npm install --package-lock-only, sync server.json, merge to main, then run the manual Publish npm package workflow (publish-npm.yml). It builds once, smokes the packed tarball and publishes those exact bytes through npm trusted publishing (OIDC; no npm token). Publishing npm does not update the hosted container.

Gotchas. Hosted runtime settings are MCP_HTTP_PORT (default 8091), MCP_ALLOWED_HOSTS, AUTH_CACHE_TTL_MS, RATE_LIMIT_PER_MIN, SPORTWIZZARD_SNAPSHOT_URL and SPORTWIZZARD_SNAPSHOT_HISTORY_URL, plus the customer settings above. download_snapshot writes a file on stdio but returns a CDN URL and a command on the hosted server. Never print or commit ~/.npmrc. Open work goes in GitHub issues in this repository.

License

MIT © SportWizzard LLC

PopNxに聞く