Sportiq Mcp について
Sportiq Mcp は FIFA World Cup 2026 のサッカー、Formula 1、IPL クリケットを扱うスポーツ分析 MCP サーバーです。データ参照に加え、トーナメント確率、ピットストップ計画、ファンタジーチーム編成などのシミュレーションや戦略ツールを備えます。
主な機能
- 01サッカーデータとワールドカップのトーナメントシミュレーション
- 02F1 テレメトリー分析とピット戦略
- 03IPL データと Dream11 チームソルバー
- 04競技横断のアキュムレーターとバリューベットツール
- 05スポーツ参照データ用の静的 MCP リソース
- 06データの古さを示す情報と稼働状況
活用シーン
- 01ワールドカップの進出率や優勝確率を推定
- 02F1 のレースペースとピット計画を比較
- 03Dream11 のファンタジークリケット XI を編成
- 04スポーツデータの鮮度とソース状況を確認
MCP 対応
MCP クライアントに46種類のツールと7つの静的リソースを公開します。ホスト型 HTTP エンドポイントまたはローカル stdio で利用でき、プロバイダー連携のライブデータは利用可能な認証情報とクォータに依存します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://sportiq.utkarshgupta.org/mcpclaude mcp add --transport http SportIQ-MCP https://sportiq.utkarshgupta.org/mcp{"mcpServers":{"SportIQ-MCP":{"type":"http","url":"https://sportiq.utkarshgupta.org/mcp"}}}Cursor で開く{"servers":{"SportIQ-MCP":{"type":"http","url":"https://sportiq.utkarshgupta.org/mcp"}}}VS Code で開く{"mcpServers":{"SportIQ-MCP":{"type":"http","url":"https://sportiq.utkarshgupta.org/mcp"}}}{"mcpServers":{"SportIQ-MCP":{"serverUrl":"https://sportiq.utkarshgupta.org/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
44このツールにパラメーターはありません。
詳細
sportiq-mcp
あらゆる AI アシスタントを、FIFA ワールドカップ 2026 のサッカー、F1、IPL クリケットのスポーツアナリストに変える MCP サーバーです。AI から呼び出せるツールを 46 個備えています。

