Skip to main content
Glama

Lumify Sports Intelligence

get_odds_history

Read-onlyIdempotent

Get line-movement history for an event: a list of past odds snapshots (movements), each with its own timestamp, up to limit entries. bookmaker defaults to pinnacle. Use get_odds instead if you only need the current line.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax line-movement entries to return. Default 50.
event_idYesEvent id, from list_events, query_events, or search results.
bookmakerNoBookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, westgate, wynn, south_point, stations, hardrock, betonline, betr, betrivers, lowvig, bovada, all, or a comma-separated list.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalNo
event_idNo
movementsNoOdds snapshots over time; each entry carries its own timestamp.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / bookmaker / description
      Added value: +"Bookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, westgate, wynn, south_point, stations, hardrock, betonline, betr, betrivers, lowvig, bovada, all, or a comma-separated list."
    • addedInput schema / properties / event_id / description
      Added value: +"Event id, from list_events, query_events, or search results."
    • addedInput schema / properties / limit / description
      Added value: +"Max line-movement entries to return. Default 50."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "event_id": {
      +      "type": "integer"
      +    },
      +    "movements": {
      +      "description": "Odds snapshots over time; each entry carries its own timestamp.",
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed4 schema fields changed
    • removedInput schema / properties / bookmaker / description
      Removed value: -"Bookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, westgate, wynn, south_point, stations, hardrock, betonline, betr, betrivers, lowvig, bovada, all, or a comma-separated list."
    • removedInput schema / properties / event_id / description
      Removed value: -"Event id, from list_events, query_events, or search results."
    • removedInput schema / properties / limit / description
      Removed value: -"Max line-movement entries to return. Default 50."
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "event_id": {
      -      "type": "integer"
      -    },
      -    "movements": {
      -      "description": "Odds snapshots over time; each entry carries its own timestamp.",
      -      "items": {
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "total": {
      -      "type": "integer"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • changedInput schema / properties / bookmaker / description
      Previous value: -"Bookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, westgate, wynn, south_point, stations, hardrock, betonline, betr, betrivers, lowvig, all, or a comma-separated list."New value: +"Bookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, westgate, wynn, south_point, stations, hardrock, betonline, betr, betrivers, lowvig, bovada, all, or a comma-separated list."
  4. Changed1 schema field changed
    • changedInput schema / properties / bookmaker / description
      Previous value: -"Bookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, westgate, wynn, south_point, stations, hardrock, betonline, betr, betrivers, all, or a comma-separated list."New value: +"Bookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, westgate, wynn, south_point, stations, hardrock, betonline, betr, betrivers, lowvig, all, or a comma-separated list."
  5. Changed1 schema field changed
    • changedInput schema / properties / bookmaker / description
      Previous value: -"Bookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, hardrock, betonline, all, or a comma-separated list."New value: +"Bookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, westgate, wynn, south_point, stations, hardrock, betonline, betr, betrivers, all, or a comma-separated list."
  6. Changed1 schema field changed
    • changedInput schema / properties / bookmaker / description
      Previous value: -"Bookmaker slug; defaults to pinnacle."New value: +"Bookmaker slug. Defaults to pinnacle. Valid: pinnacle, fanduel, draftkings, betmgm, caesars, bet365, circa, hardrock, betonline, all, or a comma-separated list."
  7. Changed4 schema fields changed
    • addedInput schema / properties / bookmaker / description
      Added value: +"Bookmaker slug; defaults to pinnacle."
    • addedInput schema / properties / event_id / description
      Added value: +"Event id, from list_events, query_events, or search results."
    • addedInput schema / properties / limit / description
      Added value: +"Max line-movement entries to return. Default 50."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "event_id": {
      +      "type": "integer"
      +    },
      +    "movements": {
      +      "description": "Odds snapshots over time; each entry carries its own timestamp.",
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
  8. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds useful context about the output structure (list of movements with timestamps) and the limit behavior. It does not mention ordering or pagination details, but given the annotation coverage, this is a minor gap.

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?

Two sentences with zero fluff. The main purpose is front-loaded, the default is stated, and the alternative is given. Every word earns its place; the description is efficient and scannable.

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?

For a tool with three parameters (one required), 100% schema coverage, an output schema present, and rich annotations, the description covers everything an agent needs to invoke it correctly. It explains what the tool returns, the default bookmaker, and when to use a sibling. No critical information is missing.

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 100%: all three parameters (limit, event_id, bookmaker) are fully documented with defaults and valid values. The description adds only marginal clarification (e.g., 'up to limit entries' and 'bookmaker defaults to pinnacle'), which essentially restates schema information. Baseline 3 is appropriate since the schema already does the heavy lifting.

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?

The description states the specific verb and resource: 'Get line-movement history for an event' and describes the output as 'a list of past odds snapshots (movements), each with its own timestamp.' It explicitly distinguishes from sibling get_odds by saying 'Use get_odds instead if you only need the current line.' This leaves no ambiguity about what the tool does.

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?

The description provides clear usage guidance by naming the alternative (get_odds) and the condition for choosing it ('if you only need the current line'). It also mentions the default bookmaker, which sets expectations for typical use. No exclusions are needed beyond the single alternative.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.