Skip to main content
Glama
TheRundown

therundown-data

Official

List markets

list_markets
Read-onlyIdempotent

Retrieve market definitions or available markets for a sport and date. Use for catalog discovery; do not use as price quotes or combine live with date-based discovery.

Instructions

Discover market definitions, or available markets for one sport and date. Do not use definitions as price quotes or combine live with date-based discovery. Catalog sport/live filters use catalog metadata.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNo
liveNo
pageNo
limitNo
offsetNoDate-boundary offset in minutes; used only with date-based discovery.
sport_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
planNo
emptyNo
errorNo
usageNo
statusNo
messageNo
event_idNo
source_urlNo
retry_afterNo
limit_reasonNo
retrieved_atNo
required_planNo
remaining_pointsNo
missing_entitlementNo
monthly_remaining_pointsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "items": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "description": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "id": {
      +                "anyOf": [
      +                  {
      +                    "exclusiveMinimum": 0,
      +                    "maximum": 2147483647,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "live": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              },
      +              "live_variant_id": {
      +                "anyOf": [
      +                  {
      +                    "exclusiveMinimum": 0,
      +                    "maximum": 2147483647,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "name": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "period_id": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "sports": {
      +                "items": {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 2147483647,
      +                  "type": "integer"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "limit": {
      +          "exclusiveMinimum": 0,
      +          "maximum": 9007199254740991,
      +          "type": "integer"
      +        },
      +        "next_page": {
      +          "anyOf": [
      +            {
      +              "exclusiveMinimum": 0,
      +              "maximum": 9007199254740991,
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "page": {
      +          "exclusiveMinimum": 0,
      +          "maximum": 9007199254740991,
      +          "type": "integer"
      +        },
      +        "total": {
      +          "maximum": 9007199254740991,
      +          "minimum": 0,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "items",
      +        "total",
      +        "page",
      +        "limit",
      +        "next_page"
      +      ],
      +      "type": "object"
      +    },
      +    "empty": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "code": {
      +          "enum": [
      +            "page_out_of_range",
      +            "no_results"
      +          ],
      +          "type": "string"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "scope": {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message",
      +        "scope"
      +      ],
      +      "type": "object"
      +    },
      +    "error": {
      +      "type": "string"
      +    },
      +    "event_id": {
      +      "type": "string"
      +    },
      +    "limit_reason": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "missing_entitlement": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "monthly_remaining_points": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "plan": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "remaining_points": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "required_plan": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "retrieved_at": {
      +      "type": "string"
      +    },
      +    "retry_after": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "source_url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "status": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "usage": {
      +      "additionalProperties": {
      +        "type": "string"
      +      },
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv0.2.1

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld safety, so the bar is lower, and the description adds two genuine behavioral constraints: definitions are not price quotes, and live cannot be combined with date-based discovery. It omits pagination behavior and response shape, and the closing 'catalog metadata' sentence is jargon that resists interpretation.

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?

Three compact sentences with the core capability front-loaded and constraints following. No wasted filler, but the final sentence is dense jargon-heavy shorthand that would benefit from one clarifying clause.

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

Completeness3/5

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

An output schema exists so return values need not be explained. However, with 0 required params, 17% schema coverage, and no enum for sport_id or explanation of the pagination-vs-time-offset distinction, the description leaves an agent guessing about valid inputs and mutual exclusivity of live/date.

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

Parameters3/5

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

Schema description coverage is only 17% across 6 params, so the description must compensate. It implies date, sport_id, and live are mutually constrained (one sport, one date, live vs. date-based), but it says nothing about page/limit/offset semantics — and 'offset' here is a minutes-based date boundary, not pagination, an ambiguity the description does not resolve.

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 ('Discover') and resource (market definitions / available markets) and distinguishes two modes: definitions vs. sport/date-scoped availability. It does not name or contrast itself against any sibling tool such as list_sports or list_events, so it stops short of a 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?

Provides real when-not guidance: do not use definitions as price quotes, and do not combine live with date-based discovery. It also points to catalog metadata for sport/live filters. It never names an alternative tool to use instead, so it falls short of a 5.

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