Skip to main content
Glama

RallyIQ

Tennis tactical leaderboards

get_leaders
Read-onlyIdempotent

Top 10 ATP or WTA players on one tactical measure: direction_choice: Picks the more valuable direction for the stroke being hit (per 100 shots, opponent-adjusted). execution: Gets more out of a shot than the same choice usually yields (per 100 shots, opponent-adjusted). shot_selection: Chooses strokes worth more than the position average; partly reflects the ball they were given (per 100 shots, opponent-adjusted). fewest_points_left: Smallest gap per 100 shots between the direction chosen and the best-value direction for that stroke. most_exploitable_serve: Points per 100 first serves an optimal direction mix would win over the current one, allowing for returners reading a habit. serve_off_equilibrium: First-serve directions that win at clearly different rates (p < 0.01): usage-weighted gap per 100 first serves and the direction to use more. long_rallies_hold_up: Execution from the ninth shot of a rally on, minus the player's own earlier-rally execution, per 100 shots (ATP only). long_rallies_fade: The same long-rally measure, most fading first (ATP only). adaptability: Moves the first-serve mix toward what has been winning in earlier sets, per 100 first serves. A weak habit, not a proven gain. adapts_fastest: The same, every two to three service games, per 100 first serves. Players need at least 5,000 modelled shots.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tourNoatp (default) or wta.
boardYesWhich leaderboard.
scopeNoactive: charted in the last three seasons (default); all_eras: every era.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is free to add analytical context — and it does: a minimum sample threshold ('at least 5,000 modelled shots'), tournament coverage limits ('ATP only'), a significance bar (p < 0.01), and an honesty caveat ('A weak habit, not a proven gain'). These are the things an agent cannot get from annotations or schema.

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?

There is almost no wasted content — every clause defines a board — but the entire payload is delivered as one unbroken em-dash-separated block, so an agent must read linearly to find the definition of a single value. Front-loading the purpose is good; the parameter dictionary would be far more scannable as a list.

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 carries the burden of explaining return values, and 'Top 10 ... players on one tactical measure' reasonably implies a ranked ten-row result. It never names the returned fields (rank/player/value) or their units, which is the main remaining gap for a read-only leaderboard endpoint.

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?

Schema coverage is 100% with all three parameters enumerated and labelled, so the baseline is 3; the description exceeds it by unpacking each of the ten board values with its underlying metric ('per 100 shots, opponent-adjusted', 'usage-weighted gap per 100 first serves', rally-relative execution). Tour and scope are left to the schema, which already documents them adequately.

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?

Opens with a concrete verb-and-resource statement: 'Top 10 ATP or WTA players on one tactical measure,' which tells an agent exactly what comes back. It does not differentiate itself from siblings (explain_match, get_game_plan, get_player), but the purpose itself is unmistakable.

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?

Usage is implied rather than stated: an agent can infer this is for leaderboard ranking, and the per-board notes embeds one genuinely useful constraint (long_rallies_hold_up / long_rallies_fade are 'ATP only'), which prevents an invalid tour+board combination. There is no explicit when-to-use-vs-alternative guidance and no routing to the sibling tools.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.