Skip to main content
Glama
SportApi-net

sportapi-mcp

Official

list_prematch_matches

Read-onlyIdempotent

Fetch upcoming prematch matches with start times and odds, grouped by tournament. Filter by sport, day, or time window to plan your betting schedule.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dayNoOnly matches on one day: 0 = today, 1 = tomorrow ... 5. Days follow Kyiv time (Europe/Kyiv).
limitNoMaximum matches to return.
esportsNoEsports instead of traditional sports (SportAPI cybersport mode).
marketsNoOnly show these markets: case-insensitive name fragments (e.g. 'Total', '1X2', 'Handicap') or numeric market ids (group_id). Omit for the default markets.
sport_idYessport_id from list_sports or get_menu (1 = Football).
full_lineNoWith tournament_id 0: the sport's whole line instead of the 'Top' selection of 50 matches.
include_oddsNoInclude the main odds. False makes the response much smaller.
within_hoursNoOnly matches starting within the next 2, 4, 6 or 12 hours.
tournament_idNoOnly this tournament (from get_menu); 0 = whole sport.
max_markets_per_matchNoMaximum markets shown per match (API order).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/idempotent, so the safety profile is covered. The description adds real behavioral context the annotations don't: the default 'Top' selection of 50 matches, the top-leagues-then-start-time ordering, and the full_line/tournament_id interaction. Return-format and paging details are absent, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the resource and its shape, then default-behavior caveats, then the get_match handoff. Every sentence carries non-redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter read tool with no output schema, the description covers the essential behavior (default selection size, ordering, day/within_hours scheduling, drill-down path). It is adequately complete, with only minor gaps around return shape that do not block correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, but the description adds genuine semantics on top: what tournament_id 0 means (whole-sport 'Top' selection of 50) and how full_line changes it. It doesn't explain the markets/limit/esports parameters, but it enriches the two most consequential ones.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource with scope: upcoming prematch matches, start time, main odds, grouped by tournament. The '(Prematch)' qualifier implicitly separates it from list_live_matches, but it never names siblings or contrasts itself with top_matches/search_matches, so a 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete routing: use within_hours or day for a schedule, and use get_match with a game_id from the results (line_type 'prematch') for all markets. That is clear when-to-use guidance and a named handoff tool, though it doesn't state when NOT to use this tool versus top_matches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.