PropLine — Sports Betting Odds & Prop Resolution
Live odds, cross-book +EV and graded player-prop results across 37 books.
Connector by proplineapi · GitHub account verified by the MCP Registry
Install
Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/proplineapi-propline-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://mcp.prop-line.com/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.
- Tools
- 35 read · 1 write · 0 delete
- Secrets
- 2 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 36
From the running server's own tool list (tools/list) on Oct 25, 2026.
Read 35 · Look things up without changing anything.
propline_export_odds_historypropline_get_best_linepropline_get_book_accuracypropline_get_dfs_payoutspropline_get_event_contextpropline_get_event_evpropline_get_event_idspropline_get_event_movementpropline_get_event_projectionspropline_get_event_resultspropline_get_event_statspropline_get_futures
Show 23 more tools
propline_get_golf_roundspropline_get_golf_tournamentspropline_get_injuriespropline_get_injury_historypropline_get_mlb_grand_salamipropline_get_nhl_daily_goals_totalpropline_get_oddspropline_get_odds_closingpropline_get_odds_historypropline_get_player_gamespropline_get_player_historypropline_get_player_trendspropline_get_resolution_summarypropline_get_scorespropline_get_webhook_deliveriespropline_grade_clvpropline_list_event_marketspropline_list_eventspropline_list_sportspropline_list_webhookspropline_price_sgppropline_replay_webhook_eventspropline_search_players
Write 1 · Create, change, send or run things.
propline_create_free_api_key
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
AuthorizationPROPLINE_API_KEY
Other settings (environment variables or headers).
PROPLINE_BASE_URL
Network hosts it talks to 5
api.prop-line.com· found in codegithub.com· found in codeglama.ai· found in codemcp.prop-line.com· found in remote endpoint, install command, codeprop-line.com· found in code
Tools (36)
As the server listed them on Oct 25, 2026. Descriptions are the server’s own words; hidden characters are shown as [U+…].
propline_create_free_api_keyCreate a free PropLine API keyCreate a free personal PropLine API key for the user and EMAIL it to them. Use this when the user wants their own key — e.g. they hit a shared-demo-key rate limit, a paid field came back redacted, or they ask how to get a key. Only call it with an email address the user explicitly gave you for this purpose in this conversation; never guess, reuse one from elsewhere, or sign up a third party. The key is never returned here — it goes to that inbox, with instructions to reconnect this assistant using it. Free tier: 1,000 requests/day, no card. If the address already has a key, the key is re-sent …
propline_export_odds_historyExport odds historyread-onlyBackfill-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 …
propline_get_best_lineGet best lineread-onlyCross-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, ParlayPlay, DraftKings Pick6) are excluded; Underdog only…
propline_get_book_accuracyGet sportsbook accuracy reportread-onlyFree-tier endpoint. How well each sportsbook prices player props: each book's closing prop prices are de-vigged and scored (Brier) against the real result and against the other books on the same line. Per book: props scored, brier, consensus_brier, skill_bp (> 0 = closer to the result than the market average) with a 95% interval, verdict (beats_market / trails_market / in_line) and margin_pct (average overround), plus by_sport and by_market breakdowns. Useful for: 'which book prices props most accurately', 'which book has the lowest margin'. A pricing report, never a profit claim or betting ed…
propline_get_dfs_payoutsGet DFS payoutsread-onlyFree-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 l…
propline_get_event_contextGet event contextread-onlyGame 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.
propline_get_event_evGet cross-book +EVread-onlyPro-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 → smarkets, 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 p…
propline_get_event_idsGet event id crosswalkread-onlyFree-tier endpoint. Id crosswalk for one sport: one object per event from 3 days ago to 30 days ahead with PropLine's event id, commence_time, teams (+ team keys/ids), espn_event_id, mlb_game_pk, merged_from_event_ids, and each sportsbook's own event id + link under books. Useful for: 'join PropLine events onto ESPN / the MLB Stats API / a sportsbook's own feed', 'what is DraftKings' id for this game'.
propline_get_event_movementGet line movement & steamread-onlyLine 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 37 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. Each outcome carries outcome_id (the id /odds and webhooks use); steam rows carry team (team…
propline_get_event_projectionsGet market-implied projectionsread-onlyMarket-implied consensus projection per (market, player) for an event: the line where the no-vig P(over) crosses 50%, median across contributing sportsbooks. Use it to validate statistical or fantasy projections against the live market. These are MARKET-IMPLIED values derived purely from sportsbook prices — never a forecast, and no accuracy claim is made; present them as 'the market implies X', not 'PropLine projects X'. DFS pick'em pricing is excluded; each row carries books_contributing and a stable player_id (null until the player has graded). Hobby+ for values; free tier gets the structure…
propline_get_event_resultsGet graded prop resultsread-onlyPro-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.
propline_get_event_statsGet event statsread-onlyBook-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.
propline_get_futuresGet futuresread-onlyFree-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, Pinnacle, and Kalshi. 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 unres…
propline_get_golf_roundsGet a golfer's round historyread-onlyFree-tier endpoint. A golfer's completed rounds, newest first, with strokes, score to par and hole counts (eagles, birdies, pars, bogeys, doubles), plus last-5/10/20 averages. Every player in the field, back to 2024; a round in progress is never included. Filter by tour (pga, dp_world, liv, lpga, korn_ferry, champions). Hole counts are null on DP World, LPGA and some LIV rounds. Useful for: 'Scheffler's last 10 rounds', 'how has Bryson scored on LIV lately'.
propline_get_golf_tournamentsList golf tournaments with round dataread-onlyFree-tier endpoint. Golf tournaments we hold round data for, newest first, with player and round counts. Filter by tour (pga, dp_world, liv, lpga, korn_ferry, champions) and season.
Show 21 more tools
propline_get_injuriesGet a sport's injury reportread-onlyFree-tier endpoint. The current injury report for NFL, NCAAF, NBA, WNBA, NHL or MLB: each listed player with status (Out, Questionable, Day-To-Day, 15-Day-IL...), status_code, injury, expected return and status_since (when the current status began). Source: ESPN, every 10 minutes. Useful for: 'who is out for the Chiefs', 'which NBA players are questionable tonight' — check it before trusting a player prop.
propline_get_injury_historyGet injury status changesread-onlyFree-tier endpoint. Every injury status change in a sport over the last 1-90 days, newest first: old_status -> new_status with the time we saw it (new_status null = came off the report). History starts 2026-10-18. Pair with odds history to see how lines moved on a ruling.
propline_get_mlb_grand_salamiGet MLB Grand Salamiread-onlyFree-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'.
propline_get_nhl_daily_goals_totalGet NHL daily goals totalread-onlyFree-tier endpoint. Returns the synthetic daily NHL goals total (hockey's equivalent of the MLB Grand Salami) for a given US Eastern 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'.
propline_get_oddsGet oddsread-onlyGet 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 37 — sportsbooks: Bovada, DraftKings, FanDuel, Pinnacle, BetMGM, BetRivers, Unibet, Betway, Hard Rock Bet, Fanatics, BetUS, BetOnline.ag, LowVig.ag, 1xBet, TAB AU, ReBet, Fliff, Courtside, Sportzino, Heritage Sports, Jazz Sports, YouWager, Thri…
propline_get_odds_closingGet opening & closing linesread-onlyHobby+ 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 PropLine holds for the outcome, however far before kickoff the book posted it (opening_price/opening_point/opening_at); pass opening_window to limit that lookback. 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 numbe…
propline_get_odds_historyGet odds historyread-onlyHobby+ 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.
propline_get_player_gamesGet player game log / H2Hread-onlyA player's recent games with every raw box-score stat per game — one call instead of one request per event. Use this to answer 'how has X actually performed lately?' and to build L5/L10/L20, season splits and head-to-head yourself. Pass `opponent` for H2H (accepts a full name, nickname or abbreviation — 'Boston Red Sox', 'Red Sox', 'BOS'); the limit applies AFTER that filter, so opponent + limit=10 means the last 10 MEETINGS, not the Boston games among the last 10 games. H2H is not capped to the current season. IMPORTANT: this is the raw box-score archive, NOT graded-prop history — it covers e…
propline_get_player_historyGet player prop historyread-onlyPlayer prop history across recent games for one market. Returns each prior prop this player took with line, prices, resolution, actual value, is_main_line (the book's main line vs an alt-ladder rung) and line_moved_in_play. Pass main_line_only=true to drop alt rungs. Pro tier returns full data; free tier returns redacted resolution/actual_value with an upgrade pointer.
propline_get_player_trendsGet player trendsread-onlyHit-rate trends / last-N-games over rate for a player — unique to PropLine's prop-resolution data. For each market the player has graded history in, returns over/under/push splits across the last 5/10/20/50 graded games, current streak, average actual stat, and the recent line. This is the 'did X go over in N of his last M games?' surface. Omit `market` for all markets, or pass one to scope (e.g. 'player_points', 'batter_hits').
propline_get_resolution_summaryGet resolution summaryread-onlyFree-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.
propline_get_scoresGet scoresread-onlyFree-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'.
propline_get_webhook_deliveriesGet webhook deliveriesread-onlyRecent delivery attempts for one webhook (Streaming Lite tier and up), newest first — the debugging surface for 'why isn't my webhook firing'. Each row: status (pending/success/failed), HTTP response_code, attempts, delivered_at and the payload that was sent. A pending row with attempts > 0 is mid-retry-backoff; status 'failed' with response_code null means the endpoint was unreachable or timed out (8s). Page backwards through a deep queue with before_id = the smallest id on the previous page; a page shorter than limit is the last one.
propline_grade_clvGrade bets against the close (CLV)read-onlyHobby+ endpoint. Grades PLACED bets against their closing lines. Closing line value is the only durable proxy for whether a bettor has edge: did the price they took beat the number the market settled on? Send the bets and each comes back with its closing price, the de-vigged closing fair probability, CLV, and — once the game settles — the graded resolution and actual stat value, plus a portfolio summary. Stateless: nothing is stored. TWO CLV numbers are returned deliberately. clv_pct is price-vs-price: familiar and quotable, but VIG-BLIND, so it flatters a bet taken on the juicy side of a wide…
propline_list_event_marketsList event marketsread-onlyList 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.
propline_list_eventsList eventsread-onlyList 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.
propline_list_sportsList sportsread-onlyList 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.
propline_list_webhooksList webhooksread-onlyList the API key's webhook subscriptions (Streaming Lite tier and up; other tiers get a 403 with an upgrade URL). Read-only: signing secrets are always masked, and this server deliberately has no create/update/delete tools — manage subscriptions via the REST API or SDKs. Each row shows url, subscribed events (line_movement, resolution, steam, market_suspended, ev), filters (incl. min_ev_pct / max_ev_pct / ev_fair_source for ev events) and active status. Use this first to find the webhook id for propline_get_webhook_deliveries.
propline_price_sgpPrice a same-game parlay at the book's own oddsread-onlyHobby+ endpoint. Prices a same-game parlay at the BOOK'S OWN correlated odds — the price a FanDuel customer would be offered for that exact slip right now, not a model of it. bookmaker is fanduel (default, its own pricer), draftkings (its SGP widget's pricer), betonlineag / lowvig (the Sportcast engine both share, same builder price), or 'all' to quote every book on the same legs in one call — then the response is {quotes, errors, best_bookmaker}, and best_bookmaker is the book charging the smallest correlation reduction (use 'all' whenever the user asks which book to bet an SGP at). Send 2-10…
propline_replay_webhook_eventsReplay missed webhook eventsread-onlyRe-read a webhook subscription's events in order from a cursor — answers 'my endpoint was down, what did I miss?'. Every delivery carries an X-PropLine-Sequence header, a counter monotonic WITHIN one subscription; pass the highest one the user processed as since_seq. Do NOT use the delivery id as the cursor: that id is global across all subscriptions, so gaps in it are other customers' traffic and mean nothing. Events come back OLDEST FIRST (the opposite of propline_get_webhook_deliveries, which is a newest-first debugging log). Page by passing next_seq back as since_seq while has_more is true…
propline_search_playersSearch playersread-onlyFind a player by name fragment and get their stable player_id (e.g. 'mlb:677951') plus every spelling the books use (known_names). Free tier. Pass the player_id as player_name to propline_get_player_history / propline_get_player_trends to avoid name-spelling ambiguity.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 18, 2026 (10 days ago)
- Last release
- Oct 18, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.proplineapi/propline-mcp- Version
- 0.51.0
- Auth
- Bearer token, API key
- Packages
- npm propline-mcp
- License
- MIT
- Repository
- github.com/proplineapi/propline-mcp
- Website
- prop-line.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
PropLine — Sports Betting Odds & Prop Resolution MCP server. Agent Mart. https://agentmart.dev/connectors/proplineapi-propline-mcp (last updated 2026-10-24)