Skip to main content
Glama

FastballAPI

Market odds

get_market_odds
Read-onlyIdempotent

Use for the extra betting markets of a game as history: the first 5 innings winner, run line and total, and the 1st inning total and three-way result (the 1st inning total at 0.5 is the no-run-first-inning market). Pass game_id (from get_games or get_schedule) 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 for the larger sportsbooks only (the 1st inning three-way result from October 2023); 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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "game_id": "<game_id>",
      "market": "<market>"
    },
    "name": "get_market_odds"
  }
}

Input Schema

NameRequiredDescriptionDefault
marketYesThe market: h2h_1st_5_innings (first 5 innings winner), totals_1st_5_innings (first 5 innings total runs), spreads_1st_5_innings (first 5 innings run line), totals_1st_1_innings (1st inning total runs (the 0.5 line is no run / a run in the 1st)), h2h_3_way_1st_1_innings (1st inning result: home, tied or away)
game_idYesGame id from get_games or get_schedule.
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.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: a 10-credit per-call cost with refund when a game has no lines, estimate_only to preview price without being charged, historical coverage windows (May 2023 / October 2023, larger books only), the fact that most books were captured once so opening and closing are often identical, that not every game has every market, and the semantic of negative minutes_before_start. It also states a hard usage restriction against computing stakes/payouts or recommending bets.

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 market scope, then parameters, then return shape, then coverage windows, cost, and the sibling alternative. Nearly every sentence earns its place, but the whole thing is delivered as one dense block, and clauses like the aside on sportsbook-listed start times add length without changing agent behavior.

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 high-complexity, credit-charging, historically bounded odds tool, the description covers cost and refund behavior, coverage windows, sparsity of markets, capture semantics for opening/closing lines, the low-cost estimate path, the correct sibling for full-game markets, and the compliance restriction on betting advice. With an output schema present it does not need to explain return values in detail, and what it does say is sufficient.

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 coverage is 100%, so game_id, market enum values, bookmaker and estimate_only are all already documented in structured form, and the description largely restates them ('Pass game_id... and market', 'Set estimate_only to get the price without being charged'). It adds only marginal semantic value, such as clarifying the 0.5 total as the no-run-first-inning market, which the enum description also covers. Baseline 3 is appropriate when the schema carries the parameter burden.

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 and resource ('Use for the extra betting markets of a game as history') and enumerates exactly which markets it covers (first 5 innings winner, run line, total, 1st inning total and three-way result). It then explicitly contrasts with the sibling that handles full-game markets: 'For the full-game moneyline, spread and total use get_odds.' An agent can distinguish it from get_odds 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?

Gives explicit entry conditions ('Pass game_id (from get_games or get_schedule) and market'), names the alternative tool and the condition that selects it ('For the full-game moneyline, spread and total use get_odds'), and describes the estimate_only path for pricing a call before paying. Nothing about when to choose this versus siblings is left to inference.

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.