_ registry / mcp streamable-http · checked 1h ago

sportstatsapi

https://mcp.sportstatsapi.com

Registry code: fc38cb4848ea4321

api record

SportStatsAPI: fixtures, live scores, results, match events, lineups, box scores, play-by-play, standings, teams and players for soccer, basketball, baseball, hockey, tennis, handball, volleyball and American football, including many lower leagues.

Typical flow: find_leagues or find_teams to get ids, then get_matches (by date), get_match_briefing and get_team_briefing for ready briefings (any sport), get_league_facts for what finished matches changed, get_match / get_match_details, get_standings, get_team, get_player. Dates are YYYY-MM-DD in UTC. Add lang (de, es, it, fr) for translated team…

endpoint
https://mcp.sportstatsapi.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is sportstatsapi live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is sportstatsapi free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does sportstatsapi have?
13 tools: find_teams, get_live_matches, get_match, get_match_briefing, get_match_details, get_matches, get_player, get_standings, ….
Is sportstatsapi safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
305ms

last good check

priced tools
0

of 13 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 13 tools
1 open1 auth-required 11 never probed 2 of 13 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_sports open 1h ago

    Sports available, with whether each has upcoming matches. Free.

    mcp-tool

    {
      "type": "object",
      "additionalProperties": false
    }
    arguments 4 lines
  • get_league_facts auth-required 1h ago

    What finished matches changed, newest first: the match story (comebacks, late winners, red cards), runs started or ended, table places and zones, each also as a sentence (lang de, es, it, fr). Use for 'what happened in this league today'. Facts only.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "since": {
          "type": "string",
          "description": "only matches updated after this RFC 3339 time"
        },
        "sport": {
          "type": "string",
          "description": "sport (default soccer; see list_sports)"
        },
        "league_id": {
          "type": "integer",
          "description": "only this league (from list_leagues)"
        },
        "min_importance": {
          "type": "integer",
          "description": "only facts of at least this importance, 0-100 (default 50)"
        }
      },
      "additionalProperties": false
    }
    arguments 26 lines
  • find_teams unknown never probed

    Find teams by name, with their ids, country, venue and leagues.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sport",
        "name"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "name": {
          "type": "string",
          "description": "part of the team name, e.g. 'Bayern'"
        },
        "limit": {
          "type": "integer",
          "description": "max teams (default 20, max 100)"
        },
        "sport": {
          "type": "string",
          "description": "sport (see list_sports)"
        },
        "league_id": {
          "type": "integer",
          "description": "only teams of this league"
        }
      },
      "additionalProperties": false
    }
    arguments 30 lines
  • get_live_matches unknown never probed

    Matches in play right now, with score and minute or period.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sport"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "sport": {
          "type": "string",
          "description": "sport (see list_sports)"
        },
        "league_id": {
          "type": "integer",
          "description": "only this league"
        }
      },
      "additionalProperties": false
    }
    arguments 21 lines
  • get_match unknown never probed

    One match: teams, score, status, events (goals, cards...), venue, referee.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sport",
        "match_id"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "sport": {
          "type": "string",
          "description": "sport (see list_sports)"
        },
        "match_id": {
          "type": "integer",
          "description": "match id from get_matches"
        }
      },
      "additionalProperties": false
    }
    arguments 22 lines
  • get_match_briefing unknown never probed

    Ready briefing for one match (any sport): form, current streaks, home and away records, head-to-head, table position and gaps, stakes, schedule; for soccer also injuries, lineups and, after the match, the story (comeback, late winner, red cards). Each statement also as a sentence (lang de, es, it, fr). Facts only, no predictions. Prefer this for 'tell me about this match'.

    mcp-tool

    {
      "type": "object",
      "required": [
        "match_id"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "sport": {
          "type": "string",
          "description": "sport (default soccer; see list_sports)"
        },
        "format": {
          "type": "string",
          "description": "md for a short Markdown text instead of JSON"
        },
        "match_id": {
          "type": "integer",
          "description": "match id from get_matches"
        }
      },
      "additionalProperties": false
    }
    arguments 25 lines
  • get_match_details unknown never probed

    Detail of one match: statistics or box score, lineups, injuries, or play-by-play.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sport",
        "match_id",
        "part"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "part": {
          "type": "string",
          "description": "stats, lineups or injuries (soccer); stats (box score) or play_by_play (basketball, baseball, hockey, tennis, american-football)"
        },
        "sport": {
          "type": "string",
          "description": "sport (see list_sports)"
        },
        "match_id": {
          "type": "integer",
          "description": "match id from get_matches"
        }
      },
      "additionalProperties": false
    }
    arguments 27 lines
  • get_matches unknown never probed

    Matches (fixtures and results) by day or date range, optionally of one league. Without a date: today.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sport"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "day YYYY-MM-DD (UTC)"
        },
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "limit": {
          "type": "integer",
          "description": "max matches (default 20, max 100)"
        },
        "sport": {
          "type": "string",
          "description": "sport (see list_sports)"
        },
        "offset": {
          "type": "integer",
          "description": "skip this many matches (paging)"
        },
        "status": {
          "type": "string",
          "description": "match status filter as the API reports it, e.g. FT or NS"
        },
        "date_to": {
          "type": "string",
          "description": "last day YYYY-MM-DD of a range"
        },
        "date_from": {
          "type": "string",
          "description": "first day YYYY-MM-DD of a range"
        },
        "league_id": {
          "type": "integer",
          "description": "league id from find_leagues"
        },
        "league_name": {
          "type": "string",
          "description": "exact league name, picks one division where several share a league id"
        }
      },
      "additionalProperties": false
    }
    arguments 49 lines
  • get_player unknown never probed

    Player profile: position, nationality, birth date, height, team, career and photo link where known.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sport",
        "player_id"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "sport": {
          "type": "string",
          "description": "sport (see list_sports)"
        },
        "player_id": {
          "type": "integer",
          "description": "player id from a squad or lineup"
        }
      },
      "additionalProperties": false
    }
    arguments 22 lines
  • get_standings unknown never probed

    League table of a league.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sport",
        "league_id"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "sport": {
          "type": "string",
          "description": "sport (see list_sports; not tennis)"
        },
        "league_id": {
          "type": "integer",
          "description": "league id from find_leagues"
        }
      },
      "additionalProperties": false
    }
    arguments 22 lines
  • get_team unknown never probed

    Team profile (country, founded, venue, leagues, logo link), optionally with its squad.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sport",
        "team_id"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "sport": {
          "type": "string",
          "description": "sport (see list_sports; not tennis)"
        },
        "squad": {
          "type": "boolean",
          "description": "also return the squad (players)"
        },
        "team_id": {
          "type": "integer",
          "description": "team id from find_teams or a match"
        }
      },
      "additionalProperties": false
    }
    arguments 26 lines
  • get_team_briefing unknown never probed

    Ready briefing for one team (any sport; for tennis a player): form, streaks (overall, home, away), home and away record, table place and gaps, last and next match, injuries (soccer); each also as a sentence (lang de, es, it, fr). Facts only.

    mcp-tool

    {
      "type": "object",
      "required": [
        "team_id"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "sport": {
          "type": "string",
          "description": "sport (default soccer); for tennis the id is a player id"
        },
        "format": {
          "type": "string",
          "description": "md for a short Markdown text instead of JSON"
        },
        "team_id": {
          "type": "integer",
          "description": "team id from find_teams or a match (tennis: player id)"
        }
      },
      "additionalProperties": false
    }
    arguments 25 lines
  • find_leagues unknown 1h ago

    Find leagues (competitions) of a sport and their ids, optionally by name or country. Free.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sport"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "description": "language of team, league and country names: de, es, it or fr (default English)"
        },
        "query": {
          "type": "string",
          "description": "text the league or country name must contain, e.g. 'Premier League' or 'Germany'"
        },
        "sport": {
          "type": "string",
          "description": "sport: soccer, basketball, baseball, hockey, tennis, handball, volleyball or american-football"
        },
        "future": {
          "type": "boolean",
          "description": "only leagues with upcoming matches"
        }
      },
      "additionalProperties": false
    }
    arguments 25 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id fc38cb4848ea4321.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/fc38cb4848ea4321/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/fc38cb4848ea4321/badge.svg)](https://brick.blue/agent/fc38cb4848ea4321?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.