Growing Discord community — direct access to the developer, live coverage & picks. Join the Discord Join now →
Leagues Matches Predictions Stats Coverage
Docs / AI & Agents

MCP servers#

BSD runs a native MCP (Model Context Protocol) server per sport, speaking Streamable HTTP. Connect one to Claude or any MCP-compatible client and the agent can query live sports data with typed tools. Responses are identical to the REST API shapes.

Step-by-step connection guide: Use BSD from AI agents.

Servers#

URL Tools Access
https://sports.bzzoiro.com/mcp Football — 26 tools Free
https://sports.bzzoiro.com/tennis/mcp Tennis — 8 tools Sports Addon
https://sports.bzzoiro.com/csgo/mcp CS2 — 10 tools Sports Addon
https://sports.bzzoiro.com/darts/mcp Darts — 7 tools Sports Addon
https://sports.bzzoiro.com/hockey/mcp Hockey — 6 tools Sports Addon
https://sports.bzzoiro.com/basketball/mcp Basketball — 12 tools Sports Addon
https://sports.bzzoiro.com/horseracing/mcp Horse racing — 11 tools Sports Addon

Authentication#

Three options, in order of convenience:

  1. OAuth 2.1 + PKCE — what Claude's custom connectors use. Dynamic client registration at /oauth/register, discovery at /.well-known/oauth-authorization-server. You sign in with your BSD account in the browser; no token handling.
  2. Authorization: Token YOUR_API_KEY (or Bearer) on every request.
  3. ?token=YOUR_API_KEY query parameter (avoid outside testing).

Discovery probes — initialize, ping, tools/list, resources/list — work unauthenticated, so clients can validate a server URL before sign-in. tools/call always requires auth; gated sports additionally require the Sports Addon (HTTP 402 otherwise).

Protocol details#

  • JSON-RPC 2.0 over POST (single or batch); responses switch to SSE when you send Accept: text/event-stream.
  • Methods: initialize, notifications/initialized, tools/list, tools/call, resources/list, resources/read, ping.
  • A Mcp-Session-Id header is issued on initialize and cached 24 h.
  • Football also exposes MCP resources: bsd://leagues, bsd://teams, bsd://docs, bsd://openapi.
# List football tools without auth
curl -X POST https://sports.bzzoiro.com/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tool reference#

Football (free)#

Matches: search_matches, get_match_detail (lineups + incidents + stats + odds + prediction + h2h + AI preview), get_match_h2h, get_match_lineups, get_match_shotmap (per-shot xG), get_match_incidents, get_live_scores. Teams/players: search_teams, get_team_detail, get_team_fixtures, get_team_squad, search_players, get_player_detail, get_player_stats. Competitions: list_leagues, get_standings, list_seasons, get_season (both require league_id). Odds & predictions: compare_odds, get_best_odds, list_bookmakers, get_polymarket_odds, get_predictions. People/places/media: search_managers, get_manager_detail, list_referees, list_venues, get_venue, list_social_items, list_tv_channels, list_broadcasts.

Weight of Money (needs its own subscription — these three answer 402 with a subscribe link otherwise): get_money (money matched per selection on one match), get_money_history (how the split moved), list_money_movers (where money and price disagree most across every covered match). They describe money flow, not outcomes — see Weight of Money API.

Tennis#

list_tournaments, list_players, search_players, list_matches, get_match, get_match_h2h, get_predictions, get_rankings (ATP/WTA).

CS2#

list_tournaments, list_teams, search_teams, search_players, list_matches, get_match, get_predictions, get_team (ELO, form, map pool), get_player (KD, damage, clutches), get_tournament.

Darts#

list_tournaments, list_players, search_players, list_matches, get_match, get_predictions, get_rankings (PDC/ProTour).

Hockey#

list_leagues, list_teams, search_teams, list_matches, get_match, get_predictions.

Basketball#

list_leagues, list_teams, search_teams, list_events, get_event, get_predictions, search_players, get_player, get_box_score, get_team_stats, get_pregame, get_standings.

Horse racing#

list_meetings, list_races, get_race, list_runners, get_runner, compare_odds, search_horses, search_jockeys, search_trainers, get_horse, get_jockey, next_to_jump.

Note: always pass BSD internal ids to tools. Resolve names with the search_* / list_* tools first.

View this page as Markdown · Found a mistake? Tell us