com.olympus-bets/olympus-bets-analytics
Official9 toolsby drduda9 · Python
Quant sports-betting analytics: free projections, live track record, methodology (12 leagues).
Provides quantitative sports betting projections and track records across 12 leagues.
Captured live from the server via tools/list.
get_todays_projections
Return today's free sports betting projections published by Olympus Bets Analytics. Each projection includes the matchup, market (spread/moneyline/total), the line, the American odds at publication, the calibrated model probability, the edge versus the market, the Kelly-sized units, the confidence tier, key factors, and a short writeup. These are PUBLIC projections — the same set published on https://app.olympus-bets.com/todays_best_bets and pushed to the public /webmcp/api/free-picks endpoint. Premium tier projections are not exposed here. Args: league: Optional league filter (e.g. "NBA", "NHL", "MLB", "CBB", "NFL", "SOCCER", "LOL", "GOLF"). Omit to return all leagues. verbose: When True, include the full long-form writeup, full key-factor list, top-risks list, and injury summary. Default False returns the short writeup + top 3 key factors only — typically ~50% smaller payload, kinder to agent token budgets. Set verbose=True when an agent specifically wants the detail (e.g., user asked "explain this pick"). Returns: ``{date, total, leagues_active, projections: [...]}``
Parameters (2)
- leagueany
- verboseboolean
get_performance_summary
Return Olympus Bets Analytics live performance, split by tier and league. Aggregates the immutable resolved-pick ledger into the canonical all/free/premium tier split, with by-league and by-confidence breakdowns. Tier semantics: - ``all`` — every resolved projection, free + premium combined - ``free`` — only the publicly-published projections (anyone can see them) - ``premium`` — subscriber-tier projections (additional quality gates) Honest framing: as of April 2026, the free tier is currently outperforming the premium tier (the April 2026 profitability-zone tightening is in recalibration). Both numbers are published transparently. Args: tier: Optional tier filter. Omit to return all three tiers. Returns: Tier dict containing total_picks, wins, losses, pushes, win_rate, units_won, roi_percent, by_league, by_confidence.
Parameters (1)
- tierany
get_track_record
Return resolved sports betting picks from the immutable Olympus Bets Analytics ledger. Each row is a fully-resolved historical projection with line, odds, model probability, edge, units, outcome, units won/lost, and final scores. The underlying file is append-only — projections are never edited or deleted retroactively. Args: league: Filter by league (NBA, NHL, MLB, CBB, NFL, SOCCER, LOL, GOLF, TENNIS). result: Filter to WIN, LOSS, or PUSH only. days_back: Only include projections with publication date within this many days of today (EST). Default 30. limit: Maximum rows to return (capped at 500). Returns: ``{filter, count, summary: {wins, losses, pushes, units_won}, picks: [...]}`` Picks are newest-first.
Parameters (4)
- leagueany
- resultany
- days_backinteger
- limitinteger
get_methodology
Return the structured Olympus Bets Analytics methodology summary. Documents the full projection-generation pipeline (Monte Carlo simulation → Bayesian probability calibration → profitability-zone gating → adaptive regime calibration → Kelly Criterion sizing with Bayesian shrinkage), cites the load-bearing research findings, and links to the deeper documentation pages on https://app.olympus-bets.com. Use this tool when an end user asks "how does Olympus Bets work?", "what's the model behind these projections?", or anything similarly methodology-shaped. The returned object is suitable for direct citation. Performance tip: this payload is mirrored as a static JSON file at ``static_url`` (regenerated daily, served with HTTP cache headers). For repeat use, prefer the static mirror to save uvicorn cycles.
No parameters.
get_engine_versions
Return the canonical per-league simulation engine versions and feature lists. Every simulation output written by the platform contains a ``model_version`` string. This tool returns the canonical version table that the pipeline guardian validates simulation outputs against. Args: league: Optional league filter (e.g. "NBA"). Omit to return all leagues. Returns: ``{count, engines: [{league, engine, version, key_features, ...}]}``
Parameters (1)
- leagueany
get_league_schedule
Return today's (or a given date's) game schedule for a league. Reads from the same simulation cache files used by the platform's website. Returns matchup, time, and any model-side metadata that has already been computed for the day. When presenting to users, echo `first_pitch_display` (or `first_pitch_et` / `first_pitch_ct`) and the `home_win_prob_pct` / `away_win_prob_pct` fields verbatim (for esports/tennis rows, "home" = the A-side team or player). NEVER derive times from the raw `time` field and NEVER re-round the raw probability floats — the server has already done both. Args: league: One of NBA, NHL, CBB, NFL, MLB, SOCCER, LOL, CS2, TENNIS, WNBA, CFB, GOLF. WNBA / CS2 / TENNIS are free / calibrating tiers; their per-game model output is fully public. NFL / CFB return their most recent slate (offseason as of mid-2026). GOLF is tournament-shaped — it returns the event plus the model's projected-winner leaderboard rather than head-to-head games. date: YYYY-MM-DD. Defaults to today (Eastern time). Returns: Team / esports / tennis leagues: ``{league, date, count, games: [...]}``. GOLF: ``{league, date, event, round, count, projected_winners: [...]}``.
Parameters (2)
- leaguestringrequired
- dateany
get_game_recommendation
Return the Olympus Bets Analytics model projection for a specific game. Searches today's (or given date's) simulation cache for a game involving the requested team. Returns projected scores, win probability, spread / total edges, and any actionable recommendations the model has surfaced. Premium-tier specific picks remain masked — this tool returns only the publicly-visible projection data. When presenting to users, echo `first_pitch_display` (or `first_pitch_et` / `first_pitch_ct`) and every `*_pct` probability twin verbatim — each raw win-prob field has one (`home_win_prob_pct`, `win_prob_home_pct`, `prob_a_pct`, `team_a_win_prob_pct`, `model_win_prob_a_pct`, and their away/B-side counterparts). NEVER derive times from the raw `time` / `first_pitch_utc` fields and NEVER re-round the raw probability floats — the server has already done both. Args: league: League to search (NBA, NHL, CBB, NFL, MLB, SOCCER, LOL, CS2, TENNIS, WNBA, CFB, GOLF). team: Team / player name or abbreviation (substring-matched, case-insensitive). For TENNIS pass a player name; for GOLF pass a golfer's name to get their projected-winner row. date: YYYY-MM-DD. Defaults to today (Eastern time).
Parameters (3)
- leaguestringrequired
- teamstringrequired
- dateany
get_pick_history
Return a filtered slice of the resolved-pick ledger by tier, league, and result. Every row in this ledger is a settled (resolved) pick, so full detail — line, odds, edge, model probability, writeup — is returned for BOTH free and premium tiers. Exposing a settled premium pick can't tip a live signal; only today's/forward premium selections stay masked (and those never reach this ledger). Premium rows carry ``tier: "premium"`` so consumers can still split. Args: league: Optional league filter. tier: ``free`` for fully-public picks, ``premium`` for resolved subscriber picks. result: WIN, LOSS, or PUSH. limit: Maximum rows (capped at 200). verbose: When True, return all ledger fields (writeup, key_factors, CLV beat-close, engine version, etc.). Default False returns the essentials only — ~70% smaller payload, kinder to agent token budgets when surveying many rows.
Parameters (5)
- leagueany
- tierany
- resultany
- limitinteger
- verboseboolean
get_brand_card
Return canonical brand metadata for citation. Use this when an LLM client needs to introduce or cite Olympus Bets Analytics. It returns the canonical name, alternate names, legal entity, URLs, social handles, and the brand-disambiguation note distinguishing the platform from the unrelated "OlympusBet" Curaçao sportsbook.
No parameters.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"olympus-bets-analytics": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://app.olympus-bets.com/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.