Skip to main content
Glama

PropLine — Sports Betting Odds & Prop Resolution

Server Details

Live odds, cross-book +EV and graded player-prop results across 21 books. Hosted endpoint included.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
proplineapi/propline-mcp
GitHub Stars
1
Server Listing
PropLine

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

21 tools
propline_export_odds_historyExport odds history
Read-onlyIdempotent
Inspect

Backfill-pass / Enterprise only. Bulk line-movement tick history as CSV — every recorded odds snapshot (price + line, per book, including period markets) across a whole sport, one row per (outcome, snapshot). This is the raw firehose no subscription tier can bulk-pull (Pro/Streaming use propline_get_odds_history per event instead). REQUIRES a since/until window to keep the pull bounded — the full archive runs to gigabytes per sport. The result is capped to the first 200 rows for context safety; for the full dataset use the /v1/exports/odds-history endpoint directly with curl/SDK and stream to disk. Non-entitled keys get a 403 with an upgrade pointer.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceYesISO datetime lower bound on recorded_at (required, e.g. 2026-04-01T00:00:00Z). Keep the window narrow.
untilYesISO datetime upper bound on recorded_at (required, e.g. 2026-05-01T00:00:00Z).
marketNoOptional market key filter
bookmakerNoOptional bookmaker filter
sport_keyYesSport key, e.g. baseball_mlb
propline_get_best_lineGet best line
Read-onlyIdempotent
Inspect

Cross-book line shopping (Hobby+ for prices; free tier gets the full structure with book identities + best-first ranking but prices nulled and redacted:true). For every (market, player, line) tuple on an event, returns the single best American price across all comparable books, plus an all_prices array sorted best-first (one row per book, each with last_update). Companion to propline_get_event_ev: /ev says whether a price beats the no-vig fair line; best-line says which book pays the most. DFS pick'em books (PrizePicks, Sleeper, Dabble) are excluded; Underdog only at clean two-way lines. Optional bookmakers filter to shop only the books the user holds accounts at.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketsNoComma-separated market keys (e.g. 'pitcher_strikeouts,h2h').
event_idYes
sport_keyYes
bookmakersNoComma-separated book keys (e.g. 'draftkings,fanduel') to shop only those books.
include_linksNoWhen true, every price row carries a link — that book's public event-page URL, the click-out for 'go bet this'. Books without a verified URL template return null.
propline_get_dfs_payoutsGet DFS payouts
Read-onlyIdempotent
Inspect

Free-tier reference math. Returns the PrizePicks Power Play (all legs must hit) and Flex Play (partial payouts) entry payout schedule for 2-6 legs, plus the per-leg breakeven win probability for each play. Pass leg_win_prob (e.g. 0.58) to also get expected_return (per $1) and is_plus_ev per play — the slip-level breakeven. Useful for: 'what hit rate do I need to beat a 4-pick PrizePicks Power play', 'is a 3-leg flex +EV at 60% per leg'. NOTE: standard published payouts only — demon/goblin per-pick modifiers aren't in PrizePicks's feed (see the disclaimer field); breakeven assumes independent legs.

ParametersJSON Schema
NameRequiredDescriptionDefault
leg_win_probNoOptional assumed per-leg win probability in [0,1]. Adds expected_return + is_plus_ev to each play.
propline_get_event_contextGet event context
Read-onlyIdempotent
Inspect

Game context for an event — the conditions a prop settles under. MLB: probable starting pitchers and their throwing hand (L/R/S — platoon-split context for every batter prop), a confirmed-lineup flag, the home-plate umpire, and first-pitch weather (temperature, wind, precipitation) at outdoor / open-roof venues (indoor venues return weather=null). NFL & NCAAF: the venue and kickoff weather. The same block is embedded in get_event_results, so every graded prop carries its conditions — unique to PropLine. Free tier. 404 when no context is on file for the event yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYes
sport_keyYes
propline_get_event_evGet cross-book +EV
Read-onlyIdempotent
Inspect