Claude でライブ実行中の SportIQ — モンテカルロによるワールドカップのトーナメント表、F1 のピット戦略、Dream11 の最適化を、それぞれ目に見える MCP ツール呼び出しで実行します。(1 分間のデモ)
すべてのツールを無料で利用できます — 3 つの主力ツールと、以下の INTEL 列にあるすべての機能には、SportIQ のペイウォールもアカウント登録要件もありません。ライブデータやプロバイダー提供データの利用には、ホストまたはローカル運用者が使用できる API キーと利用枠が必要です。SportIQ が役に立った場合は、プロジェクトを支援して、継続的な開発をサポートしてください。
v0.4.0 の新機能
- 新しいツールを 2 つ追加(合計 46 個):
f1_simulate_championship:厳密な脱落計算を用いた、タイトル争いのモンテカルロシミュレーションです。football_what_if:任意のステージからワールドカップ 2026 を再現し、実際のノックアウト結果を 1 つ変更することもできます。
- 大会終了後モード: ワールドカップのツールは、再シミュレーションではなく、実際の 2026 年の結果(延長戦の末、スペインが決勝で 1–0 で勝利)に基づいて回答するようになりました。
- MCP リソースを 7 つ追加: 静的な参照データ(ワールドカップの組み合わせ、チームコード、F1 サーキット、IPL の会場とチーム、Dream11 のスコアリングプロファイル)と、説明書を提供します。
- 精度の改善:
- Cricsheet のデータから生成した、Dream11 T20 の公式スコアリングと IPL の選手構成。
- レース残り全体、合法的なタイヤコンパウンドの使用順、および規則上のレース距離を合算する F1 ピットモデル。
- 期待値がプラスのバリューベットのみを提示。
- 延長戦とペナルティの結果を保持し、チーム名と会場を解決できるようにするなど、多数の改善。
- 信頼性:
- 約 1 分ごとにキャッシュが消去されるキャッシュの不具合を修正。
- リクエストごとの終了処理エラーを解消。
/healthzの稼働確認ルートを追加。- ツールごとの期限を 30 秒(
TOOL_DEADLINE_SECONDS)、データチェーンごとの予算を 15 秒に設定。 - API キーがログに表示されないように変更。
- アップグレード:
uvx sportiq-mcp@latestで 0.4.0 に更新できます。ホスト型コネクターの URL は変わりません。
できること
生データのツールはあって当たり前です。製品の価値を決めるのはインテリジェンス層です。主要な機能は次の3つです。
football_simulate_bracket— 48チーム制のWC 2026形式を対象に、ポアソン分布によるxGを用いたモンテカルロシミュレーションを実行し、チームごとのラウンド進出確率と優勝確率を算出します。f1_predict_pit_strategy— OpenF1のテレメトリに基づくタイヤ劣化モデルを使い、最適なピットイン周回数とタイヤコンパウンドの順序を算出します。cricket_build_dream11_team— PuLPの制約ソルバーを使い、クレジット、役割、チームの上限内で有効なファンタジーXIを作成します。
ツール(全46種類)
| スポーツ | RAWデータ | INTEL |
|---|---|---|
| Football(WC 2026) | グループ、試合日程、順位表、チーム編成、試合統計、得点ランキング、オッズ | xg_model、match_predictor、simulate_group、simulate_bracket、knockout_path、form_trends、find_value_bets、build_accumulator、what_if |
| F1 | セッション、ドライバー、ラップタイム、順位表、レース結果、天候 | tyre_degradation、undercut_window、head_to_head_pace、weather_strategy_impact、qualifying_analysis、race_pace_compare、predict_pit_strategy、simulate_championship |
| Cricket(IPL) | ライブ試合、スコアカード、順位表、スケジュール、チーム編成、ライブオッズ | build_dream11_team、captain_recommendation、differential_picks、player_form_index、pitch_report、head_to_head、player_matchup、find_value_bets |
| クロススポーツ | — | build_accumulator |
さらに、sportiq_health(全46種類に含まれます。キャッシュバックエンド、アダプターごとのステータスと残りのAPI利用枠を確認できます)もあります。
MCP リソース(静的JSON。ツールを呼び出さずに読み取れます):sportiq://instructions、sportiq://football/wc2026/draw、sportiq://football/team-codes、sportiq://f1/circuits、sportiq://cricket/venues、sportiq://cricket/teams、sportiq://cricket/scoring-profile。
データソース(各チェーンにはAPIキー不要のフォールバックがあります):football → API-Football → football-data.org → openfootball(APIキー不要)→ 同梱のwc2026.json。順位表は、試合結果から作成した表にフォールバックします。F1 → OpenF1 → Jolpica → fastf1。Cricket → CricAPI → RapidAPI Cricbuzz(有料フォールバック)+静的シードデータ(NDTV/Cricbuzzのスクレイパーはオプトイン)。オッズ(football+cricket)→ The Odds API。
利用できる環境
MCPに対応している環境ならどこでも利用できます。Claude(デスクトップ+Web)、ChatGPT、Cursor、その他のMCPクライアントに対応しています。実行方法は2通りあります。
- ホスト型(インストール不要): カスタムコネクターを追加します。claude.aiのWeb版とChatGPTで利用できます。
- ローカル(
uvx/デスクトップ設定/IDE): PyPIからインストールします。
仕組み
ホスト版 — インストール不要
Cloudflare の背後にあるホームサーバーでパブリックインスタンスが稼働しています。カスタムコネクターとして、認証なしで追加してください。
https://sportiq.utkarshgupta.org/mcp
ホスティングの変遷(GCP Cloud Run → ホームサーバー):docs/wiki/findings/product-hosting-arc.md。以前の *.run.app コネクター URL は利用できません。
- claude.ai(ウェブ): 設定 → コネクター → カスタムコネクターを追加 → URL を貼り付け → 保存。
- ChatGPT: 設定 → アプリとコネクター → 開発者モードを有効化 → アプリを作成(MCP) → URL を貼り付け → 認証なし → 接続。
通常の URL ですべての 46 個のツールが登録されます。ライブデータやプロバイダー経由の呼び出しで最新データを取得できるかどうかは、ホスト運用者が利用できる認証情報、利用枠、フォールバックに依存します。リポジトリでは、パブリックインスタンスが現在保有しているキーの一覧について保証していません。
| モード | 利用可能な機能 |
|---|---|
| ホスト版 | すべてのツールが登録されます。ライブデータやプロバイダー経由の結果は、ホストが現在利用できるキー、利用枠、フォールバックに依存します。 |
| ローカル、キーなし | すべてのツールが登録されます。対応している場合、同梱シードデータとキー不要のデータソースが動作し、認証情報が必要なライブデータソースはスキップされます。 |
| ローカル、BYO キー | 同じツールで、設定したプロバイダーを使って、プロバイダーの利用枠の範囲内でより新しいライブデータを取得できます。 |
ホスト版の HTTP 境界では、1 MiB を超えるリクエスト本文を拒否し、クライアントごとに 60 リクエスト、合計で毎分 300 リクエストに制限し、負荷の高いモデル/ソルバーの呼び出しは同時に最大 2 件まで許可します。これらのカウンターはプロセスごとなので、ホームサーバーの Compose スタックはレプリカを1 つ(常時稼働、アイドル状態でも停止せず、ゼロまでスケールダウンしません)実行します。
ローカルインストール
uvx sportiq-mcp # from PyPI
# or from source:
git clone https://github.com/Ninjabeam20/SportIQ-MCP && cd SportIQ-MCP
uv sync --extra dev && uv run python -m sportiq.server # --extra dev = pytest/ruff for contributors
Claude Desktop の設定:
{
"mcpServers": {
"sportiq": {
"command": "uvx",
"args": ["sportiq-mcp"],
"env": {
"CRICAPI_KEY": "your_cricapi_key",
"APIFOOTBALL_KEY": "your_apifootball_key",
"THEODDS_KEY": "your_theodds_key"
}
}
}
}
キーがなくてもサーバーは起動し、すべてのツールを登録します。シードデータ/キー不要のフォールバックとインテリジェンスレイヤーは、必要な入力が利用できる場合に動作します。プロバイダーキーを設定すると、別の有料ツール階層が利用可能になるのではなく、より新しいライブデータソースと利用枠が追加されます。
| Var | 利用できる機能 | 無料枠 |
|---|---|---|
APIFOOTBALL_KEY | ライブのサッカー試合日程/順位表/チーム編成/得点ランキング | 1 日 100 リクエスト |
THEODDS_KEY | 市場オッズ(サッカー+クリケットの確率ツール) | 1 か月 500 リクエスト |
FOOTBALLDATA_KEY | football-data.org のフォールバック — ワールドカップのエンドポイントには必須(設定しない場合、403 を返します) | 1 分あたり 10 リクエスト、1 日 100 リクエスト |
CRICAPI_KEY | ライブのクリケットスコア/スコアカード/日程/チーム編成 | 1 日 100 リクエスト |
RAPIDAPI_KEY | 有料の Cricbuzz フォールバック(選手の通算成績) | プランによって異なります |
SPORTIQ_ENABLE_NDTV / SPORTIQ_ENABLE_CRICBUZZ | オプトインのクリケットスクレーパー(デフォルトでは無効 — 利用規約上の理由) | — |
REDIS_URL | 共有キャッシュバックエンド(デフォルトはローカルの diskcache) | — |
SPORTIQ_TRANSPORT | stdio(デフォルト、ローカル)または http(リモート/ホームサーバー) | — |
TOOL_DEADLINE_SECONDS | ツールごとの期限(デフォルト 30)。呼び出しに時間がかかりすぎると UPSTREAM_TIMEOUT が返されます | — |
macOS arm64:Dream11 ソルバーには CBC が必要です —
brew install cbc(PuLP に同梱されているバイナリは x86 専用です)。
セルフホスト
SPORTIQ_TRANSPORT=http を設定すると、サーバーは /mcp で MCP エンドポイントを提供します(0.0.0.0:$PORT にバインド)。GET /healthz は稼働確認のみを行い、キャッシュ、チェーン、ネットワークにはアクセスせず、200 ok を返します。すぐにビルドできる Dockerfile と、ホームサーバー用の docker-compose.yml が含まれています。cloud.md は以前の Cloud Run 手順書(履歴資料)です。独自のキーを設定すると、ライブスコアとオッズのツールも利用できるようになります。
SportIQ を支援する
すべてのツールは無料かつオープンソースです。生データツール、sportiq_health、そして完全なインテリジェンスレイヤー(3 つの主力機能と、INTEL 列のすべての機能)が含まれます。SportIQ に有料機能の制限はありません。ただし、プロバイダー経由のデータには運用者の認証情報と利用枠が必要になる場合があります。
SportIQ によって時間を節約できた場合は、**github.com/sponsors/Ninjabeam20 でプロジェクトをスポンサー**して、ホスティングと継続的な開発を支援してください。これは任意の寄付です。寄付の有無にかかわらず、同じくすべての機能が利用できるサーバーをお使いいただけます。
安全ですか?
- オープンソースで、MIT ライセンスです。PyPI で公開され、署名付きビルド証明書が付属しています。接続する前にコードを確認してください。
- 読み取り専用です。 ツールは公開スポーツデータの取得と分析のみを行います。書き込み、削除、支払い、メール、ファイルシステムを扱うツールはありません。
- 運用テレメトリーは限定的です。 HTTP モードでは、クライアントのソフトウェア名/バージョン、User-Agent、ツール名、結果、レイテンシー、選択されたソース、データの古さをログに記録します。公開ホスト(Dell)は、
tool_call/mcp_requestの行をローカルの JSONL ボリュームに永続化する場合があります。ローカルの stdio はローカルログを出力しますが、SportIQ がホストするサービスにテレメトリーを送信しません。 - ホスト環境での不正利用対策があります。 HTTP POST の本文サイズは 1 MiB に制限されています。リクエスト数はクライアントあたり毎分 60 件、プロセスあたり毎分 300 件に制限されています。負荷の高いシミュレーション/戦略/ソルバーの 7 つのツールで、同時実行数の上限 2 を共有します。各ツール呼び出しには 30 秒の期限(
TOOL_DEADLINE_SECONDS)があり、各フォールバックチェーンの合計予算は 15 秒です。 - 認証情報に配慮しています。 ホスト運用者はプロバイダーの認証情報を設定できますが、このリポジトリは公開インスタンスの現在のキー一覧を保証していません。キーはアプリケーションログおよびエンベロープでマスキングされます。
- 過去に実施された AI による自動コードレビューの結果は
SECURITY.mdに記載されています。これは現在有効な第三者認証ではありません。
すべての応答には meta.is_stale フラグとデータの経過時間が含まれるため、AI は回答ごとのデータの新しさを伝えられます。クリケットのライブスコアは約 30 秒ごと、F1 の完了済みセッションのラップ/スティントは約 24 時間ごと、順位表は約 10 分ごと、サッカーの試合日程は約 6 時間ごとに更新されます(2026 年の WC は終了しました)。
開発
uv sync --extra dev --extra analytics # always both extras: dev = pytest/ruff, analytics = the dashboard's GCP libs
uv run pytest
uv run ruff check .
npx @modelcontextprotocol/inspector uv run python -m sportiq.server
分析ダッシュボード(読み取り専用のローカル利用状況ビュー — Dell JSONL /アーカイブ済み GCP / PyPI / GitHub)。上記と同じセットアップを行い、実行するだけです。
uv run python scripts/dashboard.py # writes dashboard.html and opens it; GITHUB_TOKEN optional (Sponsors panel)
注:ダッシュボードの HTML テンプレート(
scripts/dashboard_template.html)は現在、メンテナー向けのローカル専用ツールです。そのため、新しくクローンしただけではまだレンダリングできません。
リポジトリの構成: src/ は MCP サーバーです(PyPI に公開され、Dell 上の https://sportiq.utkarshgupta.org/mcp でホストされています)。website/ は Vercel にデプロイされる Next.js マーケティングサイトです。両者は独立してリリースされます。website/ は Python パッケージとバックエンドコンテナから除外されています。
コラボレーションのルールについては CLAUDE.md を、Wiki の入口については docs/index.md を参照してください。
データソースとクレジット
SportIQ は、一部のモデル定数をオープンデータセットからオフラインで導出しています。生データセットは配布されず、実行時に取得されることもありません。コミットされるのは、小さな派生シード(circuits.json、venues.json、elo_seed.json)のみです。
- F1DB(CC BY 4.0)— サーキットごとのピットストップ回数とラップ長。ピットの ロス は OpenF1 のラップデータからオフラインで測定しています。
- Cricsheet — 1 球ごとの IPL データ → 派生会場得点事前分布(
venues.json)。 - martj42 international football results(CC0)— Elo のバックテスト。
- OpenF1 — F1 の計時データ(実行時ソース)。過去のセッションではキーは不要です。ライブセッションのテレメトリーには有料認証が必要ですが、SportIQ はこれを組み込んでいません。
- football-data.org — 無料のサッカーデータ(実行時ソース)。
ライセンスと作者
Utkarsh Gupta(@Ninjabeam20)が作成・保守しています。MIT License の下でライセンスされています — © 2026 Utkarsh Gupta。正規パッケージ: PyPI の sportiq-mcp / 公式 MCP レジストリ の io.github.Ninjabeam20/sportiq-mcp。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。