BPIM2 MCP
BPIM2に登録されたbeatmania IIDXのスコアデータをLLMクライアントから利用するための Model Context Protocol サーバーです。
このエンドポイントについて
POSThttps://bpi2.poyashi.me/api/mcp
ブラウザから直接開いて使うページではなく、Streamable HTTP経由のPOSTリクエストのみを受け付けます。このページはPOST以外(GET)でアクセスした場合に案内として表示されています。
セットアップ方法
認証は OAuth 2.0 (Authorization Code + PKCE + Dynamic Client Registration) に対応しています。Claude等、DCRに対応したMCPクライアントであれば、上記URLをそのまま登録するだけでクライアント側が自動的にクライアント登録・認可フローを行うため、事前に設定ページでOAuthクライアントを手動発行する必要はありません。
DCRに対応していないクライアントを使う場合のみ、設定ページで発行したクライアントID/シークレットを利用してください。
利用可能なツール
get_my_scores自分のスコア一覧を取得(バージョン・クリア状況・BPI範囲・BPM範囲・notes数範囲・ソフラン曲・タイトル検索・日付指定・並び替え等で絞り込み可能)search_usersユーザー名・IIDX ID・アリーナクラスでユーザーを検索(公開プロフィールのみ)get_my_follows自分のフォロー中ユーザー一覧を取得get_user_scores指定ユーザー(自分または公開プロフィールのユーザー)のスコア一覧を取得search_songs楽曲マスタをタイトル・難易度・難易度レベルで検索し、songIdを取得update_my_score自分のスコア・クリアランプを更新(自己ベストを上回る場合のみ反映)get_my_dashboardスコア一覧を取得せずに、総合BPI・日別推移・単日BPI・得意曲/苦手曲/ライバル僅差曲TOP Nをまとめて取得get_song_rivals特定の1曲について、自分とフォロー中ライバル全員の現在のスコアを一覧取得
活用例
今のプレイデータから、AAA埋めまであと僅かな☆12を教えて
→ get_my_scores を絞り込みなしに近い形で呼び出し、スコア率が近い曲を分析
自分と○○さんの☆12レジェンダリア譜面のスコアを比較して
→ search_users で相手を検索し、get_user_scores で互いのスコアを取得して比較
IIDXID 1234-5678の人と自分のスコアを比較して
→ search_users にIIDX IDを指定してユーザーを特定し、get_my_scores と get_user_scores で双方のスコアを取得して比較
フォロー中の人で自分より総合BPIが高い人は? どの曲なら勝てそうですか。
→ get_my_follows でフォロー一覧を取得し、各ユーザーのスコアと比較
新曲『○○』の[A]をEXスコア1234、クリアランプHARD CLEARでスコア更新して
→ search_songs で songId を検索し、update_my_score で更新(既存の自己ベストを上回らない場合は更新されない)
リザルト画面のスクリーンショットを貼り付けて「このスコアで更新して」
→ LLMが画像から曲名・難易度・EXスコア・クリアランプ・ミスカウントをOCRで読み取り、search_songs で songId を特定した上で update_my_score を呼び出す、という一連の流れをLLM側が自動で行う(BPIManager2側にOCR機能はなく、画像解釈はLLMクライアントの機能に依存する)
今日はどの曲を伸ばせばいい?ライバルに追いつかれそうな曲もあれば教えて
→ get_my_dashboard を呼び出し、苦手曲とライバル僅差曲を提示
『○○』[A]で自分は○○さんに勝ってる?
→ search_songs で songId を検索し、get_song_rivals で自分とライバルのスコアを比較