mcpField
B
balldontlie

balldontlie

リモート
github.com/balldontlie-apiゲーム・エンタメ124 週間前に更新
リポジトリ

balldontlie について

balldontlieは、BALLDONTLIE APIのスポーツデータや分析を必要とするAIクライアント向けのリモートMCPサーバーです。公開OpenAPI仕様からツールを生成し、各MCPリクエストでAPIキーを要求します。

主な機能

  1. 01OpenAPI仕様からツールを生成
  2. 02複数のスポーツ・リーグのAPIに対応
  3. 03APIキー認証
  4. 04機密性の高いアカウントツールは初期状態で無効
  5. 05ヘルスステータスエンドポイント

活用シーン

  1. 01BALLDONTLIEスポーツAPIのデータ照会
  2. 02AIクライアントからAPI操作を実行
  3. 03サービスの稼働状況とデプロイ版の確認

MCP 対応

公開OpenAPI仕様に基づくツールと入力定義を通じて、BALLDONTLIE APIの操作をMCPクライアントに提供します。各MCPリクエストにはBALLDONTLIE APIキーが必要で、一部の機密性の高いアカウントツールは初期状態で無効です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.balldontlie.io/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://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_signup
  • account_rotate_api_key
  • account_change_subscription
  • account_cancel_subscription
  • account_create_checkout
  • account_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 ソースからの更新
  1. balldontlie-2/marketing/public/openapi.yml を openapi.yml にコピーします。
  2. balldontlie-2/marketing/public/openapi/*.yml のすべてのファイルを openapi/ にコピーします。
  3. scripts/openapi-source.json をソース API のコミットに合わせて更新します。
  4. npm run generate:openapi を実行します。
  5. npm test と npm run build を実行します。

生成された src/tools/*.ts、src/schemas/*.ts、およびレジストリファイルはコミット済みのため、手動で編集しないでください。実行時に YAML は解析されず、本番環境で YAML パーサーへの依存もありません。

設定

変数デフォルト用途
PORT3000HTTP ポート
BACKEND_API_URLhttps://api.balldontlie.ioBALLDONTLIE API のベース URL
API_TIMEOUT30000上流へのタイムアウト(ミリ秒)
ENABLE_DEBUGfalseメソッド、クエリを除いたパス、クエリフィールド数のみをログに記録します
ENABLE_SENSITIVE_ACCOUNT_TOOLSfalse値が正確に true の場合に限り、機密性の高い Account ツールを有効にします
TRUST_PROXY_HOPS本番環境では 1、それ以外では 0信頼するプロキシホップ数を検証します。受け付ける値は 0 または 1 のみです
ENABLE_TRACINGfalseエージェントホストが設定されている場合に Datadog トレーシングを有効にします

Authorization の値、クエリの値、リクエスト本文、生の上流エラー、API キーのレスポンス、ホスト型請求セッション URL は、サーバーログとトレーシングタグから除外されます。

コメント

MCP は初めてですか?

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

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