SportScore
The SportScore server provides live and historical sports data across football, basketball, cricket, and tennis, enabling AI assistants to query scores, standings, player stats, and more.
Live & Recent Matches (
get_matches): Retrieve live and recent match results with scores, status, kickoff times, and team logos.Match Details (
get_match_detail): Get in-depth data for a specific match by slug, including score, status, timeline, and lineups.Team Schedule (
get_team_schedule): Fetch a team's past and upcoming fixtures (e.g.barcelona,los-angeles-lakers).League Standings (
get_standings): View the current standings table for any league or competition (e.g. Premier League, NBA).Top Scorers / Assisters (
get_top_scorers): List leading scorers or assisters in a competition, with configurable limits.Player Stats (
get_player): Access player statistics and metadata by player slug (e.g.lionel-messi,lebron-james).Knockout Brackets (
get_bracket): View bracket structures for knockout tournaments (e.g. UEFA Champions League, NBA Playoffs).Live Match Tracker (
get_tracker): Retrieve real-time tracker data (positions, animation frames) for an ongoing match, primarily useful for football.
Allows fetching NBA standings, live matches, and team schedules.
Allows fetching live and recent Premier League matches, standings, top scorers, team schedules, and match details.
sportscore-mcp
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.
What it gives your AI assistant
Live + recent matches by sport
Single match detail (score, status, timeline, lineups)
Team schedules
League / competition standings
Top scorers / top assisters
Player statistics and metadata
Knockout tournament brackets
Live match tracker data
Related MCP server: mcp-odds-api
Install in Claude Desktop
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:
"What Premier League matches are live right now?"
"Show me the NBA standings."
"Who are the top scorers in La Liga?"
"What's Barcelona's next fixture?"
Install in Cursor / Continue / Zed
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.
Configuration
Environment variables (optional):
Variable | Default | Purpose |
|
| Override the API base URL (useful for staging / self-hosted) |
|
| Override the User-Agent string |
| (unset) | If set, run as a Streamable HTTP server on this port instead of stdio |
|
| Bind address when running in HTTP mode |
| (unset) | Set to |
Anonymous install-ping (opt-out)
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.
Tools
Tool | Purpose | Required args |
| Live + recent matches |
|
| Single match by slug |
|
| Team fixtures |
|
| League table |
|
| Top scorers / assisters |
|
| Player stats |
|
| Knockout bracket |
|
| Live tracker data |
|
Full parameter docs and response shapes: sportscore.com/developers/ · OpenAPI 3.0 spec
Attribution
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/.
Rate limits
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.
License
MIT — see LICENSE.
Links
Available Tools
8 toolsget_bracketA
Get the knockout bracket for a tournament (e.g. 'uefa-champions-league', 'nba-playoffs').
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | Sport to query. One of football, basketball, cricket, tennis. | |
| slug | Yes | Competition slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states it gets data. It fails to disclose behavioral traits such as authentication requirements, rate limits, or error handling (e.g., what happens if the bracket doesn't exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words, efficiently conveying the tool's purpose and providing illustrative examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 required parameters and no output schema, the description is adequate but not complete—it doesn't describe the response structure or potential error states, which an agent would need to interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds marginal value by giving a concrete example of a slug format, but it doesn't clarify the relationship between slug and sport beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the knockout bracket for a tournament, with specific examples that differentiate it from sibling tools like get_matches or get_standings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides examples of tournament slugs but offers no guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_match_detailA
Get detailed data for a single match by its slug (e.g. 'manchester-united-vs-liverpool'): score, status, timeline, lineups. Slugs come from get_matches results or match URLs on sportscore.com.
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | Sport to query. One of football, basketball, cricket, tennis. | |
| slug | Yes | Match slug, e.g. 'manchester-united-vs-liverpool'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses the output fields but omits any behavioral traits such as idempotency, side effects, or authentication needs. For a read-only tool, this is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the core functionality and output fields, the second provides the source of the slug. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lists key fields returned (score, status, timeline, lineups). It does not mention optional fields or nesting, but for a single-match detail tool this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear schema descriptions. The description repeats the slug example without adding new semantic context beyond the schema, meeting the baseline for complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed data for a single match by slug, listing specific fields (score, status, timeline, lineups). It distinguishes from sibling `get_matches` which returns a list of matches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on where to obtain slugs (from `get_matches` or match URLs), implying it is a follow-up tool. It does not explicitly state when not to use it or compare to other siblings beyond `get_matches`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_matchesA
List live and recent matches for a sport. Returns up to limit matches with scores, status, kickoff time and team logos. Good default for 'what's happening in football right now?'.
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | Sport to query. One of football, basketball, cricket, tennis. | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. Mentions returned fields (scores, status, kickoff time, logos) and limit. Does not clarify what 'recent' means, if future matches are included, or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. Front-loaded with action and returns. Second sentence adds a practical use case. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description lists return fields. Lacks response structure details and error handling. For a simple list tool, it's nearly complete. Low complexity (2 params) helps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only sport has description). Description adds 'Returns up to limit matches', explaining limit's effect, but no detail on default or max/min beyond schema defaults. Baseline 3 with partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'list', resource 'matches', and scope 'live and recent for a sport'. It distinguishes from siblings like get_match_detail (single match) and get_bracket (tournament).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear use case: 'Good default for what's happening in football right now?', implying it's for overview. However, lacks explicit when-not-to-use or alternative tool names, though sibling context exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_playerA
Get player statistics and metadata by player slug (e.g. 'lionel-messi', 'lebron-james', 'virat-kohli').
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | Sport to query. One of football, basketball, cricket, tennis. | |
| slug | Yes | Player slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavioral traits. It states it retrieves statistics and metadata, which is a safe read operation. However, it does not mention authentication requirements, rate limits, or the scope of data returned. Basic but sufficient for a simple retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loads the action and resource. No wasted words. The example slugs are efficient and enhance clarity without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description is nearly complete. It covers the core purpose and parameter usage. Minor gap: it does not specify whether the response is a single player or a list, but the singular 'player' implies one. No return format details are necessary if the schema is self-documenting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by providing concrete examples of slugs (lionel-messi, etc.), which clarifies the expected format beyond the schema's 'Player slug.' description. This helps an agent understand the required pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Get' paired with resource 'player statistics and metadata'. Provides specific slug examples (lionel-messi, lebron-james, virat-kohli) that distinguish it from sibling tools like get_bracket or get_match_detail which operate on different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies the tool is used when you have a player slug and sport, but does not explicitly state when to prefer this tool over alternatives. No exclusion criteria or context for when not to use it. Usage is inferred but not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_standingsA
Get the current standings table for a league or competition by slug (e.g. 'premier-league', 'la-liga', 'nba').
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | Sport to query. One of football, basketball, cricket, tennis. | |
| slug | Yes | Competition slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It correctly implies a read-only operation (getting standings). It lacks details on data freshness, permissions, or side effects, but for a simple query tool, the transparency is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no excess information. It front-loads the key action and resource, making it efficient for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 simple parameters and no output schema, the description is largely complete. It could optionally hint at the structure of the returned standings (e.g., team, points), but the current level is sufficient for most agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; both parameters are described. The description adds value by providing examples of slugs and the context of leagues/competitions, helping the agent choose correct values beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('current standings table'), and the scope ('for a league or competition by slug'), with concrete examples. It distinguishes clearly from siblings like 'get_bracket' or 'get_match_detail'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on how to use the tool (by slug) and gives examples. However, it does not explicitly state when not to use it or mention alternative tools for specific needs (e.g., match details).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_team_scheduleA
Get a team's past and upcoming fixtures by team slug (e.g. 'barcelona', 'manchester-united', 'los-angeles-lakers').
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | Sport to query. One of football, basketball, cricket, tennis. | |
| slug | Yes | Team slug. | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses that the tool returns both past and upcoming fixtures (read-only), adding behavioral context beyond parameter names. With no annotations, this is beneficial but limited—no mention of ordering, pagination, or what constitutes a fixture. Does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 16 words includes purpose, resource, input method, and examples. No unnecessary words or repetition. Excellent front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and no output schema, description adequately explains input but omits return structure (what fields in a fixture) and the effect of the limit parameter. Without an output schema, this gap reduces completeness for an agent to correctly interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (slug and sport described; limit has only constraints). Description adds value for the slug parameter with real-world examples (e.g., 'manchester-united'), clarifying the hyphenated lowercase format not evident from the schema. No extra information for limit or sport beyond schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get a team's past and upcoming fixtures' and uses specific verb 'Get' with resource 'team schedule' identified by 'team slug'. Examples like 'barcelona' and 'manchester-united' clarify expected input format. This distinctly separates it from sibling tools like get_matches or get_match_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides clear context: use when you need a team's list of fixtures by slug, with concrete examples. However, it does not explicitly state when to use this tool over alternatives (e.g., get_matches or get_match_detail), leaving differentiation implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_scorersA
Get the top scorers (or top assisters) for a competition. Useful for 'who's leading the Premier League scoring charts?'.
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | Sport to query. One of football, basketball, cricket, tennis. | |
| slug | Yes | Competition slug. | |
| limit | No | ||
| stat | No | goals |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description does not disclose behavioral traits such as read-only nature, rate limits, pagination behavior, or data freshness. For a tool with no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. Front-loaded with purpose, followed by a relevant example. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple list tool, but no output schema or description of return format. Missing details on competition specification and scoring definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; the description adds context for the stat parameter by mentioning 'top assisters', but does not explain the limit or sport parameter beyond what schema already provides. Partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves top scorers or assisters for a competition, with a concrete example. It effectively distinguishes from sibling tools like get_matches or get_player.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a typical use case example but no explicit guidance on when to use vs alternatives or when not to use. Lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trackerA
Get live match tracker data (position, animation frames) for a match by numeric id. Usually only useful for football.
| Name | Required | Description | Default |
|---|---|---|---|
| sport | Yes | Sport to query. One of football, basketball, cricket, tennis. | |
| id | Yes | Numeric match id from the upstream provider. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It mentions retrieving position and animation frames, but omits critical details such as data freshness, whether it works for live or historical matches, rate limits, or permission requirements. This lack of depth leaves the agent with insufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the main action and purpose. Every word serves a function, with no redundancy or filler. It is concise and immediately informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two required parameters and no output schema. The description covers the basic purpose and data type, but it does not mention response format, error handling, or sport-specific behavior beyond football. For a simple tool, it is minimally acceptable but lacks completeness for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have descriptions. The description adds minimal value by noting 'numeric id' for the id parameter, but it does not enhance understanding beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool retrieves 'live match tracker data (position, animation frames)' for a match by numeric id, clearly specifying the verb and resource. It also distinguishes itself by noting it's 'usually only useful for football,' contrasting with sibling tools like get_match_detail which likely provide different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a usage hint by stating 'Usually only useful for football,' implying it may not be suitable for other sports. However, it does not explicitly specify when to use this tool over alternatives like get_match_detail or provide clear exclusions, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v0.1.1- First observed
get_bracket - First observed
get_match_detail - First observed
get_matches - First observed
get_player - First observed
get_standings - First observed
get_team_schedule - First observed
get_top_scorers - First observed
get_tracker
TDQS
Scored across 8 tools
Each tool targets a distinct aspect of sports data (brackets, match detail, list matches, players, standings, schedule, top scorers, live tracker) with no overlapping purposes. The descriptions clearly differentiate them.
All tool names follow a consistent `get_` prefix followed by a descriptive noun in snake_case (e.g., get_bracket, get_match_detail). The pattern is uniform and predictable.
With 8 tools, the server covers a broad range of common sports queries without being excessive or insufficient. Each tool has a clear role, making the set well-scoped for its domain.
The tools cover core sports data needs: matches, details, standings, schedules, players, top scorers, brackets, and live tracking. A minor gap is the lack of team or league metadata tools, but the surface is largely complete for typical use cases.
Maintenance
Related MCP Connectors
Sports MCP — wraps TheSportsDB API (free tier, test key 3, no auth required)
ESPN MCP — keyless multi-sport live scores, teams, and news via ESPN's public site API.
Live sports stats and pre-computed analysis for AI assistants across NBA, MLB, NFL, and NHL.
API-Football MCP — comprehensive soccer/football data
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to access comprehensive sports data including football, basketball, American football, and hockey leagues via 11 tools, with no API key required.MIT
- AlicenseNot gradedqualityCmaintenanceEnables fetching sportsbook odds, live scores, and event information across 70+ books and 30+ leagues, with tools to list sports, get scores, and discover events.5 npmMIT
- FlicenseBqualityDmaintenanceMCP server that enables Claude Desktop to access real-time sports data including live scores, fixtures, standings, and NBA statistics using free APIs.10-
- AlicenseNot gradedqualityAmaintenanceGet live scores, schedules, standings, team and player data for NFL, NBA, MLB, NHL, soccer, and more via MCP.61 npm2Apache 2.0