# Ninjabeam20 Sportiq MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.github.ninjabeam20%2Fsportiq-mcp
Registry id: `mcp-registry/io.github.ninjabeam20/sportiq-mcp`
Status: live (checked 2026-10-27T01:27:10.757Z)

## Verdict

Ninjabeam20 Sportiq MCP server answered 99.12% of Glimind's liveness checks over 30 days, better than 9% of MCP servers, with 1297 ms median handshake and 26 outages in 90 days. Its agent-readiness grade is A (94/100) across 46 tools, costing an agent about 11,176 tokens to load. Checked every few minutes; no tool is ever called.

## Measurements (30 days)

| Metric | Value | Better than |
|---|---|---|
| Uptime, 30 days | 99.12% | 9% of MCP servers |
| Median handshake latency | 1297 ms | 12% of MCP servers |
| p95 handshake latency | 4389 ms | — |
| Checks in 30 days | 4,453 | — |
| Outages, 90 days | 26 | — |
| Median recovery | 7 min | — |
| Agent-readiness score | 94/100 (A) | 78% of MCP servers |
| Tools | 46 | — |
| Tool-list size for an agent | ~11,176 tokens | 16% of MCP servers |
| Days observed | 29 | — |

## Install

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

Claude Code:

```sh
claude mcp add --transport http ninjabeam20-sportiq-mcp-server https://sportiq.utkarshgupta.org/mcp
```

## Tools (67)

- `build_accumulator`: Build an accumulator bet across sports.
- `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. 
- `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 
- `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 ownersh
- `cricket_find_value_bets`: Compare model probabilities against market-implied IPL odds. Requires THEODDS_KEY. NOTE: cricket has no calibrated team-strength model wired yet (unlike the foo
- `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 a
- `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 ma
- `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
- `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 t
- `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 fixt
- `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 in
- `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: Optiona
- `cricket_head_to_head`: Compare two cricket teams head-to-head using squad form and player stats. Args: team_a: First team code or name (e.g. "MI", "India"). team_b: Second team code o
- `cricket_live_matches`: Get live cricket matches.
- `cricket_live_odds`: Get live betting odds.
- `cricket_pitch_report`: Get pitch report.
- `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
- `cricket_player_matchup`: Analyse the head-to-head matchup between two cricket players based on role and career stats. Args: player_a: CricAPI player ID for the first player (names are n
- `cricket_points_table`: Get IPL points table.
- `cricket_schedule`: Get IPL schedule.
- `cricket_scorecard`: Get scorecard for a match.
- `cricket_squad`: Get squad information.
- `cross_sport_build_accumulator`: Model the joint probability of multiple outcomes across football and cricket. Args: legs: Total legs across both sports (2-8). Default 3. min_edge: Minimum edge
- `f1_drivers`: Get F1 driver information.
- `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, fu
- `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 (driver numbers change
- `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-ba
- `f1_get_sessions`: Return F1 sessions for a given year, optionally filtered by country or session name. Args: year: Championship year (e.g. 2026). country: Optional country name t
- `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". For title probab
- `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, 
- `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_
- `f1_lap_times`: Get lap times for a session.
- `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: Drive
- `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: 
- `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. 
- `f1_race_results`: Get race results.
- `f1_sessions`: Get F1 session information.
- `f1_simulate_championship`: Estimate each driver's F1 drivers' title probability for the rest of a season. Monte Carlo over the remaining races and sprints (Plackett-Luce finishing orders 
- `f1_standings`: Get F1 standings.
- `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: 
- `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 ra
- `f1_weather`: Get weather data for a session.
- `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,
- `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 
- `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
- `football_fixtures`: Get FIFA World Cup 2026 fixtures.
- `football_form_trends`: Return rolling form, goal record, and xG trend for a football team. Args: team: FIFA code (e.g. ARG) or name (e.g. "Argentina", "South Korea"). Returns: data: {
- `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 t
- `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 /
- `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 o
- `football_get_odds`: Return market head-to-head odds for any World Cup 2026 events the odds feed still lists. Sourced from The Odds API (requires THEODDS_KEY). Without a key the cal
- `football_get_squad`: Return a national team's World Cup squad. Args: team: Team code or name (e.g. "ARG"). Live rosters need an API-Football key; without one the static seed serves 
- `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
- `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_groups`: Get FIFA World Cup 2026 group standings.
- `football_knockout_path`: Round-by-round survival probabilities for one team in the full sim. Args: team: FIFA code or name (e.g. "FRA" or "France"). iterations: Number of tournament sim
- `football_match_predictor`: Predict a single match: most likely scoreline + outcome probabilities. Args: home_team: First team, FIFA code or name (e.g. "ESP" or "Spain"). away_team: Second
- `football_match_stats`: Get match statistics for a specific match.
- `football_odds`: Get betting odds for matches.
- `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
- `football_simulate_group`: Monte Carlo one group within the full 12-group qualification context. Args: group: Group letter A-L (also accepts "Group A"). iterations: Number of simulations 
- `football_squad`: Get squad information for a team.
- `football_standings`: Get FIFA World Cup 2026 standings.
- `football_top_scorers`: Get top scorers for FIFA World Cup 2026.
- `football_what_if`: Replay World Cup 2026 from a chosen stage, optionally flipping one real knockout result. Keeps every real result played before ``replay_from`` and Monte-Carlos 
- `football_xg_model`: Estimate a match's expected goals and win/draw/loss probabilities. Args: home_team: First team, FIFA code or name (e.g. "ARG" or "Argentina"). away_team: Second
- `sportiq_health`: Report cache backend, per-adapter healthcheck, and quota status. Returns: HealthReport-shaped dict with `cache_backend`, `cache_ok`, `adapters` (per-source ok/d

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
