Wraps the free SportScore REST API so Claude can fetch live scores, standings, top scorers, brackets, and player stats across football, basketball, cricket, and tennis. No API key required. You get eight tools: match lists, match detail by slug, team schedules, league tables, top scorers and assisters, player metadata, knockout brackets, and live tracker data. Responses include a "Powered by SportScore" attribution that must stay visible under the free tier terms. Rate limit is roughly 1000 requests per IP per day with 60 second edge caching, which won't be a problem in conversational workflows. Useful when you want real time sports data without managing your own scraper or paying for a commercial feed.
MCP server for SportScore — live scores, match details, standings, top scorers, brackets and player stats across football, basketball, cricket and tennis. Free public API, CORS-open, no API key.
Works in any Model Context Protocol host: Claude Desktop, Cursor, Continue, Zed, and custom MCP clients.
Add this to claude_desktop_config.json:
macOS — ~/Library/Application Support/Claude/claude_desktop_config.json
Windows — %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"sportscore": {
"command": "npx",
"args": ["-y", "sportscore-mcp"]
}
}
}
Restart Claude Desktop. You should see the SportScore tools in the tools menu. Ask things like:
Any MCP host that accepts a stdio command works. The npx -y sportscore-mcp invocation is the same — consult your host's MCP docs for the exact config file.
Environment variables (optional):
| Variable | Default | Purpose |
|---|---|---|
SPORTSCORE_API_BASE | https://sportscore.com | Override the API base URL (useful for staging / self-hosted) |
SPORTSCORE_UA | sportscore-mcp/0.3 (+https://sportscore.com/developers/) | Override the User-Agent string |
SPORTSCORE_HTTP_PORT | (unset) | If set, run as a Streamable HTTP server on this port instead of stdio |
SPORTSCORE_HTTP_HOST | 127.0.0.1 | Bind address when running in HTTP mode |
SPORTSCORE_NO_TELEMETRY | (unset) | Set to 1 to disable the opt-out install-ping (see below) |
On startup the server fires one fire-and-forget POST to https://sportscore.com/api/mcp/ping/ with this payload:
{ "client": "sportscore-mcp", "version": "0.3.0", "transport": "stdio", "host": "darwin", "node": "20.11.0" }
That's the whole payload — no user id, no IP, no cookies, no fingerprint. We use it to see rough weekly-active-installs and Node/OS spread so we know what to support. Opt out with SPORTSCORE_NO_TELEMETRY=1.
| Tool | Purpose | Required args |
|---|---|---|
get_matches | Live + recent matches | sport |
get_match_detail | Single match by slug | sport, slug |
get_team_schedule | Team fixtures | sport, slug |
get_standings | League table | sport, slug |
get_top_scorers | Top scorers / assisters | sport, slug |
get_player | Player stats | sport, slug |
get_bracket | Knockout bracket | sport, slug |
get_tracker | Live tracker data | sport, id |
Full parameter docs and response shapes: sportscore.com/developers/ · OpenAPI 3.0 spec
This MCP server surfaces a Powered by SportScore attribution with every tool result. The free-tier API requires that attribution to remain visible in end-user-facing output — so please don't strip it from your prompts or post-processing.
Commercial / white-label use that needs to remove the attribution: api@sportscore.com. Terms: sportscore.com/developers/terms/.
Free tier: approximately 1000 requests / 24h / IP, with 60-second edge caching. Sensible for any MCP workflow — a user driving a chat session will not approach the limit. Bulk / production / higher-volume use: contact api@sportscore.com.
MIT — see LICENSE.
SPORTSCORE_API_BASEOverride the API base URL (default: https://sportscore.com). Useful for staging or self-hosted.
SPORTSCORE_UAOverride the User-Agent string sent to the SportScore API.