76trust / 100

Sportiq MCP

by sportiq.utkarshgupta.org in Other

MCP serverPassing, checked 8 h ago

MCP tools for FIFA World Cup 2026 football, Formula 1, and IPL cricket — sims, strategy, fantasy.

https://sportiq.utkarshgupta.org/mcp
Tools
44
open to any client
Uptime
100%
last 30 days
Response time
1.2 s
1.2 s slowest 5%
Last check
Passed
8 h ago, next any minute now

Scan it nowHow to connect

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed

How to connect

Add it to any MCP client that supports remote servers.

{
  "mcpServers": {
    "sportiq-mcp": {
      "type": "http",
      "url": "https://sportiq.utkarshgupta.org/mcp"
    }
  }
}

44 tools

  • sportiq_health

    Report cache backend, per-adapter healthcheck, and quota status. Returns: HealthReport-shaped dict with `cache_backend`, `cache_ok`, `adapters` (per-source ok/detail), and `quotas`.

  • football_get_groups

    Return the FIFA World Cup 2026 group draw and advancement format. Returns: data.groups: {group_letter: [4 team codes]} for all 12 groups. data.format: 48-team / 12-group / top-2 + 8-best-thirds rule. data.teams: team-code -> {name, fifa_code} metadata…

  • football_get_fixtures

    Return World Cup 2026 fixtures (live providers, else the group schedule). Args: limit: Max fixtures to return, 1..200 (default 50). offset: Number of fixtures to skip for paging (default 0). Returns: data.fixtures: page of {home, away, date/group, status…

  • football_get_standings

    Return current World Cup 2026 group standings. Args: limit: Max standing rows to return, 1..200 (default 50). offset: Number of rows to skip for paging (default 0). Returns: data.standings: page of {rank, team, group, points, played, goals_diff}…

  • football_get_squad

    Return a national team's World Cup squad. Args: team: Team code or name (e.g. "ARG"). Without an API-Football key, the static seed serves an empty-but-valid squad (rosters are a follow-up). Returns: data.squad: list of {name, number, position, age}…

  • football_get_match_stats

    Return a team's aggregate World Cup tournament statistics. Network-only enrichment: requires a configured API-Football (or football-data.org) key. There is no offline static fallback, so without a key the call returns a clean ALL_SOURCES_FAILED envelope. Args: team…

  • football_get_top_scorers

    Return the World Cup 2026 top scorers. Returns: data.scorers: list of {name, team, goals, assists}. meta.source: adapter that served the data.

  • football_get_odds

    Return live market head-to-head odds for upcoming World Cup 2026 matches. Sourced from The Odds API (requires THEODDS_KEY). Without a key the call returns a clean ALL_SOURCES_FAILED envelope rather than crashing. Args: team: Optional team name to filter events…

  • football_xg_model

    Estimate a match's expected goals and win/draw/loss probabilities. Args: home_team: First team code (e.g. "ARG"). away_team: Second team code (e.g. "BRA"). neutral: True for a neutral venue (no home advantage). World Cup default. Returns: data…

  • football_match_predictor

    Predict a single match: most likely scoreline + outcome probabilities. Args: home_team: First team code. away_team: Second team code. neutral: True for a neutral venue (World Cup default). Returns: data: {most_likely_score, home_win, draw, away_win…

  • football_simulate_group

    Monte Carlo one group within the full 12-group qualification context. Args: group: Group letter A-L. iterations: Number of simulations (clamped to 100..20000). Returns: data.teams: Per-team position probabilities, p_auto_advance, p_best_third_advance…

  • football_simulate_bracket

    Monte Carlo the full World Cup 2026 — per-team round + title probabilities. Simulates all 12 groups, advances the top 2 + 8 best third-placed teams to a 32-team knockout, and plays it to a champion, ``iterations`` times. Args: iterations: Number of tournament simulations…

  • football_knockout_path

    Round-by-round survival probabilities for one team in the full sim. Args: team: Team code (e.g. "FRA"). iterations: Number of tournament simulations (clamped to 100..20000). seed: Optional RNG seed. Returns: data: {team, reach_r32, reach_r16, reach_qf…

  • football_find_value_bets

    Surface the largest gaps between the model's win probability and the market. De-vigs each market's 1X2 decimal odds (removes the margin so implied probabilities sum to 1) and compares them to this server's own match-outcome probabilities — the same Elo/Poisson path…

  • football_form_trends

    Return rolling form, goal record, and xG trend for a football team. Args: team: Team name (e.g. "Brazil", "Argentina"). Returns: data: {form_string, wins, draws, losses, goals_scored, goals_conceded, xg_for, xg_against, recent_trend, matches_analysed}…

  • football_build_accumulator

    Model the joint probability of several match outcomes from the top model-vs-market gaps. Calls ``football_find_value_bets`` internally to fetch live odds, then selects the strongest legs and combines them under the joint-probability model. Args: legs: Number of legs (2-8)…

  • f1_get_sessions

    Return F1 sessions for a given year, optionally filtered by country. Args: year: Championship year (e.g. 2025). country: Optional country name to filter (e.g. "Monaco"). Returns: data.sessions: list of session objects with session_key, session_type, date…

  • f1_get_drivers

    Return driver list for a specific F1 session. Args: session_key: OpenF1 session identifier. Returns: data.drivers: list of driver objects with driver_number, full_name, team. meta.source: adapter that served the data.

  • f1_get_lap_times

    Return lap times for a driver in a specific F1 session. Args: session_key: OpenF1 session identifier. driver_number: Driver's race number (e.g. 1 for Verstappen). limit: Max laps to return, 1..200 (default 100 — covers most full races). offset: Number of laps to…

  • f1_get_standings

    Return F1 driver and constructor championship standings for a year. Use this for "who is leading / who will win the F1 championship this year". There is no F1 title Monte Carlo — current points and position are the answer. This is not a cricket or football tool. Args…

  • f1_get_race_results

    Return the final classification for one F1 race, keyed by year and round. Args: year: Championship year (e.g. 2025). round: Round number within the season (1-based; e.g. 1 for the opener). Returns: data.results: Ergast/Jolpica RaceTable payload — finishing order…

  • f1_get_weather

    Return weather data for a specific F1 session. Args: session_key: OpenF1 session identifier. Returns: data.weather: list of weather snapshots with temperature, rainfall, wind. meta.source: adapter that served the data.

  • f1_tyre_degradation

    Fit a tyre degradation model for a driver + compound in a session. Args: session_key: OpenF1 session identifier. driver_number: Driver's race number. compound: Tyre compound (SOFT, MEDIUM, HARD, INTER, WET). Returns: data: {intercept, slope, residual_std…

  • f1_undercut_window

    Estimate whether an undercut is viable for the attacker against the target. Args: session_key: OpenF1 session identifier. attacker_number: Attacking driver's race number. target_number: Target driver's race number. current_lap: Current lap number in the race…

  • f1_head_to_head_pace

    Compare lap-time pace distribution between two drivers in a session. Args: session_key: OpenF1 session identifier. driver_a: First driver's race number. driver_b: Second driver's race number. Returns: data: {driver_a_avg_s, driver_b_avg_s, delta_s…

  • f1_weather_strategy_impact

    Analyse weather data and recommend compound or pit-window adjustments. Args: session_key: OpenF1 session identifier. Returns: data: {has_rain, avg_track_temp_c, compound_recommendation, recommendation}. meta.estimated: true.

  • f1_predict_pit_strategy

    Predict the optimal pit-stop strategy for a driver in an F1 race session. Args: session_key: OpenF1 session identifier for a recorded race. driver_number: Driver's race number (e.g. 1 for Verstappen). current_lap: Current lap to project from (default 1 = full race…

  • f1_qualifying_analysis

    Analyse a qualifying session: best lap per driver, gap to pole, projected grid. Args: session_key: OpenF1 session identifier for a Qualifying session. Returns: data.grid: [{position, driver_number, full_name, team_name, best_lap_gap_s}]. data.pole_time_s: pole lap…

  • f1_race_pace_compare

    Compare race-pace and tyre degradation between two F1 drivers in a session. Args: session_key: OpenF1 session identifier. driver_a: First driver's race number. driver_b: Second driver's race number. Returns: data: {by_compound, overall_faster…

  • cricket_get_live_matches

    Return all currently live cricket matches across all series. Returns: data.matches: list of live match objects (team names, score, status). meta.source: which adapter served the response. meta.is_stale: true if data is from stale cache.

  • cricket_get_scorecard

    Return the full scorecard for a specific match. Args: match_id: The match identifier (e.g. from cricket_get_live_matches). Returns: data: full scorecard with innings, partnerships, bowling figures. meta.source: adapter that served the data.

  • cricket_get_points_table

    Return the points table / standings for a cricket series. Args: series_id: The series identifier (e.g. IPL 2026 series ID from CricAPI). Returns: data: points table rows with team, P, W, L, NRR, Points. meta.source: adapter that served the data.

  • cricket_get_schedule

    Return the upcoming match schedule, optionally filtered by series. Args: series_id: Optional. Filter to a specific series. If omitted, returns all upcoming fixtures across all active series. limit: Max matches to return, 1..200 (default 50). offset…

  • cricket_get_squad

    Return the squad roster for a cricket team, optionally for a specific series. Args: team: Team code or name (e.g. "MI", "CSK", "IND", "AUS"). series_id: Optional. Series ID to pull the tournament-specific squad. If omitted, falls back to static seed data…

  • cricket_get_live_odds

    Return live market head-to-head odds for upcoming/live IPL matches. IPL only (~March-May). An empty ``events`` list outside that window is a successful empty market, not an outage. Not international/Test/other T20 leagues. For World Cup 2026 football odds use…

  • cricket_build_dream11_team

    Recommend an optimal fantasy XI + captain + vice-captain for one fixture. Args: match_id: CricAPI match identifier; resolves team_a/team_b/venue automatically. team_a: First team code/name (e.g. ``MI``). Required if match_id is absent. team_b: Second team code/name…

  • cricket_captain_recommendation

    Return the top-3 captain candidates ranked by projected points. IPL venues only (pitch seed is IPL grounds). Test/international matches and unknown venues fail rather than inventing a ranking. Same-role players often tie: projections use default form 55 and default opposition…

  • cricket_differential_picks

    Suggest low-ownership picks with positive projected upside. Ownership is *estimated* — proxied by credit weight (lower-credit players tend to have lower ownership), not real ownership data. Flagged ``estimated: true`` in the response. Args: match_id: CricAPI match…

  • cricket_player_form_index

    Report a 0-100 form score for a player using the player_stats chain. Args: player_id: Upstream player identifier (CricAPI/Cricbuzz id). Returns: data.form_score: 0..100 indicator. data.trend: "rising" / "stable" / "falling". data.samples: how many recent…

  • cricket_get_pitch_report

    Summarise pitch characteristics for a venue. Args: venue: Venue key (e.g. ``wankhede``), official name, or city. Returns: data: {batting_friendly 0..1, expected_first_inn, recommendation, venue, pitch_type}. meta.source: which adapter served the venue…

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTime
8 h agoPassed2001.2 s
18 h agoPassed2001.2 s
28 h agoPassed2001.2 s
37 h agoPassed2001.2 s
46 h agoPassed2001.1 s
Show 4 older checks
2 days agoPassed200970 ms
3 days agoPassed2001.0 s
3 days agoPassed2001.3 s
4 days agoPassed200953 ms