mcpbeat

Lumify Sports Intelligence MCP Server

ai.lumify/sports-intelligence
answering

Lumify Sports Intelligence is answering right now. Last checked 11 min ago. It exposes 18 tools. Last commit 28 Jul 2026.

Schedules, scores, odds, splits & explainable AI bet confidence — 8+ sports, free instant key.

Uptime history 45 hours of history
45 hours agonow
100.0%
Uptime 24h
91 of 91 checks
18
Tools
read from the server
322 ms
Response time
average over 24h
2
Stars
last commit 28 Jul 2026

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 11 min ago.

run in your terminal
claude mcp add sports-intelligence --transport http https://lumify.ai/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "sports-intelligence": {
      "url": "https://lumify.ai/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.sports-intelligence]
url = "https://lumify.ai/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "sports-intelligence": {
      "url": "https://lumify.ai/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "sports-intelligence": {
      "url": "https://lumify.ai/mcp"
    }
  }
}

Available tools 18

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

events
list_events
List events (schedules and live scores), paginated by id (after_id). Filter by sport, league, status, date range, season, or team_id (resolve teams via list_teams / get_team). Returns event id, name, sport/league, start time, status, and venue for each; pass include_scores to also inline participants + scores (intended for small result sets — use get_event for one event's full detail, or query_events for free-text/natural-language filters instead of structured params).
query_events
Search events with a natural-language query instead of structured filters — e.g. 'live nfl games today' or 'college basketball this week'. Rule-based (not an LLM): recognizes sport (nfl/nba/mlb/nhl/tennis/soccer/ncaaf/ncaab + aliases like hockey, american football, college basketball), status (live/final/upcoming/…), dates (today/tomorrow, this week, next N days, YYYY-MM-DD ranges). Bare 'football' is ambiguous and left unrecognized. Response includes interpreted filters, equivalent REST call, and unrecognized_terms. Prefer list_events when you already know the structured filters you want.
odds
get_odds
Get current betting odds for an event: per-bookmaker lines and last-updated time. bookmaker defaults to pinnacle (1 credit). Use 'all' or a comma-separated list for multiple books (2 credits). Returns available:false with no charge if odds aren't posted for this event yet. Use get_odds_history for line movement over time.
get_odds_history
Get line-movement history for an event: a list of past odds snapshots (movements), each with its own timestamp, up to limit entries. bookmaker defaults to pinnacle. Use get_odds instead if you only need the current line.
player
get_player
Get a single player profile: name, sport, country, position/handedness, physical stats, current team, and tennis ranking if applicable. Raises a not-found error if player_id doesn't exist. Resolve ids via search_players.
get_player_events
List a player's events (schedule/results), paginated by id (after_id). Defaults to ±30 days around today when no date filter is given. Resolve player_id via search_players first.
batch
batch_get_events
Get multiple events by id in one call — for agents that already have a list of ids and want full detail for each without one call per event. Max 25 ids. Returns full detail for every id that exists plus a not_found list for any that don't (never billed). Use get_event for a single id, or list_events / query_events to discover ids first.
estimate
estimate_cost
Estimate the credit cost of one or more planned tool calls before making them — no credits are spent. Costs are data-dependent (e.g. odds/intelligence/splits not yet ingested for an event are free, and batch_get_events ids that don't exist cost nothing), so this returns a [min_credits, max_credits] range per call rather than a single number. Pass the exact tool name and arguments you're considering, e.g. {"tool": "get_event", "arguments": {"event_id": 123, "include_odds": true}}.
event
get_event
Get a single event with participants and venue. Optionally inline current odds and/or bet intelligence (+1 credit each, only charged when that data is actually available). Raises a not-found error if event_id doesn't exist. Use list_events / query_events to discover ids first, or batch_get_events to fetch several ids in one call.
intelligence
get_intelligence
Get AI bet intelligence for an event. bets[] comes in two shapes — branch on the presence of probability (probability model) vs. confidence_score (points model). Probability model, currently soccer/MLS only: bets carry probability/interval/p_model/p_market/blend_w/fair_price/edge/sufficiency/phase/model_version/drivers and no confidence_score, coverage, signals, or validator. probability is calibrated and sums to 1 across a market's outcomes; p_market is the de-vigged market price, which you cannot recompute from a single price. Where no fitted model has cleared out-of-sample validation for a league, blend_w is 0, probability equals p_market, and p_model/edge/tier are null — a probability taken from the market has no honest edge against the price it came from; treat those events as fair-price reference, not as picks. drivers is normally empty then; Stage 6 Match Context drivers (soccer.match_context.*) may still cite the Fact Ledger with effect 0. Points model, every other sport/league: confidence scores, signal breakdowns, rationale, and narratives per bet. Signal keys (signal_serve_rtn, signal_surface, etc.) are shared across sports but mean different things per sport (for soccer signal_serve_rtn is Attack/Defense Edge, not tennis Serve/Return) — for NFL, NCAAF, and points-model soccer leagues, bets[].signals._labels maps each present signal_* key to its sport-specific label; prefer rationale/attribution for prose when you don't need raw scores. Both shapes include event-level analyst_take and match_overview. Match-level tokens (OVER, UNDER, ML_DRAW) have null player_role/player_id/team_id/player_name, so summing exposure by team_id never double-counts a draw. bookmaker defaults to pinnacle and is a no-op for probability-model sports, which report the book their assessment was priced against. Returns available:false with no charge if intelligence hasn't been computed yet for this event/bookmaker.
live
get_live_score
Get a lightweight live score snapshot for an event: status, period, clock, per-participant score and period-by-period scores, and last-updated time. Cheaper and faster than get_event when you only need the score, not participants or venue. Raises a not-found error if event_id doesn't exist.
players
search_players
Search players by name, sport, country, ranking, or active status, paginated by id (after_id). Returns each player's id, name, position, current team, and tennis ranking if applicable. Use get_player for full detail on one id, or get_player_events for a player's schedule/results.
seasons
list_seasons
List seasons per sport/league. By default returns only currently active seasons; pass current_only=false to include historical seasons. Optionally filter by sport. Returns each season's id, year, phase, start/end dates, and whether it is_current. Use list_sports for just each sport's current season.
splits
get_splits
Get public betting splits (bets% and handle%) for an event: a consensus split plus a per-book breakdown, with a captured_at timestamp. Available for MLB, NBA, NHL, and NFL. Not available for tennis, soccer, or NCAAF (upstream does not expose splits). Returns available:false with no charge if splits haven't been captured for this event yet or the sport is unsupported.
sports
list_sports
List supported sports with their leagues and current season. Returns each sport's id, slug, name, team-sport flag, and its leagues (each with its current_season). Use list_seasons with current_only=false for historical seasons.
stats
get_stats
Get raw, deterministic team and match statistics for a soccer event: team strength (league-table PPG or FIFA rank), recent form, head-to-head history, rest days, home/away splits, and boxscore rates (shots/SoT for & against, possession, corners, cards, save rate) over explicit windows rates_l5 and rates_season — computed from completed results and ESPN team box scores. No market/odds data (use get_odds for that) and no scoring, weighting, confidence, or narrative attached; use get_intelligence for Lumify's judgment layer. Soccer only today. Returns available:false with no charge if either team hasn't resolved for this fixture yet.
team
get_team
Get a single team profile with its home venue. Raises a not-found error if team_id doesn't exist. Resolve ids via list_teams.
teams
list_teams
List teams, paginated by id (after_id). Filter by sport, league, conference, division, country, active status, or name (q, partial match). Returns each team's id, slug, name, city, conference/division, and venue. Use get_team for full detail on one id once resolved here.

Endpoints

URLTransportStateLatencyChecked
https://lumify.ai/mcp streamable-http answering 343 ms 11 min ago

Lumify Sports Intelligence — questions

Answers built from our own checks of this server.

What can Lumify Sports Intelligence do?
It exposes 18 tools, read directly from the server on our last check. Among them: batch_get_events, estimate_cost, get_event, get_intelligence, get_live_score, get_odds and 12 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Lumify Sports Intelligence mostly used for?
Its tools cluster around odds, events and player. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Lumify Sports Intelligence working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 322 ms. The bar chart above shows every period we have measured.
How do I connect Lumify Sports Intelligence?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Lumify Sports Intelligence need an API key?
No. Lumify Sports Intelligence completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 18 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Lumify Sports Intelligence?
It answers our handshake in 322 ms on average, which is faster than 44% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Lumify Sports Intelligence open source?
Yes — it is published under the MIT licence, written in Python and 2 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.