Skip to main content
Glama

SportStatsAPI

Server Details

Fixtures, live scores, results, tables and match facts for 1,881 competitions in 8 sports.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.4/5.0

Scored across 13 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but three tools target a single match (get_match, get_match_details, get_match_briefing) and two target a team (get_team, get_team_briefing), creating some boundary ambiguity. The descriptions do clarify the split (basic vs stats vs narrative briefing), so an agent can mostly disambiguate.

Naming Consistency4/5

Names consistently use snake_case with a small verb set (find_, get_, list_), which is predictable and readable. The find_ vs get_ distinction (search-by-name vs fetch-by-id) is a minor deviation but meaningful, not chaotic.

Tool Count5/5

13 tools is well-scoped for a sports data API covering sports, leagues, teams, players, matches, and standings. Each tool earns its place without obvious redundancy or bloat.

Completeness4/5

The surface covers the full lifecycle from discovery (list_sports, find_leagues, find_teams) through detail (match, team, player, standings, briefings, live). A notable gap is the absence of a player search/find tool (only get_player by id), plus no explicit head-to-head tool, but core workflows are covered.

Available Tools

13 tools
find_leaguesA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
queryNotext the league or country name must contain, e.g. 'Premier League' or 'Germany'
sportYessport: soccer, basketball, baseball, hockey, tennis, handball, volleyball or american-football
futureNoonly leagues with upcoming matches

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds one genuinely useful behavioral fact not present in structured data — that the endpoint is 'Free' — but says nothing about result volume, rate limits, or pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler: verb and resource first, filters second, cost note last. Nothing is wasted and nothing important is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with no output schema and full parameter documentation elsewhere, the description covers intent, filters, and cost. It could be slightly more complete by noting result size or an example use case, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents lang, query, sport and future with examples and enums. The description only restates the name/country filtering idea, adding little beyond what the schema provides; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (find) and resource (leagues/competitions) and clarifies that the result centers on league ids, which is the actual payload an agent needs. It does not explicitly contrast with the closest sibling (find_teams) or get_league_facts, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'optionally by name or country' implies the intended lookup scenario and hints at the two filter modes, but there is no explicit when-to-use guidance, no statement of when not to use it, and no routing to alternatives such as find_teams or get_league_facts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_teamsA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
nameYespart of the team name, e.g. 'Bayern'
limitNomax teams (default 20, max 100)
sportYessport (see list_sports)
league_idNoonly teams of this league

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the return payload fields (ids, country, venue, leagues), which is genuinely useful since there is no output schema, but it says nothing about matching semantics, empty results, or that limit/pagination exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the verb, resource, key, and result fields all earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only search tool with fully described parameters, the description covers purpose and the shape of the returned data, compensating for the absent output schema. Only the lack of guidance against sibling lookups (get_team, find_leagues) keeps it from being complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: every parameter (lang, name, limit, sport, league_id) is documented in the schema, including defaults and the list_sports pointer. The description adds no parameter detail beyond what the schema already provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find teams') plus the matching key ('by name') and the payload returned (ids, country, venue, leagues), which distinguishes it from the single-entity get_team. It never names a sibling tool explicitly, so the differentiation is inferred from 'by name'/'teams' rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by name' implies a partial-name search use case, but there is no explicit when-to-use, when-not-to-use, or pointer to alternatives like get_team or find_leagues. Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_league_factsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
sinceNoonly matches updated after this RFC 3339 time
sportNosport (default soccer; see list_sports)
league_idNoonly this league (from list_leagues)
min_importanceNoonly facts of at least this importance, 0-100 (default 50)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint=false, so the safety profile is covered; the description adds real behavioral detail beyond that: newest-first ordering, delta semantics ('what finished matches changed', 'runs started or ended'), and the 'facts only' scope limit. idempotentHint=false is consistent with a time-delta feed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core behavior (changed finished matches, newest first) before the content enumeration. Dense but every clause carries information; the closing 'Facts only' is a useful scope fence rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description takes on describing returns and does so adequately by listing the fact categories and the localized sentence option. Combined with full schema coverage and clear annotations, an agent has what it needs to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (lang, since, sport, league_id, min_importance) are already documented in the schema, and the description only restates the lang options. No additional syntax or interaction detail is provided, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource and enumerates the returned content (match story, runs, table places/zones, localized sentences). It reads as a 'what changed in this league' feed, which distinguishes it from get_standings and get_matches by scope. It stops short of naming a sibling to contrast with explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete usage cue — "Use for 'what happened in this league today'" — which frames it as a recency/change feed rather than a lookup. No when-not or named alternatives, but the context is clear enough to route correctly against get_matches/get_standings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_live_matchesB
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
sportYessport (see list_sports)
league_idNoonly this league

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a read-only, non-open-world operation, so the safety picture is covered. The description adds a useful hint about payload content (score and minute or period), but says nothing about freshness, polling behavior, or what happens when nothing is in play.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clause that front-loads the scope (live matches) and then the return content. No filler, nothing to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only listing tool with no output schema, the description conveys scope and rough return shape, and annotations/schema cover the rest. Only the empty-result and freshness cases go unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all three parameters are self-documented (including the lang enum values and the pointer to list_sports for sport). The description adds no syntax, default, or scoping detail beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (matches) with a precise scope qualifier ("in play right now"), which cleanly separates it from get_matches and get_match. It stops short of naming those siblings explicitly, so the differentiation is inferable rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no pointer to the obvious alternatives (get_matches for scheduled/finished fixtures, get_match for a single game). The agent must infer from the phrase "right now" alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_matchC
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
sportYessport (see list_sports)
match_idYesmatch id from get_matches

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the useful detail that the response includes teams, score, status, events, venue, and referee, but it does not extend behavioral context such as error handling, data freshness, or shape beyond the listed fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence fragment that front-loads the resource scope and then enumerates returned content. It is efficient and free of filler, though the fragmentary phrasing is less helpful than a complete clause would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations covering return content, the description does list the main fields returned, which is helpful. However, it does not explain the relationship to sibling match tools or provide enough context for an agent to confidently choose this over get_match_details or get_match_briefing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter is clearly documented in the input schema, including lang, sport, and match_id. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource and lists the fields returned by a single-match lookup, but it does not explicitly distinguish this tool from siblings like get_match_details, get_match_briefing, or get_matches. It is clear enough to know it returns one match, but not why an agent should choose it over the closely named alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus get_matches, get_match_details, or get_match_briefing. The required sport and match_id parameters imply it needs an existing match identifier, but the description never states prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_match_briefingA
Read-only
Inspect

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
sportNosport (default soccer; see list_sports)
formatNomd for a short Markdown text instead of JSON
match_idYesmatch id from get_matches

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description still adds real behavioral context beyond them: the output is 'facts only, no predictions', content varies by sport (soccer-only injuries/lineups/story), and responses can be localized per language. It does not mention latency, rate limits, or behavior for unknown/invalid match_ids.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core deliverable, then constraints and routing, and every sentence carries information. The middle content list is dense and slightly list-heavy, but nothing is wasted or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe the return payload — and it does so explicitly, including sport-dependent differences and the post-match 'story' fields, plus the multilingual sentence form. An agent knows what it will get and how to ask for Markdown instead of JSON.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so lang, sport, format and match_id are already documented in the schema (including the de/es/it/fr values and the get_matches provenance of match_id). The description only echoes the language set and match scope, adding no syntax or constraint information beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Ready briefing for one match') and then enumerates exactly what the payload contains (form, streaks, home/away records, H2H, table gaps, stakes, schedule, plus soccer injuries/lineups/post-match story). That content inventory cleanly separates it from siblings like get_match, get_match_details and get_team_briefing without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Prefer this for "tell me about this match"' gives an explicit selection cue against the other match tools. It lacks an explicit when-NOT-to-use clause (e.g., prefer get_match_details when you want raw per-event data), so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_match_detailsB
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
partYesstats, lineups or injuries (soccer); stats (box score) or play_by_play (basketball, baseball, hockey, tennis, american-football)
sportYessport (see list_sports)
match_idYesmatch id from get_matches

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful context about the range of payloads available per sport, but says nothing about response size, pagination, or whether a given part is always present for any sport.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that wastes no words and puts the resource ('one match') ahead of the payload list. It is efficient, though the terseness leaves several questions unanswered that a slightly longer description could have addressed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description carries some burden of describing returns, which it does at a high level via the payload enumeration. However, it omits routing guidance relative to three closely related match siblings and gives no sense of response shape or sport-dependent availability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter (lang, part, sport, match_id) is already documented in the schema with its allowed values and cross-references (list_sports, get_matches). The description only restates the payload vocabulary already present in the 'part' description, adding no new syntax or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb+resource ('Detail of one match') and enumerates the content payloads available (statistics/box score, lineups, injuries, play-by-play). It is clear what the tool returns, but it does not distinguish itself from sibling tools like get_match or get_match_briefing, which plausibly overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to call this versus get_match, get_match_briefing, or get_live_matches. The enumeration of 'part' values implies that different content types are available, but the agent must infer which sibling to pick with no stated condition or exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_matchesA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoday YYYY-MM-DD (UTC)
langNolanguage of team, league and country names: de, es, it or fr (default English)
limitNomax matches (default 20, max 100)
sportYessport (see list_sports)
offsetNoskip this many matches (paging)
statusNomatch status filter as the API reports it, e.g. FT or NS
date_toNolast day YYYY-MM-DD of a range
date_fromNofirst day YYYY-MM-DD of a range
league_idNoleague id from find_leagues
league_nameNoexact league name, picks one division where several share a league id

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the default-date behavior, but says nothing about pagination behavior, result volume, or how a range interacts with limit/offset, leaving some behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with the core scope front-loaded and the default behavior appended. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter read-only list tool with no output schema, the description covers what is returned (matches = fixtures and results), the date scoping, and the default. It omits paging/language behavior, which the schema handles, so it is largely complete for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (date, date_from/date_to, league_id vs league_name, limit, offset, lang) is already documented in the schema. The description restates the date-range and league concepts but adds no semantics beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (matches, explicitly fixtures and results) and the retrieval axis (by day or date range, optionally of one league). It is clearly distinct from get_match_details or get_standings, though it does not explicitly distinguish itself from the sibling get_live_matches.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It supplies one useful usage rule — omit the date to get today's matches — which is implied guidance for the default case. It does not state when to prefer this over get_live_matches for in-progress games, nor any prerequisites, so usage is only partially covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_playerC
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
sportYessport (see list_sports)
player_idYesplayer id from a squad or lineup

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=false, so the safety profile is covered. The description adds a small nuance with 'where known', signaling optional/missing fields. It does not disclose behavior when a player_id is invalid or not found, which for a read tool with annotations covering the basics is a modest but acceptable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact fragment with zero filler, front-loading the most useful information (it returns a player profile with these fields). It is efficient, though it is a noun-phrase list rather than a structured statement of purpose and usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully documents the returned fields, which is the main completeness requirement here. It falls short on when-to-use and error behavior, but for a simple lookup whose annotations cover read-only safety, it is adequate without being complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so lang, sport, and player_id are fully documented in the schema itself (including that player_id comes from a squad or lineup). The description adds no parameter meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates the fields returned (position, nationality, birth date, height, team, career, photo) which effectively identifies it as a player-profile lookup, and the name supplies the verb. However it never states the action (retrieves a player profile) explicitly and does not differentiate from siblings like get_team or get_match beyond the player-specific field list. Purpose is inferable but stated as output content rather than intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites (e.g. that a valid player_id must come from a squad/lineup call), and no routing to alternatives among the twelve siblings. The only hint toward usage lives in the schema, not the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_standingsC
Read-only
Inspect

