mcpField
M
maxpreps-mcp

maxpreps-mcp

ローカル
github.com/chrischallゲーム・エンタメ04 日前に更新

maxpreps-mcp について

maxpreps-mcpは、MaxPrepsの米国高校スポーツ情報を調べる読み取り専用MCPサーバーです。アカウントやAPIキーなしでHTTPS経由の公開ページデータを取得し、日程、スコア、ロスター、ランキング、統計、選手の経歴を扱います。

主な機能

  1. 01学校と選手の検索
  2. 02日程、スコア、成績の取得
  3. 03ロスターと選手経歴の閲覧
  4. 04ランキング、順位表、統計リーダーの表示
  5. 05過去シーズンのデータ取得

活用シーン

  1. 01学校の今後の試合と結果を確認
  2. 02チームのロスターと順位表を確認
  3. 03統計項目の上位選手を検索
  4. 04選手の経歴ページを調べる

MCP 対応

MCPクライアントにMaxPrepsの検索・スポーツデータ用ツールを公開します。すべて読み取り専用で、サイトのJSONルートから公開データを取得します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"chrischall-maxpreps": {
"command": "npx",
"args": [
"-y",
"maxpreps-mcp"
],
"env": {
"MAXPREPS_USER_AGENT": "<MAXPREPS_USER_AGENT>",
"MAXPREPS_CACHE_TTL": "<MAXPREPS_CACHE_TTL>",
"MAXPREPS_MIN_INTERVAL_MS": "<MAXPREPS_MIN_INTERVAL_MS>"
}
}
}
}
起動コマンドnpx -y maxpreps-mcp
設定が必要な環境変数
MAXPREPS_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmaxpreps-mcp1.1.9

ツール

15

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitintegerいいえカテゴリごとの最大結果数
querystringはい学校名または選手名(例:"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_leaderboard1 つの統計項目について、州全体または全国の選手ランキングを取得します
maxpreps_get_athlete1 人の選手の経歴ページを取得します
maxpreps_healthcheck接続状況とサイトのビルド ID 解決を確認します
maxpreps_get_page上記で扱えないデータの生ページデータを取得します(ロスターの行は公開フィールドに投影されます)
一般的な流れ

パスは推測できないため、取得する前に解決してください。

  1. maxpreps_search "myers park" → 学校の canonicalUrl
  2. そのパスを指定して maxpreps_list_teams → 実際のチームパス
  3. チームパスを指定して 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_TTL300取得したページを再利用する秒数。0 にすると無効になります
MAXPREPS_MIN_INTERVAL_MS250リクエスト間の最小間隔
MAXPREPS_TIMEOUT_MS20000リクエストごとのタイムアウト

知っておくべきこと

これらは 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。