sportapi-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPORTAPI_KEY | No | SportAPI key (Package header). Leave empty for demo data. | |
| SPORTAPI_BASE_URL | No | Your personal SportAPI base URL, e.g. https://YOUR_API_DOMAIN. Leave empty for demo data. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_sportsA | List the sports that have Live or Prematch matches right now, with match counts. Start here to get a sport_id. Sports without matches are not listed. |
| get_menuA | Navigation tree sport -> country -> tournament for Live or Prematch. Without sport_id: every sport with its number of matches, countries and tournaments. With sport_id: that sport's countries and tournaments (ids and match counts), to pick a tournament_id for list_live_matches / list_prematch_matches. |
| list_countriesA | List the countries (regions) that have matches in one sport, with match counts. |
| list_tournamentsB | List the tournaments of one sport and country that have matches, with match counts. |
| list_live_matchesA | Live (in-play) matches with score, period, minute and main odds, grouped by tournament. Use get_match with a game_id from here (line_type 'live') for all markets and live stats. |
| list_prematch_matchesA | Upcoming (Prematch) matches with start time and main odds, grouped by tournament. For a whole sport (tournament_id 0) SportAPI returns its 'Top' selection of 50 matches (top leagues first, then by start time). Use within_hours or day for a schedule. Use get_match with a game_id from here (line_type 'prematch') for all markets. |
| get_matchA | Full details of one match: score, live statistics, all betting markets and odds, and its sub-events (halves, corners, cards...). A match can have hundreds of markets: filter with |
| search_matchesA | Find matches by team or participant name. Returns game_id, teams, tournament, start time and (Live) score; use get_match for odds. |
| top_matchesA | SportAPI's selection of up to 10 most popular matches right now (all sports, or one sport for Prematch). A quick answer to 'what are the big games?'. |
| top_championshipsA | Up to 12 popular championships (tournaments) with their match counts, without esports. Use list_live_matches / list_prematch_matches with the tournament_id. |
| account_statusA | Show whether the server uses live data or demo data and, with an API key, the key's status: expiry, sports, languages, access restrictions and requests over 7 days. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| live_betting_overview | Overview of the live matches of one sport: scores, favourites by the odds and the most interesting games. |
| compare_match_markets | Find a match and compare its betting markets: implied probabilities, bookmaker margin and fair odds. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools target distinct resources: navigation (sports/countries/tournaments), match listing (live/prematch), and details. Minor overlap exists between list_sports and get_menu without sport_id (both enumerate sports with match counts), and top_matches vs top_championships could be briefly confused, but descriptions clarify the distinction.
Strong verb_noun pattern (list_sports, get_match, search_matches, list_live_matches). Deviations are the 'top_' prefix tools (top_matches, top_championships) and the noun-style account_status, but these are minor and readable.
11 tools is well-scoped for a sports data API covering navigation, live/prematch listing, match detail, search, and account status. Each tool earns its place with no redundancy.
Covers the full navigation-to-detail lifecycle (sports -> countries -> tournaments -> matches -> match details) plus search and account status. Minor gaps like team/player info or head-to-head history aren't covered, but core live/prematch workflows are complete.