Skip to main content
Glama

PropLine — Sports Betting Odds & Prop Resolution

Get line movement & steam

propline_get_event_movement
Read-onlyIdempotent

Line movement + steam detection from the snapshot tick history. Per (book, market, outcome): opening line, latest line, signed implied-probability shift, point shift, direction. The steam[] array flags outcomes that multiple books moved the same direction — the classic sharp-money signal, computed across all 37 books PropLine polls. When a book moves the line itself, that outcome's prob_shift is null and direction is 'line_moved' (excluded from the steam signal). No pull-only odds API can produce this. Each outcome carries outcome_id (the id /odds and webhooks use); steam rows carry team (team totals) plus open_point/latest_point. Hobby+ full; free tier redacted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sinceNoMeasure movement from this moment instead of each line's first quote: ISO-8601 timestamp or a negative offset from now ('-6h', '-30m', '-2d'). Steam then covers only moves inside the window.
periodNoGame-period filter (q1..q4, h1/h2, p1..p3, i1..i9, f3/f5/f7; comma-separated, or 'all'). Omit for full-game.
marketsNoComma-separated market keys. Defaults to h2h,spreads,totals.
event_idYes
sport_keyYes
bookmakersNoComma-separated subset of book keys (bovada, draftkings, fanduel, pinnacle, betmgm, betrivers, unibet, betway, hardrock, fanatics, betus, betonlineag, lowvig, onexbet, tab_au, rebet, fliff, courtside, sportzino, heritage, jazzsports, youwager, thrillzz, prizepicks, underdog, sleeper, dabble, parlayplay, pick6, kalshi, polymarket, polymarket_us, matchbook, smarkets, novig, prophetx, sxbet). Default returns all available.
include_book_idsNoWhen true, each outcome also carries book_outcome_id — the book's own selection id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / bookmakers / description
      Previous value: -"Comma-separated subset of book keys (e.g. 'draftkings,fanduel'). Default returns all available."New value: +"Comma-separated subset of book keys (bovada, draftkings, fanduel, pinnacle, betmgm, betrivers, unibet, betway, hardrock, fanatics, betus, betonlineag, lowvig, onexbet, tab_au, rebet, fliff, courtside, sportzino, heritage, jazzsports, youwager, thrillzz, prizepicks, underdog, sleeper, dabble, parlayplay, pick6, kalshi, polymarket, polymarket_us, matchbook, smarkets, novig, prophetx, sxbet). Default returns all available."
  2. Changed2 schema fields changed
    • addedInput schema / properties / include_book_ids
      Added value: +{
      +  "description": "When true, each outcome also carries book_outcome_id — the book's own selection id.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / since
      Added value: +{
      +  "description": "Measure movement from this moment instead of each line's first quote: ISO-8601 timestamp or a negative offset from now ('-6h', '-30m', '-2d'). Steam then covers only moves inside the window.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A3.6/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial context beyond them: steam is computed across all 37 books, an outcome whose book moved the line itself yields prob_shift=null and direction='line_moved' and is excluded from steam, and results are tier-gated ('Hobby+ full; free tier redacted'). With no output schema, disclosing these return-shape and edge-case behaviors is genuinely load-bearing.

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

Conciseness3/5

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

It is front-loaded correctly with what the tool does, but it is one dense paragraph that interleaves return fields, edge cases, tier gating, and a sales line ('No pull-only odds API can produce this') that does not earn its place. Informative but under-structured.

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 7-parameter, no-output-schema tool the description does the heavy lifting on return shape, steam semantics, and tier access, which is what an agent needs. It leaves minor gaps around sibling selection and any rate/volume limits on the tick history.

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 71%, so the schema already documents since, period, markets, bookmakers, and include_book_ids; only event_id and sport_key lack descriptions but are self-evident. The description's field notes (outcome_id, steam rows carrying team/open_point/latest_point) describe outputs rather than adding parameter meaning, so the baseline 3 holds.

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?

The description names a specific verb+resource (line movement and steam detection) and pins the data source (snapshot tick history), which is enough to separate it from generic odds siblings. It never explicitly contrasts itself with the closest neighbors (get_odds_history, get_odds_closing), so an agent still has to infer the boundary.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: no statement of when movement/steam is the right call versus get_odds_history or get_odds_closing, and no exclusions. The 'since' behavior is explained in the schema, not the description, so usage context is only implied by the marketing claim 'No pull-only odds API can produce this.'

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.