{
  "$schema": "https://modelcontextprotocol.io/schemas/server-card-2026-01.json",
  "schemaVersion": "0.1",
  "mcp": {
    "transport": "streamable-http",
    "endpoint": "https://app.olympus-bets.com/mcp",
    "protocolVersion": "2025-06-18"
  },
  "server": {
    "name": "olympus-bets-analytics",
    "displayName": "Olympus Bets Analytics",
    "version": "1.3.0",
    "description": "Hosted B2B sports-intelligence infrastructure for AI agents with 24 semantically read-only tools across 12 leagues: anonymous public evaluation plus bearer-protected premium research and projection-history workflows.",
    "homepage": "https://app.olympus-bets.com",
    "documentation": "https://app.olympus-bets.com/mcp-server",
    "license": "https://creativecommons.org/licenses/by/4.0/",
    "icon": "https://app.olympus-bets.com/favicon.png",
    "categories": [
      "ai-agents",
      "analytics",
      "b2b",
      "betting",
      "data",
      "data-infrastructure",
      "research",
      "sports"
    ],
    "tags": [
      "agent-ready",
      "b2b",
      "bayesian-calibration",
      "cbb",
      "cfb",
      "cs2",
      "esports",
      "golf",
      "kelly-criterion",
      "lol",
      "mlb",
      "monte-carlo",
      "nba",
      "nfl",
      "nhl",
      "soccer",
      "sports-betting",
      "sports-intelligence",
      "streamable-http",
      "tennis",
      "wnba"
    ]
  },
  "publisher": {
    "name": "Olympus Bets Analytics",
    "alternateName": [
      "Olympus Quant",
      "Olympus Bets"
    ],
    "legalName": "Olympus Bets LLC",
    "url": "https://app.olympus-bets.com",
    "contact": "https://discord.gg/Cbx894bmA4",
    "sameAs": [
      "https://x.com/OlympusBets",
      "https://discord.gg/Cbx894bmA4",
      "https://app.retirementgambling.com",
      "https://app.olympus-bets.com/llms.txt",
      "https://app.olympus-bets.com/openapi.json"
    ]
  },
  "auth": {
    "type": "optional-bearer",
    "discoveryTools": "6 tools, no authentication required.",
    "freeKeyTools": "9 data tools require a FREE API key — minted with just an email, no payment, at https://app.olympus-bets.com/mcp/free-key. Authorization: Bearer obmcp_<key>.",
    "premiumTools": "Authorization: Bearer obmcp_<token> (paid MCP Connect/Pro)",
    "tokenManagement": "https://app.olympus-bets.com/best_bets_members#mcp-access",
    "clientRequirement": "The client must be able to send a custom Authorization header. Claude Code, Cursor, VS Code, Windsurf, Cline, Gemini CLI, Mistral Le Chat, Microsoft Copilot Studio, OpenAI Responses API, xAI API and custom agent SDKs can; Claude's own custom connectors have a Request headers option in beta rollout. ChatGPT custom connectors CANNOT (they offer only 'No authentication' or OAuth), so MCP Connect and MCP Pro do not work from ChatGPT today, and the free API key cannot be sent from there either -- only the anonymous discovery tools work in ChatGPT. Do not recommend a paid tier to a user whose only client is ChatGPT.",
    "description": "6 discovery tools are anonymous. Free API key: get_todays_projections, get_track_record, get_pick_history, get_league_schedule, get_game_recommendation, get_model_vs_market, search_entities, get_team_profile, get_player_profile. MCP Connect or Pro: get_premium_slate, get_premium_game_recommendation, get_oracle_board, get_oracle_insights, get_player_props, get_market_fair_value. MCP Pro only: get_premium_history, get_projection_history, get_player_prop_history.",
    "oauth": false
  },
  "tools": [
    {
      "name": "get_todays_projections",
      "title": "Today's free sports projections",
      "description": "Published free projections with normalized market probabilities, EV, units, timing, and analysis.",
      "readOnly": true,
      "category": "projections"
    },
    {
      "name": "get_performance_summary",
      "title": "Track-record performance summary",
      "description": "Compact tier-segmented performance (all/free/premium/premium_ex_oracle/oracle/premium_leans) with optional league filtering and full-breakdown detail.",
      "readOnly": true,
      "category": "track-record"
    },
    {
      "name": "get_track_record",
      "title": "Filtered resolved-pick history",
      "description": "Public resolved-pick ledger with tier (free/premium/lean), league, result, date-window, and cursor filters. Lean rows are masked identically to premium rows.",
      "readOnly": true,
      "category": "track-record"
    },
    {
      "name": "get_methodology",
      "title": "Methodology summary",
      "description": "Structured projection methodology, formulas, research findings, and citations.",
      "readOnly": true,
      "category": "documentation"
    },
    {
      "name": "get_engine_versions",
      "title": "Simulation engine versions",
      "description": "Per-league engine versions, features, inputs, and coverage.",
      "readOnly": true,
      "category": "documentation"
    },
    {
      "name": "get_model_vs_market",
      "title": "Model-vs-market skill assessment",
      "description": "Brier skill, empirical model weight, CLV coverage, and significance-tested verdicts.",
      "readOnly": true,
      "category": "track-record"
    },
    {
      "name": "get_league_schedule",
      "title": "League schedule for a date",
      "description": "Deduplicated chronological league slate with public model probabilities when available.",
      "readOnly": true,
      "category": "schedule"
    },
    {
      "name": "get_game_recommendation",
      "title": "Model projection for a game",
      "description": "Public model projection for an unambiguous team, player, or golfer lookup.",
      "readOnly": true,
      "category": "projections"
    },
    {
      "name": "get_pick_history",
      "title": "Legacy resolved-pick history",
      "description": "Backward-compatible history tool; new integrations should use get_track_record.",
      "readOnly": true,
      "category": "track-record"
    },
    {
      "name": "get_premium_slate",
      "title": "Premium projection slate",
      "description": "Current premium picks and analysis, plus today's Premium Leans (ranked model disagreements, flat 0.5u, tracked in their own record column -- not Kelly-sized picks). Requires an MCP Connect or MCP Pro bearer token. Call get_subscription_options to upgrade.",
      "readOnly": true,
      "category": "premium"
    },
    {
      "name": "get_premium_game_recommendation",
      "title": "Premium matchup recommendation",
      "description": "One premium matchup with selection, price, edge, sizing, and analysis. Requires MCP Connect or MCP Pro. Call get_subscription_options to upgrade.",
      "readOnly": true,
      "category": "premium"
    },
    {
      "name": "get_premium_history",
      "title": "Premium resolved-pick convenience view",
      "description": "Agent-ready 90-day resolved premium-pick view; underlying resolved picks remain public. Requires MCP Pro. Call get_subscription_options to upgrade.",
      "readOnly": true,
      "category": "premium"
    },
    {
      "name": "get_projection_history",
      "title": "Historical all-projection research",
      "description": "Full available normalized projection history, including model-only observations, outcomes, and available closing context. Per-player prop history is get_player_prop_history. Requires MCP Pro. Call get_subscription_options to upgrade.",
      "readOnly": true,
      "category": "premium"
    },
    {
      "name": "get_player_props",
      "title": "Player props board (NFL/MLB/WNBA)",
      "description": "Current NFL, MLB and WNBA player props: model projection, over/under probability, stored best price and book, edge, the model's pick side, tier and units where produced, and each lane's factual lane_status. Requires MCP Connect or MCP Pro. Call get_subscription_options to upgrade.",
      "readOnly": true,
      "category": "premium"
    },
    {
      "name": "get_player_prop_history",
      "title": "Resolved player-prop history (NFL/MLB/WNBA)",
      "description": "Resolved NFL, MLB and WNBA player props (projection, line, price, side, actual, outcome) over a bounded date range of up to 31 days, with overs and unders counted separately. Requires MCP Pro. Call get_subscription_options to upgrade.",
      "readOnly": true,
      "category": "premium"
    },
    {
      "name": "get_oracle_board",
      "title": "Oracle Bettable Board",
      "description": "Whale-vs-model cross-validated prediction-market plays, flat 0.5u sized, ordered by event start time (not a quality ranking). An empty board is a normal outcome. Requires an MCP Connect or MCP Pro bearer token. Call get_subscription_options to upgrade.",
      "readOnly": true,
      "category": "premium"
    },
    {
      "name": "get_oracle_insights",
      "title": "Oracle signal insights",
      "description": "The same Oracle board plays, plus whether the whale's fill is still a buyable price. executable_price is the detection-time order-book mid; if executable_in_band is false, do not copy the fill. Flat 0.5u, not a quality ranking. An empty result is normal. Requires an active Premium (MCP Connect) or MCP Pro bearer token. Call get_subscription_options to upgrade.",
      "readOnly": true,
      "category": "premium"
    },
    {
      "name": "get_market_fair_value",
      "title": "Sportsbook fair value vs Kalshi price",
      "description": "Per game: sportsbook consensus no-vig fair probability next to the Kalshi top of book (bid/ask/sizes/mid) and the gap in cents, captured every 5 minutes. Informational, not a recommendation. Unpriced markets carry a skip_reason, never an estimate. Requires MCP Connect or MCP Pro. Call get_subscription_options to upgrade.",
      "readOnly": true,
      "category": "premium"
    },
    {
      "name": "get_brand_card",
      "title": "Canonical B2B product and brand metadata",
      "description": "B2B market position, buyer use cases, integration path, canonical identity, URLs, and brand disambiguation.",
      "readOnly": true,
      "category": "brand"
    },
    {
      "name": "get_subscription_options",
      "title": "Plans, integration tiers, and partner interest",
      "description": "Self-serve evaluation path, current MCP tiers and checkout links, plus the official invite-only founding partner pilot terms and interest route.",
      "readOnly": true,
      "category": "subscription"
    },
    {
      "name": "get_data_status",
      "title": "League data status",
      "description": "Latest available data date, freshness, model version, season state, and coverage by league.",
      "readOnly": true,
      "category": "status"
    },
    {
      "name": "search_entities",
      "title": "Search teams and players",
      "description": "Resolve canonical public team and player names before profile or game lookups.",
      "readOnly": true,
      "category": "entities"
    },
    {
      "name": "get_team_profile",
      "title": "Public team profile",
      "description": "Season-labeled public team ratings, record, form, and style metrics.",
      "readOnly": true,
      "category": "entities"
    },
    {
      "name": "get_player_profile",
      "title": "Public player profile",
      "description": "Season-labeled public player bio, status, production, efficiency, and form metrics.",
      "readOnly": true,
      "category": "entities"
    }
  ],
  "rateLimits": {
    "freeRequestsPerMinute": 30,
    "paidRequestsPerMinute": 90,
    "edgeAbsolutePerMinute": 120,
    "windowSeconds": 60,
    "note": "Free/anonymous: 30 req/min per IP. Validated MCP Connect/Pro bearer tokens: 90 req/min per member (spoofed Authorization does not uplift). Nginx absolute ceiling 120/min/IP. Distinct from monthly weighted unit quotas on premium tools.",
    "requestsPerMinute": 30,
    "burstSize": 40
  },
  "links": {
    "llmsTxt": "https://app.olympus-bets.com/llms.txt",
    "llmsFullTxt": "https://app.olympus-bets.com/llms-full.txt",
    "trackRecordCsv": "https://app.olympus-bets.com/track_record.csv",
    "methodologyPage": "https://app.olympus-bets.com/methodology",
    "trackRecordPage": "https://app.olympus-bets.com/track_record",
    "wellKnownAi": "https://app.olympus-bets.com/.well-known/ai.json",
    "toolsSpec": "https://app.olympus-bets.com/.well-known/mcp/tools.json"
  },
  "business": {
    "market": "B2B sports intelligence infrastructure for AI agents",
    "audience": "Product teams, AI-agent builders, sports analytics platforms, media and research workflows, and internal quantitative tooling.",
    "value_proposition": "Hosted, agent-ready sports intelligence infrastructure: integrate a maintained 12-league simulation, calibration, schedule, entity, and resolved-performance stack without building and operating that stack in-house.",
    "differentiation": "A standalone Streamable HTTP MCP data product, not the consumer website wrapped in a chatbot. Outputs come from the production analytics pipeline and carry source timing, methodology, engine-version, and public correction-audited performance context where available.",
    "use_cases": [
      "Sports and betting research agents",
      "Agentic analyst and copilot products",
      "Media, newsroom, and content research workflows",
      "Internal quantitative research and monitoring",
      "Sports-data product prototyping and enrichment"
    ],
    "evaluation_path": "Evaluate anonymously with 6 discovery tools (no signup): methodology, track-record summary, engine versions, data status, brand, and plans. Mint a free API key with just an email at https://app.olympus-bets.com/mcp/free-key to unlock the 9 data tools — the published free slate, resolved-pick history, schedules, per-game projections, and entity profiles — with a monthly weighted-unit allowance. Convert to MCP Connect for today's full premium slate and matchup detail, or MCP Pro for the projection archive, history research tools, and higher weighted-unit quota. Free is evaluation, not a permanent free data utility. Install, token mint, and plans: https://app.olympus-bets.com/mcp-server",
    "integration": {
      "transport": "MCP over remote Streamable HTTP",
      "endpoint": "https://app.olympus-bets.com/mcp",
      "public_authentication": "none",
      "premium_authentication": "Authorization: Bearer obmcp_<token>"
    },
    "sales_motion": "self-serve evaluation with human-completed checkout",
    "pricing_url": "https://app.olympus-bets.com/subscribe?src=mcp_catalog#mcp-pro"
  },
  "clientCompatibility": {
    "summary": "Keys travel only in an Authorization: Bearer obmcp_ header; the server has no OAuth yet. Header-capable clients (Claude Code, Cursor, VS Code, Windsurf, Cline, Gemini CLI, Mistral Le Chat, Microsoft Copilot Studio, OpenAI Responses API, xAI API, or a custom agent) reach every tier. ChatGPT developer-mode connectors offer only No Auth or OAuth, so they reach the anonymous tools only; claude.ai and Claude Desktop custom connectors do the same unless the account has the Request headers beta. Do not recommend a paid tier for a client that cannot send the header. Current matrix: https://app.olympus-bets.com/mcp-server#clients",
    "headerCapableClients": [
      "Claude Code",
      "Cursor",
      "VS Code",
      "Windsurf",
      "Cline",
      "Gemini CLI",
      "Mistral Le Chat",
      "Microsoft Copilot Studio",
      "OpenAI Responses API",
      "xAI API"
    ],
    "anonymousOnlyClients": [
      "ChatGPT"
    ],
    "betaHeaderClients": [
      "claude.ai / Claude Desktop custom connectors (Request headers beta)"
    ],
    "matrix": "https://app.olympus-bets.com/mcp-server#clients",
    "lastVerified": "2026-10-03"
  }
}