League table of a league.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
sportYessport (see list_sports; not tennis)
league_idYesleague id from find_leagues

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description contributes nothing further: no indication of how the table is ordered, which fields it contains, whether it reflects live or final results, or how the lang parameter affects output. It is purely a restatement of the resource.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six words, front-loaded, with no filler sentences — structurally clean. But the brevity is under-specification rather than true conciseness, since the single sentence carries no operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description bears the burden of describing what standings look like (position, points, played, goal difference, etc.) and it says nothing. For a lookup tool whose value depends entirely on the shape of the returned table, this is a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (lang, sport, league_id) are already documented in the schema, including the sport exclusion of tennis and the source lookup siblings. The description adds no parameter-level meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'league table of a league' names the resource and uses domain vocabulary ('league table') that goes beyond simply restating the tool name, so an agent can tell it returns standings/rankings rather than fixtures or team data. However there is no verb and no differentiation from siblings like get_league_facts or find_leagues, leaving the purpose only loosely pinned down.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no when-to-use guidance, no prerequisites, and no mention of any alternative tool. The only routing hint comes from the input schema ('see list_sports', 'league id from find_leagues'), not from the description itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_teamB
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
sportYessport (see list_sports; not tennis)
squadNoalso return the squad (players)
team_idYesteam id from find_teams or a match

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description usefully discloses the shape of the payload and that squad inclusion is optional, but says nothing about permissions, rate limits, or what happens on an invalid team_id.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that packs the field inventory and the optional squad expansion without filler. Minor drag from list items like 'logo link' that are arguably noise rather than decision-relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly takes on the job of describing the return payload, and it does so reasonably well for a read-only lookup with fully documented parameters. The remaining gap is the unresolved adjacency with get_team_briefing, which an agent must disambiguate unaided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (lang, sport, squad, team_id) are already documented with formats and constraints. The description only restates the squad option, adding no syntax or default detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (team profile) and enumerates the returned fields (country, founded, venue, leagues, logo link), plus the optional squad expansion. This makes the tool's output recognizable at a glance, but it offers no differentiation from the sibling get_team_briefing, which an agent could easily confuse with this one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of alternatives such as find_teams (to obtain a team_id) or get_team_briefing. The only routing hint ('team_id from find_teams or a match') lives in the schema, not the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_team_briefingB
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNolanguage of team, league and country names: de, es, it or fr (default English)
sportNosport (default soccer); for tennis the id is a player id
formatNomd for a short Markdown text instead of JSON
team_idYesteam id from find_teams or a match (tennis: player id)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=false, so the safety profile is covered. The description adds useful content-level context with 'Facts only' (no predictions/opinion) and notes that each block is also rendered as a sentence in de/es/it/fr. It does not explain the non-idempotency (live data) or any limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with the payload front-loaded; every clause (fields, tennis exception, language, facts-only) carries information. The parenthetical list is long but not redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description responsibly enumerates the returned sections and notes the multi-language rendering, so an agent knows what it gets back. The only real gap is the absence of when-to-use guidance against related tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents lang, sport, format, and team_id. The description reinforces the tennis-is-a-player-id case and the multi-language sentence option, but adds little syntax or semantics beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource and enumerates exactly what the briefing contains (form, streaks, records, table place, last/next match, injuries), which lets an agent distinguish it from siblings like get_team (raw team data) or get_match_briefing (single match). It never uses a clear verb like 'get/return', but the enumeration compensates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus get_team, get_player, or get_match_briefing, and no prerequisites. Usage can only be inferred from the content list. The parenthetical 'for tennis a player' is parameter steering, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sportsB
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds two genuinely useful behavioral facts beyond the schema: the result includes an 'upcoming matches' availability flag, and the call is 'Free' (no credit/quota cost). It still says nothing about caching, ordering, or return shape beyond that flag.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Eleven words with the resource front-loaded and the two key facts (upcoming-match flag, free) trailing. It is composed of fragments rather than sentences, which is terse but unambiguous, and nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and no output schema, the description carries the burden of describing the response and does so at a high level (sports plus an upcoming-match flag). It does not mention whether names or IDs are returned, but for a zero-arg discovery list that omission is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the schema contributes nothing to explain and the baseline is 4. The description correctly wastes no words on parameters (there are none) and spends its budget on the return-side semantics instead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource (sports) and the returned attribute (whether each has upcoming matches), which is more specific than the bare name. It doesn't explicitly contrast itself with siblings like find_leagues or find_teams, but the scope (all sports, global) is inferable from the fragment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no alternative named. An agent must infer that this is a discovery/entry-point call rather than a filtered query, with nothing in the text to confirm or deny that.

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.

  1. 13 tool updates
    • First observedfind_leagues
    • First observedfind_teams
    • First observedget_league_facts
    • First observedget_live_matches
    • First observedget_match
    • First observedget_match_briefing
    • First observedget_match_details
    • First observedget_matches
    • First observedget_player
    • First observedget_standings
    • First observedget_team
    • First observedget_team_briefing
    • First observedlist_sports

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Live football/soccer data from top European leagues, enabling queries for standings, fixtures, scorers, and team comparisons via natural language.
    6
    13 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Live and prematch sports odds, scores, live statistics and match search from SportAPI (football, basketball, tennis, esports and more). Works with demo data without an API key.
    11
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Access football (soccer) data including competitions, matches, standings, and team details via the Football-Data.org API.
    105 npm
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides football fixtures, real results, and bet settlement with odds arithmetic, enabling AI agents to devig markets, evaluate prices, and settle picks without an API key.
    7
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources