BALLDONTLIE MCP Server

MCP serverDatabases & data

This app connects your AI to BALLDONTLIE, a source of live sports data and analytics. Once added, your AI can pull current sports information and use it to answer your questions. That means you can ask about sports and get answers based on live data instead of guesses.

Available today. Use it from your connected AI after setup.

Add the app, then ask your AI a sports question to see it fetch live data from BALLDONTLIE.

Then ask your AI: use BALLDONTLIE MCP Server

What your AI can do with it

  • Pull live sports data from BALLDONTLIE
  • Retrieve sports analytics when you ask
  • Answer sports questions using current data
  • Summarize sports data and analytics in plain language

From the project's README

As published by balldontlie-api/mcp in README.md.

Remote Model Context Protocol server for the BALLDONTLIE sports API. The tool catalog is generated from the vendored public OpenAPI specifications so endpoint methods, paths, parameters, and constraints stay aligned with the API source.

The current generated surface contains 505 tools from 27 specifications: 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, and WTA. /health reports the authoritative runtime count and deployed revision.

Authentication

Every MCP request requires a BALLDONTLIE API key:

Authorization: Bearer YOUR_API_KEY

Initialization, tool listing, authenticated documentation, and API operations that are public outside the MCP validate the supplied key before proceeding. Other tool calls forward only the Authorization header to the corresponding authenticated BALLDONTLIE endpoint.

Public service metadata is limited to /health and /.well-known/mcp-config. /api/docs requires a valid API key.

Sensitive Account tools

The complete Account API surface is registered, but the following tools are disabled by default:

  • account_signup
  • account_rotate_api_key
  • account_change_subscription
  • account_cancel_subscription
  • account_create_checkout
  • account_get_billing_portal

They can create credentials, change billing state, or return sensitive hosted billing-session URLs. A deployment must set ENABLE_SENSITIVE_ACCOUNT_TOOLS=true exactly to enable them. Enabling the flag means those values may intentionally enter the authenticated caller's MCP transcript. Other spellings, casing, or whitespace fail closed.

account_get_me remains available but always omits the api_key response field.

MCP request example

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": {}
    }
  }'

Use tools/list to retrieve the current catalog, input schemas, and MCP read-only/destructive annotations.

Development

npm ci
npm run check:openapi
npm test
npm run build

The tests independently compare every generated operation and input against all vendored specifications. They also cover legacy tool-name compatibility, exact array query serialization, path/body dispatch, credential-safe errors and logs, API-key validation limits, and Account safety controls. Tests never call a live Account mutation.

Updating from the API source

  1. Copy balldontlie-2/marketing/public/openapi.yml to openapi.yml.
  2. Copy every balldontlie-2/marketing/public/openapi/*.yml file into openapi/.
  3. Update scripts/openapi-source.json to the source API commit.
  4. Run npm run generate:openapi.
  5. Run npm test and npm run build.

Generated src/tools/*.ts, src/schemas/*.ts, and registry files are checked in and must not be edited manually. Runtime does not parse YAML and has no production YAML-parser dependency.

Configuration

VariableDefaultPurpose
PORT3000HTTP port
BACKEND_API_URLhttps://api.balldontlie.ioBALLDONTLIE API base URL
API_TIMEOUT30000Upstream timeout in milliseconds
ENABLE_DEBUGfalseLogs only method, query-free path, and query-field count
ENABLE_SENSITIVE_ACCOUNT_TOOLSfalseEnables sensitive Account tools only when exactly true
TRUST_PROXY_HOPS1 in production, 0 otherwiseValidated trusted proxy hop count; only 0 or 1 is accepted
ENABLE_TRACINGfalseEnables Datadog tracing when an agent host is configured

Authorization values, query values, request bodies, raw upstream errors, API-key responses, and hosted billing-session URLs are excluded from server logs and tracing tags.

Signals

GitHub stars
12
Forks
8
Last commit
Aug 2026
Advanced
Delivery
mcp MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
io-balldontlie-mcp
Source
github.com/balldontlie-api/mcp
Hosted endpoint
https://mcp.balldontlie.io/mcp