Repository avatar
AI Tools
v0.1.2
active

sports-scores-mcp

ai.greyridgesignals/sports-scores-mcp

Keyless live & same-day scores: NFL NBA MLB NHL soccer + 20 sports. No API key, unified schema.

Documentation

Grey Ridge — Live Sports Scores MCP Server (keyless)

A keyless, hosted Model Context Protocol server over TheSportsDB's free API. Agent-callable with no token, so it is selectable by autonomous agents the moment it is listed in the official MCP registry.

  • Live endpoint: https://sports-scores-mcp.sigrunner.workers.dev/mcp (streamable-http, stateless)
  • Registry: ai.greyridgesignals/sports-scores-mcp (registry.modelcontextprotocol.io)

Tools

toolpurpose
get_live_scoresIn-progress games across 20+ sports (or one sport), sorted by freshness.
get_scores_by_dateAll events on a UTC calendar date, optionally one sport.
list_sportsSupported sport filters + common aliases (nba/nfl/nhl/mlb).

Every row is normalized to one cross-sport schema with a derived lifecycle status (scheduled / in_progress / final / postponed) and a freshness field (data_age_seconds — how stale the reading was at serve time). Freshness is the axis stale ESPN-clone snapshots lack.

Call it

curl -s -X POST https://sports-scores-mcp.sigrunner.workers.dev/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_live_scores","arguments":{"sport":"soccer"}}}'

Source / terms

TheSportsDB free tier (key "123"), queried on demand (not mirrored), attributed on every row via source + source_url. No commercial-use or redistribution bar on the free tier (checked 2026-11-11). Value add on top: unified schema, derived status, freshness age.

Test

node test/mcp_check.mjs — 18 offline assertions + a live TheSportsDB call.