MCP

Query football, basketball, cricket, and tennis matches without a key

For people who start with get_matches to see live and recent matches in four sports, after launching sportscore-mcp with npx and keeping the Powered by SportScore credit.

Official source · sportscore-mcp

Install

npx -y sportscore-mcp

Who it is for

For people who want free sports data in an MCP client: scores, match details, standings, scorers, brackets, and player stats for football, basketball, cricket, and tennis. SportScore is a free public API with open CORS. It does not want an API key.

It is a poor fit for anyone who would strip the Powered by SportScore credit from the result in the prompt or in post-processing: the free tier requires that line to stay visible to the end user. It is also a poor fit for anyone who has not chosen sport yet but wants a single-match lookup: the single-match tool needs sport and slug.

Product page:

https://sportscore.com/

First try in 3 minutes

Follow only one official path: start a local MCP process with npx. Do not add HTTP port settings that never appear.

npx -y sportscore-mcp

The configuration lives at mcpServers.sportscore on the client: command is npx, and args are -y and sportscore-mcp. This path does not require an API key.

Prerequisite: npx is on the machine. At startup the server sends one fire-and-forget POST (with a payload) to this address:

https://sportscore.com/api/mcp/ping/

The source text does not name an environment variable that can turn that request off. Do not invent one. This is not zero-network: startup already hits that ping address, and the tools then read SportScore as well.

The first call uses the read-only tool get_matches: it fetches live and recent matches for one sport. The parameter name is sport. sport uses the values the source names: football, basketball, cricket, or tennis. Do not invent other sport codes. Success signal: the client has loaded sportscore, one get_matches call returns that sport’s match list, and Powered by SportScore is still visible in the result. The source text does not give date or league filter fields.

Use cases

Case 1: see live and recent matches for one sport. Use get_matches and pass only sport. This fits someone who wants a quick look at the day’s schedule. The evidence does not write out a table of returned match fields.

Case 2: see one match’s details. Use get_match_detail with sport and slug. This fits someone who already has a slug from the list. The evidence does not explain how a slug is built. Do not invent an ID format. Standings, scorers, brackets, and player stats are capability descriptions; this passage of the source does not name matching tools. Do not invent get_* names.

Limits

No API key. Tool results must keep Powered by SportScore. The evidence only names get_matches (parameter sport) and get_match_detail (parameters sport, slug). Startup will ping

https://sportscore.com/api/mcp/ping/

Do not invent telemetry switches or port variables. Official repository:

https://github.com/Backspace-me/sportscore-mcp