Pro-tier endpoint. Returns cross-book +EV per outcome for an event. We anchor on a sharp book, remove vig, derive a no-vig fair line, and compute EV% per book at the same line. Outcomes are sorted with +EV plays floated to the top of each line group. PrizePicks is excluded from EV math (DFS payouts aren't comparable to per-book prices). The anchor is chosen PER LINE in the order pinnacle → polymarket → kalshi → bovada, and each line's fair_source names the one used — report the anchor from fair_source per line, never assume Pinnacle anchored all of them. Optional bookmakers filter prices to the books the user holds accounts at; it never changes the anchor, so filtering to DraftKings still measures DraftKings against Pinnacle.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketsNo
event_idYes
sport_keyYes
bookmakersNoComma-separated book keys (e.g. 'draftkings,fanduel') to price only the user's books. Narrows prices, not the anchor.
min_ev_pctNoFilter to outcomes with EV ≥ this percent (e.g. 2.0).
propline_get_event_movementGet line movement & steam
Read-onlyIdempotent
Inspect

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 16 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. Hobby+ full; free tier redacted.

ParametersJSON Schema
NameRequiredDescriptionDefault
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 (e.g. 'draftkings,fanduel'). Default returns all available.
propline_get_event_resultsGet graded prop results
Read-onlyIdempotent
Inspect

Pro-tier endpoint. Returns graded prop outcomes for a completed event — every Over/Under marked won, lost, push, or void with the actual stat value next to the line. The single most distinctive feature vs the-odds-api: they don't grade props at any tier. Free tier returns the same structure with resolution and actual_value redacted plus an upgrade pointer.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYes
sport_keyYes
propline_get_event_statsGet event stats
Read-onlyIdempotent
Inspect

Book-agnostic raw box-score stats for an event. Returns per-player stats (e.g. strikeouts, hits, points, rebounds, shots-on-goal) decoupled from any sportsbook's lines. LIVE during games for major US sports (MLB + WNBA now; NFL, NCAAF, NBA, NHL at season start): while the event's status is in_progress, stats refresh ~every 90 seconds with cumulative in-game values — use this to answer 'how is this prop tracking right now'. Treat in-progress numbers as partial; at status=final they are the official box score. Other sports populate stats at game completion. Free tier.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYes
sport_keyYes
propline_get_futuresGet futures
Read-onlyIdempotent
Inspect

Free-tier endpoint. Returns season-long futures (outright) markets for a sport — championship/Super Bowl/division/conference winners, MVP and award winners, season win totals — aggregated across Bovada, FanDuel, DraftKings, and Pinnacle. One row per (futures event, book, market) with each team/player outcome and its price. Marquee markets (Super Bowl winner, MVP, division/conference) are quoted by multiple books for comparison; exotic markets are often single-book. Useful for: 'who are the Super Bowl favorites across books', 'NFL MVP odds', 'NBA championship futures'. Futures are unresolved (no settlement grade).

ParametersJSON Schema
NameRequiredDescriptionDefault
sport_keyYesSport key — e.g. football_nfl, basketball_nba, baseball_mlb.
propline_get_mlb_grand_salamiGet MLB Grand Salami
Read-onlyIdempotent
Inspect

Free-tier endpoint. Returns the synthetic daily MLB Grand Salami for a given UTC date — total runs scored across every MLB game on the slate plus each book's implied Grand Salami line (median of per-game primary totals across our MLB books incl. Pinnacle, Polymarket, Matchbook, Smarkets). No retail sportsbook quotes this as a single market. Useful for: 'what's the total run line for tonight's full MLB slate', 'did the Grand Salami go over yesterday', 'historical Grand Salami results for backtesting'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD UTC date. Defaults to today (UTC) when omitted.
propline_get_nhl_daily_goals_totalGet NHL daily goals total
Read-onlyIdempotent
Inspect

Free-tier endpoint. Returns the synthetic daily NHL goals total (hockey's equivalent of the MLB Grand Salami) for a given UTC date — total goals scored across every NHL game on the slate (including OT/SO) plus each book's implied Daily Goals Total line (median of per-game primary totals across our NHL books). No retail sportsbook quotes this as a single market. Useful for: 'what's the total goal line for tonight's full NHL slate', 'did the Daily Goals Total go over yesterday', 'historical NHL daily-goals results for backtesting'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD UTC date. Defaults to today (UTC) when omitted.
propline_get_oddsGet odds
Read-onlyIdempotent
Inspect

Get live odds. If event_id is supplied, returns full per-event props for that event; otherwise returns bulk game-line odds for the whole sport. Pass markets as a comma-separated list (e.g. 'h2h,spreads,totals' or 'player_points,player_rebounds'). Response includes a bookmakers[] array across every book that carries the requested markets (currently up to 13: Bovada, DraftKings, FanDuel, Pinnacle, BetMGM, BetRivers, Unibet, Underdog, PrizePicks, Kalshi, Polymarket, Matchbook, Smarkets — coverage varies by sport). Underdog Fantasy outcomes carry a payout_multiplier on EVERY outcome (1.0 = standard pick, e.g. 1.5 = boost, 0.75 = discount; null means the book is not Underdog) — keep only payout_multiplier == 1.0 when comparing DFS lines to sportsbook consensus, since filtering on non-null would drop every Underdog line. Each market carries suspended_at: null while on the board, set when that book pulled the market pregame (late scratch, dropped market type) — its outcomes are then the last quoted legs, not a live price. Treat a suspended market as unbettable and, if several books show it for one player, as a probable scratch.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoGame-period filter. Omitted = full-game markets only. Canonical codes: q1..q4 (quarters), h1/h2 (halves), p1..p3 (hockey periods), i1..i9 (innings), f3/f5/f7 (first N innings). Comma-separated for multiple. 'all' = include every period alongside full-game.
marketsNoComma-separated market keys. Defaults to h2h on bulk; h2h,spreads,totals on event. Pass an explicit list to fetch player props (sport-specific — e.g. player_points,player_rebounds for NBA; pitcher_strikeouts,batter_home_runs for MLB).
event_idNoOptional. If set, returns props for this event.
sport_keyYes
bookmakersNoComma-separated subset of book keys (bovada, draftkings, fanduel, pinnacle, betmgm, betrivers, unibet, underdog, prizepicks, kalshi, polymarket, matchbook, smarkets). Default returns all available.
include_linksNoWhen true, each bookmaker block carries a link — that book's public event-page URL for click-out (Bovada/DraftKings/FanDuel/BetMGM/Kalshi/Polymarket/Smarkets; others null). Plain navigation, no affiliate tagging.
include_book_idsNoWhen true, each bookmaker block carries book_event_id and each outcome carries book_outcome_id — that book's OWN ids for the event and the priced selection, for joining onto a book's native feed by id instead of matching team/player names and lines. Kalshi ships both (event ticker + per-contract market ticker, e.g. KXMLBGAME-26AUG08NYYBOS-NYY); most other books ship an event id; books without a stable id return null. NB a two-sided market can share ONE book_outcome_id across both legs — a Kalshi contract is binary, so Over/Under are its YES/NO sides; the outcome's name says which side.
propline_get_odds_closingGet opening & closing lines
Read-onlyIdempotent
Inspect

Hobby+ endpoint. Returns the OPENING and CLOSING line per (book, market, outcome) for an event. Closing = the last snapshot at or before commence_time (price/point/closing_at); opening = the first snapshot in the same 14-day pre-kickoff window (opening_price/opening_point/opening_at). Canonical CLV-tracking helper; one call returns both data points your bet should be measured against, instead of fetching full history and post-processing. Compare the POINTS as well as the prices — on spreads and totals the number moves as much as the price, so a price-only comparison mis-measures those markets. opening_age_seconds says how long before kickoff the opener was recorded: the archive starts 2026-04, so a small value means PropLine started polling late and this is not the book's true open. Free tier returns redacted structure with upgrade pointer.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoGame-period filter. Omitted = full-game markets only. Canonical codes (q1..q4, h1/h2, p1..p3, i1..i9, f3/f5/f7), comma-separated, or 'all'.
marketsNo
event_idYes
sport_keyYes
bookmakersNoComma-separated subset of book keys (e.g. 'draftkings,fanduel'). Default returns all available.
propline_get_odds_historyGet odds history
Read-onlyIdempotent
Inspect

Hobby+ endpoint. Returns the historical line-movement snapshot series for an event (every recorded price/point change per outcome over the event's lifetime). Free tier returns market structure with redacted snapshots and an upgrade pointer. Supports period-historical filters: from/to (absolute ISO), relative_from/relative_to (offsets to commence_time like '-3h' or '0'), interval downsample ('30s'/'1m'/'5m'/'15m'/'30m'/'1h'), and changes_only=true to drop unchanged adjacent snapshots.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoISO timestamp; only include snapshots at or before. Mutually exclusive with relative_to.
fromNoISO timestamp; only include snapshots at or after. Mutually exclusive with relative_from.
periodNoGame-period filter. Omitted = full-game markets only. Canonical codes (q1..q4, h1/h2, p1..p3, i1..i9, f3/f5/f7), comma-separated, or 'all'.
marketsNo
event_idYes
intervalNoDownsample bucket. Latest snapshot per bucket wins.
sport_keyYes
bookmakersNoComma-separated subset of book keys (e.g. 'draftkings,fanduel'). Default returns all available.
relative_toNoOffset to commence_time, e.g. '-1m' or '0'. Mutually exclusive with to.
changes_onlyNoWhen true, drop snapshots whose (price, point) match the previous one.
relative_fromNoOffset to commence_time, e.g. '-3h', '-30m', '-90s'. Mutually exclusive with from.
propline_get_player_historyGet player prop history
Read-onlyIdempotent
Inspect

Player prop history across recent games. Returns each prior prop this player took with line, prices, resolution, and actual value. Pro tier returns full data; free tier returns redacted resolution/actual_value with an upgrade pointer.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of past games (default 20, max 100)
marketsNoComma-separated subset of markets (e.g. 'player_points,player_rebounds')
sport_keyYes
player_nameYesPlayer name as it appears in box scores — e.g. 'Aaron Judge', 'Nikola Jokic'
propline_get_resolution_summaryGet resolution summary
Read-onlyIdempotent
Inspect

Free-tier endpoint. Returns the factual volume of player props PropLine has graded against real box scores over the last N days (aggregated counts only): total graded/settled, games, sports covered, plus per-sport and top-market breakdowns. Useful for: 'how much graded prop data does PropLine have, what's the coverage'. A coverage proof, never a profitability claim.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLook-back window, 1-90. Defaults to 30.
propline_get_scoresGet scores
Read-onlyIdempotent
Inspect

Free-tier endpoint. Returns recent and live game scores plus status (scheduled, live, final) for a sport. Useful for: 'is this game over yet, what was the final score'.

ParametersJSON Schema
NameRequiredDescriptionDefault
days_fromNoHow many past days of completed games to include. Defaults to 1.
sport_keyYes
propline_list_event_marketsList event markets
Read-onlyIdempotent
Inspect

List the market types available for a specific event (e.g. h2h, spreads, totals, player_points, pitcher_strikeouts). Useful when you don't know which prop markets a given event carries.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYes
sport_keyYes
propline_list_eventsList events
Read-onlyIdempotent
Inspect

List upcoming events for a sport. Returns each event's id, home_team, away_team, commence_time. Use the returned event_id to drill into per-event odds, props, +EV, or results.

ParametersJSON Schema
NameRequiredDescriptionDefault
liveNoIf true, only return in-progress (live) events. Defaults to false.
sport_keyYesSport key from propline_list_sports — e.g. baseball_mlb, basketball_nba
propline_list_sportsList sports
Read-onlyIdempotent
Inspect

List all sports PropLine currently polls. Returns sport keys (e.g. baseball_mlb, basketball_nba, soccer_epl) along with human titles and active status. Use this first to discover what sport_key values are valid for the other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Props-first sports odds API with a hosted MCP server. Live odds and player props (moneyline, spreads, totals) across US sportsbooks, normalized to JSON. Tools: get_odds, get_props, get_events, get_books. API-key auth, free tier.
    MIT No Attribution
  • A
    license
    A
    quality
    B
    maintenance
    Live sports betting player props MCP server covering NBA, MLB, NFL, NHL, NCAA, and soccer. Unified from real sportsbooks into one REST API and a real MCP server (Streamable HTTP). Free tier, no card required.
    5
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP-compatible server that gives AI agents access to alternative sports data across 30+ leagues — odds, events, probabilities, settlement, and futures for prediction markets, DFS platforms, and sportsbooks.
    29
    15
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to access sports betting odds data from 265+ bookmakers across 34 sports, including events, odds, historical data, arbitrage, and value bets.
    22
    95
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.