mcpField
V
volleyball-data

volleyball-data

github.com/machina-sportsその他261582 回インストール今日更新
リポジトリ

volleyball-data について

Nevoboの公開APIからオランダのバレーボールデータを取得するスキルです。CLIとPython SDKで現シーズンの大会やクラブ情報を扱え、APIキーは不要です。

主な機能

  1. 01大会・リーグ一覧の取得
  2. 02順位表・日程・結果の確認
  3. 03クラブの日程と結果の取得
  4. 04下位ディビジョンのプール検索
  5. 05大会カレンダーと連盟ニュース
  6. 06CLIとPython SDKでの利用

活用シーン

  1. 01オランダリーグの現順位の確認
  2. 02試合スコアとセット結果の確認
  3. 03クラブの今後の試合の検索
  4. 04下位ディビジョンのプールの調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/machina-sports/sports-skills --skill volleyball-data

インストール後、Claude Code で/volleyball-dataを入力して読み込まれたか確認します。

同梱ファイルreferences/api-reference.mdreferences/competition-ids.md

詳細

バレーボールデータ(Nevobo — オランダのバレーボール)

クエリを作成する前に、エンドポイント、ID の規則、データ形式について references/api-reference.md を確認してください。

セットアップ

初めて使用する前に、CLI が利用可能か確認してください。

which sports-skills || pip install sports-skills

pip install が失敗する場合(パッケージが見つからない、または Python のバージョンエラーが発生する場合)は、GitHub からインストールしてください。

pip install git+https://github.com/machina-sports/sports-skills.git

このパッケージには Python 3.10 以降が必要です。デフォルトの Python が古い場合は、特定のバージョンを指定してください。

python3 --version  # check version
# If < 3.10, try: python3.12 -m pip install sports-skills
# On macOS with Homebrew: /opt/homebrew/bin/python3.12 -m pip install sports-skills

API キーは不要です。すべてのデータは Nevobo(Nederlandse Volleybalbond)のオープン API から取得されます。

クイックスタート

Python のインポートパスの問題を避けるため、CLI の使用を推奨します。

sports-skills volleyball get_competitions
sports-skills volleyball get_standings --competition_id=nevobo-eredivisie-heren
sports-skills volleyball get_results --competition_id=nevobo-eredivisie-dames
sports-skills volleyball get_schedule --competition_id=nevobo-topdivisie-heren-a

Python SDK(代替方法):

from sports_skills import volleyball

standings = volleyball.get_standings(competition_id="nevobo-eredivisie-heren")
results = volleyball.get_results(competition_id="nevobo-eredivisie-dames")

重要:クエリを実行する前に

重要:データエンドポイントを呼び出す前に、次の点を確認してください。

  • competition_id には、references/competition-ids.md に記載された有効な値を使用してください。推測してはいけません。
  • クラブ固有のコマンドでは、有効な Nevobo の club_id を用意してください(get_clubs を使って organisatiecode フィールドを確認してください)。
  • クラブ ID や大会 ID を推測してはいけません。get_competitions または get_clubs を使って確認してください。

competition_id パラメーター

オランダのバレーボールの上位 3 階層にある 8 つのリーグが、あらかじめ設定されています。competition_id は nevobo-<league>-<gender>[-<pool>] の形式です。

  • Eredivisie(第 1 階層、8 チーム):nevobo-eredivisie-heren、nevobo-eredivisie-dames
  • Topdivisie(第 2 階層、プールごとに 10 チーム):nevobo-topdivisie-heren-a、nevobo-topdivisie-heren-b、nevobo-topdivisie-dames-a、nevobo-topdivisie-dames-b
  • Superdivisie(第 3 階層、10 チーム):nevobo-superdivisie-heren、nevobo-superdivisie-dames

下位ディビジョン(1e/2e/3e Divisie、地域、ユース、ビーチ。6,400 超のプール)については、get_poules を使って確認してください。

チーム数とオランダのバレーボールのピラミッドを含む全内容については、references/competition-ids.md を参照してください。

コマンド

コマンド説明
get_competitions利用可能なすべての大会とリーグを一覧表示します
get_standingsリーグ順位表(順位、チーム、試合数、ポイント)
get_schedule今後の試合(チーム、会場、日付)
get_results試合結果(スコア、セットごとのスコア)
get_clubsバレーボールクラブの一覧(名称、都市、州)
get_club_schedule全チームを対象としたクラブの今後の試合
get_club_results全チームを対象としたクラブの試合結果
get_poulesNevobo のプールを参照します(下位ディビジョンの確認用)
get_tournaments大会カレンダー
get_news連盟のニュース

