livetennisapi-mcp
Server Details
Real-time tennis scores, players, odds and model win-probability for ATP, WTA, Challenger, ITF.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- livetennisapi/livetennisapi-mcp
- GitHub Stars
- 249
- Server Listing
- livetennisapi-mcp
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 12 of 12 tools scored. Lowest: 3.5/5.
Each tool has a clearly distinct purpose. Tools for match details are separated into analysis, events, odds, and score. Different match states (fixtures, upcoming, live, recent) have distinct tools. Player search vs profile is clear. No ambiguity.
Most tools follow a 'get_' prefix pattern (10 out of 12). Two tools use different verbs: 'check_api_status' and 'search_players'. This is a minor deviation but still predictable and readable.
With 12 tools, the server covers the essential operations for a tennis data API without being overwhelming. Each tool serves a specific need, and the count is appropriate for the domain.
The tool set covers core tennis data: live matches, fixtures, results, player info, and detailed match data. However, it lacks tools for tournament information or historical search, which are minor gaps.
Available Tools
12 toolscheck_api_statusAPI status and planARead-onlyIdempotentInspect
Check whether the Live Tennis API is reachable and which plan the configured key is on. Useful for diagnosing why other tools are refusing data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| tier | No | Detected plan: FREE, BASIC, PRO or ULTRA. Null when no key is configured. |
| has_key | No | Whether a key was supplied with this call. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
| reachable | No | True when the API answered its health check. |
| api_version | No | API version reported by the health check. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate safety (readOnly, idempotent, non-destructive). Description adds that it tests reachability and plan, beyond 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?
Two concise sentences, front-loaded with purpose, 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?
Given zero parameters, rich annotations, and output schema, the description fully explains the tool's role and use case.
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?
No parameters; schema coverage 100%. Description doesn't need to add param info, baseline 4 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 clearly states the tool checks API reachability and plan, distinguishing it from sibling data-retrieval tools.
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?
Explicitly notes use for diagnosing why other tools refuse data, providing clear context. Lacks explicit when not to use, but that's inherent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fixturesFixture scheduleARead-onlyIdempotentInspect
Upcoming scheduled tennis fixtures, earliest first — the forward schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum fixtures to return (1-200). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
| fixtures | No | Scheduled fixtures, earliest first. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false, providing full safety and idempotency context. The description adds ordering ('earliest first') and scope ('forward schedule'), which is useful but not critical beyond the annotations. The description is consistent with 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?
The description is a single sentence of 8 words, front-loading the essential information: 'Upcoming scheduled tennis fixtures, earliest first — the forward schedule.' Every word earns its place, with no redundancy or filler. It is highly concise and well-structured.
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 an output schema (so return values need not be described), one parameter fully documented in the schema, and comprehensive annotations, the description covers all necessary aspects: purpose, ordering, and temporal scope. It is complete for a simple list tool with no complex behavior.
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?
The input schema has 100% description coverage for the single 'limit' parameter, including default and range. The description does not add any additional meaning or context for the parameter. Per the rubric, when schema coverage is high (here >80%), the baseline is 3 even without extra param info in the description.
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 'Upcoming scheduled tennis fixtures, earliest first — the forward schedule' clearly states the tool returns upcoming fixtures sorted by date. The verb 'get' is implied from the name. While it distinguishes from siblings like 'get_live_matches' or 'get_recent_results' by specifying 'fixtures' and 'forward schedule', it does not explicitly differentiate from 'get_upcoming_matches' which may overlap in purpose.
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 no guidance on when to use this tool versus alternatives. It does not mention when not to use it, nor does it reference sibling tools like 'get_upcoming_matches' or 'get_live_matches'. An agent would have to infer usage from the tool name and description alone, lacking explicit decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_live_matchesLive matchesARead-onlyIdempotentInspect
List tennis matches currently in progress, with live scores. Covers ATP, WTA, Challenger and ITF. Use this for "what tennis is on right now".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum matches to return (1-200). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| matches | No | The live matches, most relevant first. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, providing safety and idempotency context. The description adds that it lists live matches with live scores across tours, but does not expand beyond that. No contradiction, but minimal extra behavioral detail.
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 two sentences, covers purpose and usage with no wasted words. It is appropriately front-loaded and 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?
Given the tool has one parameter fully covered by schema, an output schema exists, and annotations are comprehensive, the description provides all necessary context for a simple read-only list tool. No gaps.
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?
The only parameter, limit, is fully described in the schema (type, default, min, max, description). The description does not add any additional meaning to this parameter, so baseline 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 it lists tennis matches currently in progress with live scores, covering ATP, WTA, Challenger, and ITF. It also provides an example use case, clearly distinguishing it from siblings like get_upcoming_matches or get_fixtures.
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 advises 'Use this for 'what tennis is on right now',' which clearly indicates when to use it. While it does not explicitly state when not to use it, the mention of 'currently in progress' implies it is not for past or future matches, and siblings like get_recent_results and get_upcoming_matches cover those.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_matchMatch detailARead-onlyIdempotentInspect
Full detail for one match by id: players, score, surface, round and status. Includes market prices on PRO and model analysis on ULTRA.
| Name | Required | Description | Default |
|---|---|---|---|
| match_id | Yes | Match id, as returned by get_live_matches, get_upcoming_matches or get_recent_results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| match | No | The match. |
| market | No | Match-winner market. Requires the PRO plan; absent otherwise. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
| analysis | No | Model analysis. Requires the ULTRA plan; absent otherwise. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds context about tier-conditional data (market prices on PRO, model analysis on ULTRA), explaining variation in output. No contradictions with 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?
The description is two sentences, immediately conveys the tool's purpose and key content, and is free of redundant or unnecessary 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 an output schema exists, the description adequately covers what is returned. It explains the scope (full detail by ID) and plan-specific additions. Minor gaps like error handling or rate limits are not critical with the provided annotations (idempotent, read-only).
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?
The description does not elaborate on the parameter beyond the schema. However, schema coverage is 100% and the schema already thoroughly describes match_id (including examples of source tools). 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 clearly states the tool returns 'full detail for one match by id' and lists specific fields (players, score, surface, round, status) and additional content by plan (market prices on PRO, model analysis on ULTRA). Unlike siblings like get_match_score or get_match_analysis, it uniquely provides comprehensive 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 implies use for full match details but lacks explicit guidance on when to choose this tool over siblings such as get_match_score or get_match_events. No when-not or prerequisite information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_match_analysisModel analysisARead-onlyIdempotentInspect
Model analysis for a match: predicted win probability, the model's thesis and the key factors behind it. Requires the ULTRA plan.
| Name | Required | Description | Default |
|---|---|---|---|
| match_id | Yes | Match id, as returned by get_live_matches, get_upcoming_matches or get_recent_results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| thesis | No | Narrative view. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
| profile | No | Quantitative view. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare safety traits (readOnly, idempotent). The description adds non-obvious context: plan requirement and what analysis includes (win probability, thesis, factors). No contradictions.
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 the tool's purpose, followed by the plan requirement. 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?
Given the simple parameter set and presence of an output schema, the description sufficiently covers the tool's functionality and context. The plan requirement is a key constraint included.
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 describes match_id adequately. Description adds no extra meaning about the parameter beyond what's in the schema, so baseline score of 3 applies.
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 it provides model analysis including predicted win probability, thesis, and key factors. This distinguishes it from sibling tools like get_match_score or get_match_events.
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?
Usage is implicitly clear: use when needing prediction details. Explicitly mentions requiring the ULTRA plan, which helps with eligibility. However, no direct comparison to alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_match_eventsMatch timelineARead-onlyIdempotentInspect
Timeline of events for a match — breaks, games won, sets won, momentum runs. Requires the PRO plan.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum events to return (1-200). | |
| match_id | Yes | Match id, as returned by get_live_matches, get_upcoming_matches or get_recent_results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| events | No | Events in chronological order. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, etc.), the description adds the PRO plan requirement, which is important for user authorization awareness. It also specifies the types of events included.
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 wasted words, front-loaded with the core purpose. Achieves maximum efficiency.
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 simple read tool with complete schema coverage and an output schema, the description covers the plan requirement and event types. Missing details like pagination but adequate given low complexity.
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 fully documents both parameters. The description does not add additional meaning beyond what's in 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 tool retrieves a timeline of match events (breaks, games, sets, momentum runs), distinguishing it from sibling tools like get_match_score or get_match_analysis.
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 implies usage for match timeline events but provides no explicit guidance on when to use this tool versus alternatives like get_match_score or get_match_analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_match_oddsMatch market pricesARead-onlyIdempotentInspect
Match-winner market prices for a match — implied probability per player, with bid, ask and mid. Requires the PRO plan.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum price points to return (1-200). | |
| match_id | Yes | Match id, as returned by get_live_matches, get_upcoming_matches or get_recent_results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| market | No | The match-winner market. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds the access requirement (PRO plan) and clarifies the type of data returned. No contradictions with 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?
The description is extremely concise: two sentences that convey the tool's purpose and a key requirement. No extraneous 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 that an output schema exists, the description does not need to detail return values. It covers the essential purpose, the nature of the data, and the access requirement. The parameters are well-documented in the schema.
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?
Both parameters are fully described in the input schema (100% coverage). The description adds no additional parameter information beyond what the schema provides, so a 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 clearly identifies the tool as returning match-winner market prices with implied probability, bid, ask, and mid. This is specific and distinguishes it from sibling tools like get_match_score or get_match_analysis.
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 explicitly states 'Requires the PRO plan,' which is a crucial usage constraint. However, it does not explicitly say when to use this tool versus alternatives, though the context of sibling tools implies it's the primary odds tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_match_scoreMatch scoreARead-onlyIdempotentInspect
Current score for one match — the fastest, lowest-latency read. Use this when you only need the score and already know the match id.
| Name | Required | Description | Default |
|---|---|---|---|
| match_id | Yes | Match id, as returned by get_live_matches, get_upcoming_matches or get_recent_results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| score | No | The current score. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. The description adds 'fastest, lowest-latency read,' a behavioral trait not covered by annotations. No contradictions.
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, front-loaded with purpose, no unnecessary 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?
For a simple one-parameter read tool with output schema, the description covers purpose, usage, and parameter source adequately.
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 the schema already describes the parameter's origin. The description adds no additional parameter details beyond referencing the need to know the match id.
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 states 'Current score for one match' with a specific verb and resource, and adds 'fastest, lowest-latency read' which differentiates it from siblings like get_match or get_match_analysis.
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?
Explicitly says 'Use this when you only need the score and already know the match id,' providing clear context and implied exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_playerPlayer profileARead-onlyIdempotentInspect
One player's profile: ranking, country, handedness, date of birth and cached stats.
| Name | Required | Description | Default |
|---|---|---|---|
| player_id | Yes | Player id, as returned by search_players. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| player | No | The player. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so safety is clear. Description adds value by noting cached stats, hinting at potential staleness.
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-loaded with the core function, 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?
With full annotations and an output schema, the description provides sufficient context. Minor gap: 'cached stats' is not elaborated, but acceptable.
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 the schema description already explains player_id adequately. The tool description does not add new parameter semantics.
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 it returns a single player's profile with specific fields (ranking, country, handedness, date of birth, cached stats), distinguishing it from sibling tools like search_players.
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?
Implied usage context via parameter description (player_id from search_players), but no explicit when-to-use or when-not-to-use guidance or mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_resultsRecent resultsARead-onlyIdempotentInspect
Recently completed tennis matches with final scores and winners.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum matches to return (1-200). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| matches | No | Completed matches, most recent first. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds no behavioral details beyond 'recently completed' and 'final scores and winners', which is minimal. No mention of ordering, pagination, or data freshness.
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, concise sentence that directly states the tool's purpose. Every word is necessary and 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 the tool's simplicity, the presence of a comprehensive output schema, and strong annotations (readOnly, openWorld, idempotent), the description is largely complete. It could mention ordering (most recent first) but is still adequate.
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% for the single parameter (limit), and the schema already describes its range and default. The description does not add any additional meaning or context for the parameter 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 returns recently completed tennis matches with scores and winners. It effectively distinguishes from sibling tools like get_live_matches and get_upcoming_matches by specifying 'recent results' and 'completed 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 implies use for completed matches but does not explicitly state when to use it over alternatives like get_live_matches or get_upcoming_matches. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upcoming_matchesUpcoming matchesARead-onlyIdempotentInspect
List tennis matches scheduled to start soon, with players and tournament.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum matches to return (1-200). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| matches | No | Matches due to start, soonest first. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, covering safety. Description adds temporal context ('start soon') and return content ('with players and tournament'), which is consistent with annotations but does not contradict or provide additional behavioral details.
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?
Description is a single sentence with no wasted words. It conveys the core function efficiently and front-loads the essential 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?
For a simple read-only tool with one optional parameter, annotations covering safety, and an output schema, the description sufficiently explains what the tool returns. No gaps remain.
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 covers the single parameter 'limit' with full description, default, min, max. Description adds no extra param semantics beyond what schema provides, so 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?
Description clearly states the tool lists tennis matches scheduled to start soon, with players and tournament. It uses a specific verb and resource, and distinguishes from siblings like get_live_matches (live matches) and get_recent_results (past 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?
Description implies usage for upcoming matches but does not explicitly state when to use vs alternatives like get_live_matches or get_fixtures. No when-not-to-use or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_playersSearch playersARead-onlyIdempotentInspect
Search tennis players by name. Returns id, country, ranking and tour. Use the returned id with get_player.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum players to return (1-200). | |
| query | Yes | Full or partial player name, e.g. "alcaraz". |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the call returned data. False for a tier wall, a missing or rejected key, or an empty result — all of which are normal states with a clear remedy, not failures. |
| message | Yes | Human-readable summary. Identical to the text content, so either half can be used alone. |
| players | No | Matching players, best match first. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. Description adds value by disclosing the specific output fields (id, country, ranking, tour) which is helpful context beyond the schema. No contradictions with 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?
Two concise sentences that front-load the primary action and directly state return values and usage. No extraneous information, every sentence earns its place.
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, 1 required, rich annotations, output schema exists), the description covers purpose, outputs, and intended use with get_player. It is sufficiently complete for an agent to use 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%, with both 'query' and 'limit' already described in the schema (e.g., query is 'full or partial player name'). Description only adds the 'by name' context which is already implied. Thus minimal added value, consistent with the baseline 3 for high 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?
Description clearly states 'Search tennis players by name' with a specific verb-resource combination and explicitly mentions returned fields (id, country, ranking, tour). It distinguishes from sibling tool get_player by stating 'Use the returned id with get_player', showing the intended workflow.
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 implicitly provides usage context: use this tool when you have a player name to obtain the id, then use get_player. It does not explicitly exclude other scenarios or mention when not to use, but the guidance is clear enough given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.