Skip to main content
Glama
DanielTomaro13

sportsdata-mcp

puntersedge_racing_events

Read-onlyIdempotent

List upcoming races in the next few hours with distance, class, and scratchings to build the race schedule before checking prices.

Instructions

The CARD: every race scheduled in the next few hours, priced or not, with distance, class, track condition and scratchings. Every country by default — pass country=AU with include_unresolved=true for an Australian card. Costs 1 credit. Use this for the schedule and next-to-go for the prices.

Returns: [{race_id, venue, venue_id, venue_canonical, venue_site, race_number, category, start_time, country, race_name, distance_m, track_condition, weather, race_class, conditions, prize_total, rail, track_name, scratchings:[{name, number, barrier, scratched_at}]}] (top-level ARRAY, NO prices). A race listed here with no prices yet is one no book has opened — the priced window is puntersedge_racing_next_to_go.

NOTE: this shape is from the vendor's documentation and has NOT been verified against a live response (we hold no key for this provider). Treat it as approximate — inspect the actual payload before relying on a field name.

Example: Every AU race carded in the next 12 hours {"hours_ahead": 12, "country": "AU", "include_unresolved": true}

Auth: needs your own key in PUNTERSEDGE_API_KEY.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countryNoComma-separated ISO country codes, e.g. AU or AU,NZ. Omit for every country. Pair with include_unresolved=true or you silently lose unconfirmed meetings.
categoriesNoComma-separated racing codes: horse, greyhound, harness. Omit for all. AU cards carry all three; NZ cards carry thoroughbred and harness only.
hours_aheadNoHow far ahead to list, in hours. The ceiling depends on the plan — 24 on Free and Hobby, 48 on Standard, 168 on Plus and above — and asking past it is a free 403 that names it.
include_unresolvedNoInclude races whose country is not resolved yet (country is null). Off by default; most of an AU card is unresolved until the meeting is confirmed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.33.0

TDQS

A4.6/5.0
Behavior4/5

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

Adds real context beyond the readOnly/openWorld/idempotent annotations: credit cost ('Costs 1 credit'), auth requirement (own key in PUNTERSEDGE_API_KEY), the fact that no book has opened priced races listed here, and an honest caveat that the documented return shape is unverified. The 403-on-plan-ceiling behaviour lives in the schema rather than the description, so it is not double-credited here.

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

Conciseness4/5

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

Front-loads the purpose, cost, and use case, then the return shape, then a caveat, then a concrete example, then auth - a sensible order. The return-shape block and NOTE are justified because there is no output schema, but the entry is longer than it strictly needs to be for a four-parameter tool.

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

Completeness5/5

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

With no output schema, the description takes on the return-value burden and discharges it by naming the top-level array and listing fields. Combined with cost, auth, default scoping, and the sibling routing, an agent has everything needed to call it correctly.

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 already 100%, so the schema carries the parameter burden. The description still adds value the schema does not: a worked example call, the priced/unresolved relationship between this card and next_to_go, and the warning that unpriced races simply have no book yet. That is meaning beyond the field docs, though not exhaustive.

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

Purpose5/5

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

States a specific verb and resource up front ('The CARD: every race scheduled in the next few hours'), enumerates the fields it carries (distance, class, track condition, scratchings), and explicitly distinguishes itself from the priced sibling puntersedge_racing_next_to_go. An agent can tell it apart from the other racing tools without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit routing ('Use this for the schedule and next-to-go for the prices') and the condition that selects the alternative. It also spells out the non-obvious default behaviour ('Every country by default') and how to get an Australian card (country=AU plus include_unresolved=true), which is exactly the kind of when-to-use guidance agents need.

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

Deploy Server

Other Tools