Skip to main content
Glama

Market odds

get_market_odds
Read-onlyIdempotent

Use for the extra betting markets of a game as history: the regulation result (three-way, a draw is possible), the 1st period result and puck line, and the 1st, 2nd and 3rd period totals. Pass game_id (from get_schedule or get_games) and market. For each sportsbook it returns the opening line (the first one we captured) and the closing line (the last one before the game started), each as the list of outcomes with their point and American price, plus captured_at and minutes_before_start (negative when the last capture came after our scheduled start, which the sportsbooks' listed start can run past). Most books were captured once, so opening and closing are often the same line. Held from May 2023 (the 2022-23 playoffs) for the larger sportsbooks only; not every game has every market. Costs 10 credits a call; a game with no lines is refunded. Set estimate_only to get the price without being charged. For the full-game moneyline, spread and total use get_odds. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

Input Schema

NameRequiredDescriptionDefault
marketYesThe market: h2h_3_way (regulation result: home, draw or away after 60 minutes), totals_p1 (1st period total goals), totals_p2 (2nd period total goals), totals_p3 (3rd period total goals), h2h_p1 (1st period result: home, draw or away), spreads_p1 (1st period puck line)
game_idYesGame id from get_schedule or get_games.
bookmakerNoOne bookmaker key, e.g. draftkings, fanduel, pinnacle.
estimate_onlyNoReturn what this call would cost, without charging or running it.

Output Schema

NameRequiredDescriptionDefault
noteNo
toolNo
booksYes
countYes
labelYes
marketYes
creditsNo
game_idYes
estimate_onlyNo
scheduled_startYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and non-destructive, but the description adds what they cannot: a 10-credit charge with refund on empty results, the historical coverage window, one-capture books making opening equal closing, and the meaning of a negative minutes_before_start. It also sets a policy boundary (no stake/payout math or bet recommendations), which is genuinely operational context.

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 purpose and the get_odds routing, then details; every clause carries information. It is on the long side and the return-shape detail (opening/closing, captured_at) is dense for a description, but nothing is filler.

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?

Despite an output schema existing, the description explains the return shape (opening/closing lines, outcome lists with point and American price) so the agent can reason about results without a schema fetch. Combined with cost, coverage caveats, and the sibling routing, an agent has everything needed to call this 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 description coverage is 100% and the market enum is fully documented in-schema, so the baseline is 3. The description still adds value by tying game_id to its upstream sources and framing market as 'the extra betting markets' beyond the full-game lines, but it adds nothing for bookmaker or estimate_only beyond what the schema says.

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?

Names a specific verb and resource ('extra betting markets of a game as history') and enumerates exactly which markets it covers: regulation three-way, 1st period result and puck line, and period totals. It explicitly distinguishes itself from get_odds ('For the full-game moneyline, spread and total use get_odds'), so an agent can route without opening either 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?

States when to use it versus the named alternative (get_odds), where to source game_id (get_schedule or get_games), and how to probe cost via estimate_only. It also sets exclusions up front: history starts May 2023, larger sportsbooks only, and 'not every game has every market.'

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.