maxpreps-mcp について
maxpreps-mcpは、MaxPrepsの米国高校スポーツ情報を調べる読み取り専用MCPサーバーです。アカウントやAPIキーなしでHTTPS経由の公開ページデータを取得し、日程、スコア、ロスター、ランキング、統計、選手の経歴を扱います。
主な機能
- 01学校と選手の検索
- 02日程、スコア、成績の取得
- 03ロスターと選手経歴の閲覧
- 04ランキング、順位表、統計リーダーの表示
- 05過去シーズンのデータ取得
活用シーン
- 01学校の今後の試合と結果を確認
- 02チームのロスターと順位表を確認
- 03統計項目の上位選手を検索
- 04選手の経歴ページを調べる
MCP 対応
MCPクライアントにMaxPrepsの検索・スポーツデータ用ツールを公開します。すべて読み取り専用で、サイトのJSONルートから公開データを取得します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y maxpreps-mcpMAXPREPS_USER_AGENTOptional override for the User-Agent sent to MaxPreps.MAXPREPS_CACHE_TTLSeconds to cache a page response. Default 300; 0 disables caching.MAXPREPS_MIN_INTERVAL_MSMinimum spacing between requests, in ms. Default 250.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
15掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | カテゴリごとの最大結果数 |
| query | string | はい | 学校名または選手名(例:"myers park"、"brody keefe") |
詳細
maxpreps-mcp
MaxPreps 用の MCP サーバーです。米国の高校のチームについて、スケジュール、スコア、戦績、ロスター、統計リーダー、選手の経歴を参照できます。
AI(Claude Code)によって開発・保守されています。ご自身の判断でご利用ください。
アカウント、API キー、ブラウザー拡張機能は不要です。 MaxPreps は Next.js でページを提供しており、すべての公開ページには、そのページの生成元と同じデータを含む JSON ルートが用意されています。このサーバーは通常の HTTPS でそれらのルートを直接読み取るため、Node が動作する環境であればどこでも利用できます。
インストール
npx maxpreps-mcp
または、MCP ホストに追加します。
{
"mcpServers": {
"maxpreps": {
"command": "npx",
"args": ["-y", "maxpreps-mcp"]
}
}
}
ツール
15 個すべて読み取り専用です。このサーバーには書き込み機能はありません。
| ツール | 機能 |
|---|---|
maxpreps_search | 学校または選手を名前で検索します — ここから始めてください |
maxpreps_list_teams | 学校が公開しているすべてのチームパスを、競技、性別、レベルとともに一覧表示します |
maxpreps_get_school | 学校のプロフィール、識別子、所属団体、近隣の学校を取得します |
maxpreps_get_team | シーズン戦績、順位表、ランキング、利用可能なシーズンを取得します |
maxpreps_get_schedule | 試合結果とスコア、および計算された戦績を取得します |
maxpreps_get_roster | 背番号、学年、ポジション、身長、体重を含む選手一覧を取得します |
maxpreps_get_stat_leaders | 最低条件を満たした統計リーダーを取得します |
maxpreps_get_rankings | 全国または州別の、競技別ランキング一覧を取得します |
maxpreps_get_team_rankings | あるチームの全国、州、ディビジョン、都市圏での順位を取得します |
maxpreps_get_standings | すべてのチームの戦績を含むカンファレンス順位表を取得します |
maxpreps_list_stat_categories | 利用可能な統計リーダーボードとそのパスを一覧表示します |
maxpreps_get_stat_leaderboard | 1 つの統計項目について、州全体または全国の選手ランキングを取得します |
maxpreps_get_athlete | 1 人の選手の経歴ページを取得します |
maxpreps_healthcheck | 接続状況とサイトのビルド ID 解決を確認します |
maxpreps_get_page | 上記で扱えないデータの生ページデータを取得します(ロスターの行は公開フィールドに投影されます) |
一般的な流れ
パスは推測できないため、取得する前に解決してください。
maxpreps_search "myers park"→ 学校のcanonicalUrl- そのパスを指定して
maxpreps_list_teams→ 実際のチームパス - チームパスを指定して
maxpreps_get_schedule/_roster/_stat_leaders/_standings
選手やチームを検索するのではなく見つける場合は、maxpreps_get_rankings と maxpreps_get_stat_leaderboard を使います。これらは、各項目にそのまま渡せる teamPath が付いたランキング一覧を返します。統計リーダーボードのパスも推測できないため、まずカテゴリを一覧表示してください。
過去のシーズンは season 引数("25-26")で指定します。およそ 20 年分を利用できます。
設定
すべて任意です。設定なしでもサーバーは動作します。
| 変数 | デフォルト | 用途 |
|---|---|---|
MAXPREPS_USER_AGENT | 組み込み | MaxPreps に送信する User-Agent を上書きします |
MAXPREPS_CACHE_TTL | 300 | 取得したページを再利用する秒数。0 にすると無効になります |
MAXPREPS_MIN_INTERVAL_MS | 250 | リクエスト間の最小間隔 |
MAXPREPS_TIMEOUT_MS | 20000 | リクエストごとのタイムアウト |
知っておくべきこと
これらは MaxPreps のデータの特性で、どれも何も知らずに読み取ると誤解を招きます。
- 生データのスコアは勝者が先に表示されます。 MaxPreps では、チームが 13 点を獲得していても、敗戦は
"L 20-13"と表示されます。このサーバーが返すteamScore/opponentScoreフィールドは、常にチーム対対戦相手の順になっています。 - ロースターとスケジュールには非表示の行が含まれています。 そのうち、かなりの割合が削除済みとしてフラグ付けされ、サイトには表示されません。2025-26 年の Myers Park のフットボールのロースターには、表示される 63 人の選手のほかに 87 件のエントリーがあります。これらはデフォルトで除外されます。
- シーズン外のチームが壊れているとは限りません。 開幕前は、現在のシーズンのロースターが空で、結果がないのは正常です。前シーズンを指定してください。
- 検索は文字列をそのまま照合します。
"myers park"では学校が見つかりますが、"myers park high"では何も見つかりません。学校が存在しないと判断する前に、修飾語を省いてください。 - 州全体のスコアボードは利用できません。
/<st>/<sport>/scores/は、サーバー側でレンダリングされたペイロードを持たないルートから、クライアント側で試合一覧を描画します。スコアを取得するにはチームごとのスケジュールがサポートされている方法です。州内の全チームをまとめて確認するにはmaxpreps_get_rankingsを使用します。
シェルのみで利用する方法
このリポジトリには、サーバーを実行せずに curl と小さなデコーダーを使って同じデータにアクセスする maxpreps スキル(skills/maxpreps/)も含まれています。Claude Code を 1 台のマシンでしか使わない場合は、スキルだけで十分かもしれません。MCP サーバーを使うと、claude.ai、スマートフォン、その他のクライアントからもアクセスできます。
開発
npm install
npm run build
npm test
docs/MAXPREPS-API.md には、取得したリクエストとレスポンスの形式、位置ベースのキー対応表、そして MaxPreps がバンドルを変更した場合にそれらを再導出する方法が記載されています。
エチケット
これは、あるユーザーに代わって、他者のサイトにあるドキュメント化されていない領域を読み取ります。 デフォルトではリクエストの間隔を空け、レスポンスをキャッシュしています。この設定を維持してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。