balldontlie について
balldontlieは、BALLDONTLIE APIのスポーツデータや分析を必要とするAIクライアント向けのリモートMCPサーバーです。公開OpenAPI仕様からツールを生成し、各MCPリクエストでAPIキーを要求します。
主な機能
- 01OpenAPI仕様からツールを生成
- 02複数のスポーツ・リーグのAPIに対応
- 03APIキー認証
- 04機密性の高いアカウントツールは初期状態で無効
- 05ヘルスステータスエンドポイント
活用シーン
- 01BALLDONTLIEスポーツAPIのデータ照会
- 02AIクライアントからAPI操作を実行
- 03サービスの稼働状況とデプロイ版の確認
MCP 対応
公開OpenAPI仕様に基づくツールと入力定義を通じて、BALLDONTLIE APIの操作をMCPクライアントに提供します。各MCPリクエストにはBALLDONTLIE APIキーが必要で、一部の機密性の高いアカウントツールは初期状態で無効です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.balldontlie.io/mcpclaude mcp add --transport http io-balldontlie https://mcp.balldontlie.io/mcp{"mcpServers":{"io-balldontlie":{"type":"http","url":"https://mcp.balldontlie.io/mcp"}}}Cursor で開く{"servers":{"io-balldontlie":{"type":"http","url":"https://mcp.balldontlie.io/mcp"}}}VS Code で開く{"mcpServers":{"io-balldontlie":{"type":"http","url":"https://mcp.balldontlie.io/mcp"}}}{"mcpServers":{"io-balldontlie":{"serverUrl":"https://mcp.balldontlie.io/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.balldontlie.io/mcp認証が必要ツール
詳細
BALLDONTLIE MCP Server
BALLDONTLIE スポーツ API 用のリモート Model Context Protocol サーバーです。ツールカタログは、同梱された公開 OpenAPI 仕様から生成されるため、エンドポイントのメソッド、パス、パラメーター、制約が API のソースと一致した状態に保たれます。
現在の生成済みインターフェースには、27 の仕様から生成された 529 個のツールが含まれています:Account、ATP、Bundesliga、college baseball、Counter-Strike、Dota 2、EPL、F1、FIFA World Cup、La Liga、Ligue 1、League of Legends、MLB、MLS、MMA、NBA、NCAAB、NCAAF、NCAAW、NFL、NHL、PGA、Serie A、UCL、Valorant、WNBA、WTA。/health は、実行時の正確なツール数とデプロイ済みリビジョンを報告します。
認証
すべての MCP リクエストで BALLDONTLIE API キーが必要です:
Authorization: Bearer YOUR_API_KEY
初期化、ツール一覧の取得、認証が必要なドキュメントの取得、MCP の外部では公開されている API 操作では、処理を進める前に指定されたキーを検証します。その他のツール呼び出しでは、対応する認証済み BALLDONTLIE エンドポイントに Authorization ヘッダーのみを転送します。
公開サービスのメタデータは /health と /.well-known/mcp-config に限定されます。/api/docs には有効な API キーが必要です。
機密性の高い Account ツール
Account API の全機能が登録されていますが、次のツールはデフォルトで無効になっています:
account_signupaccount_rotate_api_keyaccount_change_subscriptionaccount_cancel_subscriptionaccount_create_checkoutaccount_get_billing_portal
これらのツールは、認証情報の作成、請求状態の変更、機密性の高いホスト型請求セッション URL の返却を行う可能性があります。有効にするには、デプロイ環境で ENABLE_SENSITIVE_ACCOUNT_TOOLS=true を正確に設定する必要があります。このフラグを有効にすると、これらの値が認証済み呼び出し元の MCP トランスクリプトに意図的に含まれる可能性があります。その他の表記、大文字・小文字の違い、空白がある場合は、安全側に処理を拒否します。
account_get_me は引き続き使用できますが、レスポンスの api_key フィールドは常に除外されます。
MCP リクエストの例
curl https://mcp.balldontlie.io/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "nba_get_teams",
"arguments": {}
}
}'
tools/list を使用すると、現在のカタログ、入力スキーマ、MCP の読み取り専用/破壊的操作に関する注釈を取得できます。
開発
npm ci
npm run check:openapi
npm test
npm run build
テストでは、生成されたすべての操作と入力を、同梱されたすべての仕様と個別に比較します。また、旧式のツール名との互換性、配列のクエリシリアライズの厳密な動作、パス/本文の振り分け、認証情報を漏らさないエラーとログ、API キー検証の制限、Account の安全制御も検証します。テストで Account の実際の変更操作が呼び出されることはありません。
API ソースからの更新
balldontlie-2/marketing/public/openapi.ymlをopenapi.ymlにコピーします。balldontlie-2/marketing/public/openapi/*.ymlのすべてのファイルをopenapi/にコピーします。scripts/openapi-source.jsonをソース API のコミットに合わせて更新します。npm run generate:openapiを実行します。npm testとnpm run buildを実行します。
生成された src/tools/*.ts、src/schemas/*.ts、およびレジストリファイルはコミット済みのため、手動で編集しないでください。実行時に YAML は解析されず、本番環境で YAML パーサーへの依存もありません。
設定
| 変数 | デフォルト | 用途 |
|---|---|---|
PORT | 3000 | HTTP ポート |
BACKEND_API_URL | https://api.balldontlie.io | BALLDONTLIE API のベース URL |
API_TIMEOUT | 30000 | 上流へのタイムアウト(ミリ秒) |
ENABLE_DEBUG | false | メソッド、クエリを除いたパス、クエリフィールド数のみをログに記録します |
ENABLE_SENSITIVE_ACCOUNT_TOOLS | false | 値が正確に true の場合に限り、機密性の高い Account ツールを有効にします |
TRUST_PROXY_HOPS | 本番環境では 1、それ以外では 0 | 信頼するプロキシホップ数を検証します。受け付ける値は 0 または 1 のみです |
ENABLE_TRACING | false | エージェントホストが設定されている場合に Datadog トレーシングを有効にします |
Authorization の値、クエリの値、リクエスト本文、生の上流エラー、API キーのレスポンス、ホスト型請求セッション URL は、サーバーログとトレーシングタグから除外されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。