Skip to main content
Glama

Player props

get_player_props
Read-onlyIdempotent

Use for player prop lines by sportsbook: over/under on passing yards, passing TDs, rushing yards, receiving yards and receptions, plus anytime TD, from the 2023 season (7 books: DraftKings, FanDuel, BetMGM, ESPN BET, Pinnacle, Bovada, BetOnline). Pass game_id for every player's props in one game, or player_id with season for one player across a season. A game costs 10 credits before kickoff and 20 once it has kicked off (accounts opened before October 30 2026 pay 10 for every game). Returns the closing line by default (the last before kickoff) or the opening line. Set estimate_only to get the price without being charged. 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
marketNoOne market: player_pass_yds (passing yards), player_pass_tds (passing touchdowns), player_pass_completions (pass completions), player_pass_attempts (pass attempts), player_pass_interceptions (interceptions thrown), player_rush_yds (rushing yards), player_rush_attempts (rush attempts), player_reception_yds (receiving yards), player_receptions (receptions), player_anytime_td (anytime touchdown (over = scores)), player_tds_over (touchdowns scored), player_1st_td (first touchdown scorer (over = scores the game's first touchdown)), player_pass_longest_completion (longest completion), player_rush_longest (longest rush), player_reception_longest (longest reception)
seasonNoSeason year, with player_id.
game_idNoGame id, e.g. 2025_01_KC_LAC.
bookmakerNoBookmaker key, e.g. draftkings, fanduel, pinnacle.
player_idNoGSIS player id (00-00XXXXX) from search_players. With season: that player's props across the season.
estimate_onlyNoReturn what this call would cost, without charging or running it.
snapshot_typeNoclosing (default): the last line before kickoff. opening: the first one captured.

Output Schema

NameRequiredDescriptionDefault
noteNo
toolNo
countNo
gamesNo
propsNo
creditsNo
estimate_onlyNo
snapshot_typeNo
credits_per_gameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / market / description
      Previous value: -"One market: player_pass_yds (passing yards), player_pass_tds (passing touchdowns), player_pass_completions (pass completions), player_pass_attempts (pass attempts), player_pass_interceptions (interceptions thrown), player_rush_yds (rushing yards), player_rush_attempts (rush attempts), player_reception_yds (receiving yards), player_receptions (receptions), player_anytime_td (anytime touchdown (over = scores))"New value: +"One market: player_pass_yds (passing yards), player_pass_tds (passing touchdowns), player_pass_completions (pass completions), player_pass_attempts (pass attempts), player_pass_interceptions (interceptions thrown), player_rush_yds (rushing yards), player_rush_attempts (rush attempts), player_reception_yds (receiving yards), player_receptions (receptions), player_anytime_td (anytime touchdown (over = scores)), player_tds_over (touchdowns scored), player_1st_td (first touchdown scorer (over = scores the game's first touchdown)), player_pass_longest_completion (longest completion), player_rush_longest (longest rush), player_reception_longest (longest reception)"
    • changedInput schema / properties / market / enum
      Previous value: -[
      -  "player_pass_yds",
      -  "player_pass_tds",
      -  "player_pass_completions",
      -  "player_pass_attempts",
      -  "player_pass_interceptions",
      -  "player_rush_yds",
      -  "player_rush_attempts",
      -  "player_reception_yds",
      -  "player_receptions",
      -  "player_anytime_td"
      -]New value: +[
      +  "player_pass_yds",
      +  "player_pass_tds",
      +  "player_pass_completions",
      +  "player_pass_attempts",
      +  "player_pass_interceptions",
      +  "player_rush_yds",
      +  "player_rush_attempts",
      +  "player_reception_yds",
      +  "player_receptions",
      +  "player_anytime_td",
      +  "player_tds_over",
      +  "player_1st_td",
      +  "player_pass_longest_completion",
      +  "player_rush_longest",
      +  "player_reception_longest"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / props / items / properties / minutes_before_scheduled_start
      Added value: +{
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / props / items / properties / scheduled_start
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / market / description
      Previous value: -"One market: player_pass_yds (passing yards), player_pass_tds (passing touchdowns), player_rush_yds (rushing yards), player_reception_yds (receiving yards), player_receptions (receptions), player_anytime_td (anytime touchdown (over = scores))"New value: +"One market: player_pass_yds (passing yards), player_pass_tds (passing touchdowns), player_pass_completions (pass completions), player_pass_attempts (pass attempts), player_pass_interceptions (interceptions thrown), player_rush_yds (rushing yards), player_rush_attempts (rush attempts), player_reception_yds (receiving yards), player_receptions (receptions), player_anytime_td (anytime touchdown (over = scores))"
    • changedInput schema / properties / market / enum
      Previous value: -[
      -  "player_pass_yds",
      -  "player_pass_tds",
      -  "player_rush_yds",
      -  "player_reception_yds",
      -  "player_receptions",
      -  "player_anytime_td"
      -]New value: +[
      +  "player_pass_yds",
      +  "player_pass_tds",
      +  "player_pass_completions",
      +  "player_pass_attempts",
      +  "player_pass_interceptions",
      +  "player_rush_yds",
      +  "player_rush_attempts",
      +  "player_reception_yds",
      +  "player_receptions",
      +  "player_anytime_td"
      +]
  4. Changed1 schema field changed
    • addedOutput schema / properties / props / items / properties / source
      Added value: +{
      +  "type": "string"
      +}
  5. Added

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses credit costs, pre/post-kickoff pricing, legacy account pricing, default closing-line behavior, estimate_only billing behavior, and market-information usage restrictions. This is substantial behavioral context for an agent.

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?

The description is front-loaded with purpose and then packs cost, query patterns, defaults, and compliance constraints into a compact paragraph. Every sentence carries operational value for invoking the tool correctly.

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?

With annotations, a full input schema, and an output schema, the description supplies the remaining operational context: cost model, default line type, estimate mode, query combinations, and usage restrictions. Nothing critical for correct invocation is missing.

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 baseline is 3, but the description adds useful combination semantics for game_id versus player_id with season, clarifies the default snapshot_type, and explains estimate_only's billing effect. It does not add much for bookmaker or market beyond the schema.

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 states a specific resource and scope: player prop lines by sportsbook, with named markets and books. It is clearly about player props, but it does not explicitly distinguish itself from siblings like get_prop_history or get_market_odds.

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

Usage Guidelines4/5

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

It gives clear query patterns: use game_id for all props in one game, or player_id with season for one player across a season. It also explains the default closing line and estimate_only, but does not state when to prefer alternatives or when not to use this tool.

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.