Skip to main content
Glama

Market odds

get_market_odds
Read-onlyIdempotent

Use for the extra betting markets of a game as history: both teams to score, draw no bet, double chance, and the 1st half result, total and goal handicap, for the Premier League, La Liga, Serie A, the Bundesliga, Ligue 1, MLS and the Champions League. Pass game_id (from get_schedule or list_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 for the larger sportsbooks only: both teams to score from May 2023, the other markets from August 2023 (later in some leagues); not every match 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
leagueNoLeague. Defaults to soccer. One of: soccer, mls, laliga, seriea, bundesliga, ligue1, ucl.
marketYesThe market: btts (both teams to score: Yes or No), draw_no_bet (draw no bet: home or away, a draw voids it), double_chance (double chance: two of home, draw and away (e.g. Arsenal or Draw)), h2h_h1 (1st half result: home, draw or away), totals_h1 (1st half total goals), spreads_h1 (1st half goal handicap)
game_idYesGame id from get_schedule or list_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?

Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses billing behavior (10 credits per call, refund when no lines exist), capture semantics (opening is first captured line, closing is last before start, minutes_before_start can be negative), and coverage limits by league and date. It also adds usage constraints about not computing stakes or recommending bets, which annotations alone do not convey.

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?

The description is front-loaded with purpose and usage, then moves into return shape, coverage limits, pricing and policy constraints. It is long but every sentence carries operational value; the main market list is slightly redundant with the schema enum, which keeps it from a 5.

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?

Even though an output schema exists, the description explains what the returned opening and closing lines contain (outcomes with point and American price, captured_at, minutes_before_start) and warns that opening and closing often match because most books were captured once. Combined with the pricing, coverage and policy notes, an agent has everything needed to call it correctly and interpret the result.

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 100%, so the schema already documents each parameter. The description still adds meaning by naming the sources for game_id and mapping market names to their concepts (e.g., draw no bet voids on a draw), and it explains the practical effect of estimate_only. Bookmaker semantics are left entirely to the schema, keeping this just short of a 5.

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 names the specific resource (extra betting markets as history) and enumerates the markets covered: both teams to score, draw no bet, double chance, and 1st half result/total/handicap. It explicitly distinguishes itself from get_odds, which handles full-game moneyline, spread and total, so an agent can route correctly 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?

It states when to use this tool (extra markets as history), where game_id comes from (get_schedule or list_games), and names the alternative for other markets (get_odds for full-game moneyline, spread and total). It also flags estimate_only for price checks and the 10-credit cost with refunds for games with no lines, giving the agent enough to decide whether to call.

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.