Skip to main content
Glama
TheRundown

therundown-data

Official

Get main lines

get_main_lines
Read-onlyIdempotent

Fetch open per-affiliate main lines for one event ID; request live markets 41/42/43 explicitly. Use only after list_events returns that exact ID.

Instructions

Fetch open per-affiliate main lines for one event_id. Do not call until list_events returned that exact ID, and do not treat retrieved_at as price freshness. Preserves participant identity, line value and price updated_at. Request live markets 41/42/43 explicitly; each local page is metered.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
event_idYesExact event_id from list_events; never a URL.
market_idsNoCanonical market IDs. Prematch 1/2/3; live 41/42/43. Discover with list_markets.
affiliate_idsNoCanonical affiliate IDs; defaults to 19 and 23. Discover current IDs with list_affiliates.

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": {
      +        "event": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "event_date": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "event_id": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "market_ids": {
      +              "items": {
      +                "exclusiveMinimum": 0,
      +                "maximum": 2147483647,
      +                "type": "integer"
      +              },
      +              "type": "array"
      +            },
      +            "score": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "display_clock": {
      +                      "type": [
      +                        "string",
      +                        "number",
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "event_status": {
      +                      "type": [
      +                        "string",
      +                        "number",
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "event_status_detail": {
      +                      "type": [
      +                        "string",
      +                        "number",
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "game_clock": {
      +                      "type": [
      +                        "string",
      +                        "number",
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "game_period": {
      +                      "type": [
      +                        "string",
      +                        "number",
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "score_away": {
      +                      "type": [
      +                        "string",
      +                        "number",
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "score_home": {
      +                      "type": [
      +                        "string",
      +                        "number",
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "updated_at": {
      +                      "type": [
      +                        "string",
      +                        "number",
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "sport_id": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 2147483647,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "teams": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "is_away": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "is_home": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "mascot": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "name": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "team_id": {
      +                    "anyOf": [
      +                      {
      +                        "exclusiveMinimum": 0,
      +                        "maximum": 2147483647,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "teams",
      +            "market_ids"
      +          ],
      +          "type": "object"
      +        },
      +        "items": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "affiliate_id": {
      +                "exclusiveMinimum": 0,
      +                "maximum": 2147483647,
      +                "type": "integer"
      +              },
      +              "is_main_line": {
      +                "const": true,
      +                "type": "boolean"
      +              },
      +              "line_id": {
      +                "type": [
      +                  "string",
      +                  "number",
      +                  "boolean",
      +                  "null"
      +                ]
      +              },
      +              "line_value": {
      +                "type": [
      +                  "string",
      +                  "number",
      +                  "boolean",
      +                  "null"
      +                ]
      +              },
      +              "market_id": {
      +                "exclusiveMinimum": 0,
      +                "maximum": 2147483647,
      +                "type": "integer"
      +              },
      +              "market_name": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "participant": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "id": {
      +                    "type": [
      +                      "string",
      +                      "number",
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "name": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "type": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "period_id": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "price": {
      +                "type": "number"
      +              },
      +              "updated_at": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "participant",
      +              "line_value",
      +              "affiliate_id",
      +              "price",
      +              "is_main_line"
      +            ],
      +            "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": [
      +        "event",
      +        "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

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds genuinely new context: retrieved_at is not price freshness, and each local page is metered (a cost/rate constraint not visible in annotations). The 'preserves participant identity, line value and price updated_at' sentence overlaps the output schema, so it is slightly redundant rather than additive.

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-loaded with the core action, then the gating precondition, then caveats and cost note. Every sentence carries operational weight except the 'preserves ...' line, which restates output-schema content and could be dropped.

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?

An output schema exists, so return values need not be explained, yet the description does so anyway (mild redundancy). For a metered, ID-gated read tool with five parameters, the description covers invocation preconditions, cost, and market selection well; only page/limit behavior is left entirely to the schema.

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 60%, and the description reinforces the key semantic gap: market_ids defaults to prematch 1/2/3, so live data requires explicitly requesting 41/42/43, and event_id must come from list_events rather than a URL. It adds operational meaning over the schema, though it says nothing about page/limit tuning.

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 (Fetch) and resource (open per-affiliate main lines) plus the exact scope (one event_id). An agent can immediately tell this apart from the list_* discovery siblings, which enumerate rather than retrieve lines for a known event.

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?

Explicit precondition: 'Do not call until list_events returned that exact ID' names the alternative tool and the condition that gates this one. It also gives an override instruction for live markets (41/42/43), so the agent knows how to change behavior rather than relying on the prematch default.

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