パラメーターと戻り値の形式の詳細については、references/api-reference.md を参照してください。

対象は現シーズンのみです。 Nevobo は過去シーズンのプールとエクスポートデータを削除するため、get_standings、get_schedule、get_results の結果は常に現シーズンのものです。省略可能な season("2026-2027" または 2026)に別のシーズンを指定すると、明確なエラーが返されます。日付が未定の試合では date: null となり、中止された試合には status: "vervallen" が設定されます。

例

例1:エールディヴィジの順位表 ユーザーの発言:「オランダのバレーボールの現在の順位を教えてください」 アクション:

  1. 男子について get_standings(competition_id="nevobo-eredivisie-heren") を呼び出します
  2. 女子について get_standings(competition_id="nevobo-eredivisie-dames") を呼び出します 結果:順位、チーム名、試合数、勝ち点を含むリーグ表

例2:最近の試合結果 ユーザーの発言:「エールディヴィジの最近のバレーボールの試合結果を見せてください」 アクション:

  1. get_results(competition_id="nevobo-eredivisie-heren") を呼び出します 結果:ホーム/アウェイチーム、試合スコア(例:「3-1」)、セットスコア(例:["25-21", "25-18", "21-25", "25-20"])を含む試合結果

例3:クラブの試合日程 ユーザーの発言:「LSVの今後の試合を教えてください」 アクション:

  1. get_clubs(limit=10) を呼び出し、LSVのorganisatiecode(CKL5C67)を見つけます
  2. get_club_schedule(club_id="CKL5C67") を呼び出します 結果:LSVの全チームの今後の試合と、会場および日付

例4:2部リーグの順位表 ユーザーの発言:「Topdivisieの順位表を見せてください」 アクション:

  1. 男子プールAについて get_standings(competition_id="nevobo-topdivisie-heren-a") を呼び出します
  2. 男子プールBについて get_standings(competition_id="nevobo-topdivisie-heren-b") を呼び出します 結果:各10チームの2つのプール表

例5:下位ディビジョンを見つける ユーザーの発言:「オランダのバレーボールにはどのディビジョンがありますか?」 アクション:

  1. get_poules(regio="nationale-competitie", limit=20) を呼び出します 結果:略称と説明付きの1e/2e/3e Divisieを含む、全国レベルのプール一覧

存在しないコマンド — 絶対に呼び出さないでください

  • get_scoreboard — 存在しません。最近の試合結果には get_results を使用してください。
  • get_rankings — 存在しません。バレーボールのリーグ表には get_standings を使用します。
  • get_team_roster — 存在しません。クラブ情報には get_clubs を使用してください。
  • get_player_info — 存在しません。この API では選手レベルのデータを利用できません。

上記のコマンド表に記載されていないコマンドは存在しません。

エラー処理

コマンドが失敗した場合は、生のエラーをユーザーに提示しないでください。代わりに、以下を行います。

  1. エラーを表に出さずに受け取り、代替手段を試します
  2. ID の代わりにクラブ名が指定されている場合は、まず get_clubs を使って organisatiecode を見つけます
  3. competition_id からデータが返されない場合は、get_competitions を使って利用可能なリーグを確認します
  4. 代替手段をすべて試した後にのみ、簡潔なメッセージで失敗を伝えます

トラブルシューティング

エラー:sports-skills コマンドが見つかりません 原因:パッケージがインストールされていません 解決策:pip install sports-skills を実行します。PyPI にない場合は、GitHub からインストールします:pip install git+https://github.com/machina-sports/sports-skills.git

エラー:順位表が空のリストを返します 原因:大会のレギュラーシーズンが終了しているか、シーズンがまだ始まっていない可能性があります 解決策:get_results を使って最近の試合結果を確認するか、get_poules を使って現在有効なプールのパスを調べます

エラー:試合日程が0件を返します 原因:大会フェーズが終了し、そのプールでは今後の試合が予定されていません 解決策:シーズンフェーズの合間であれば、これは想定どおりです。他のリーグを確認してください(Topdivisie/Superdivisieはまだ開催中の可能性があります)

エラー:クラブの試合日程/結果がエラーを返します 原因:club_id が正しくない可能性があります 解決策:get_clubs を使って有効なクラブ ID を確認します(organisatiecode フィールド、例:「CKL5C67」)

エラー:接続エラーまたはタイムアウト 原因:Nevobo API が一時的に利用できない可能性があります 解決策:少し待ってから再試行してください。API は公開されており認証不要ですが、短時間の停止が発生することがあります

コメント