Skip to main content
Glama

Cito API

player_rankings_history

Read-only

Tennis player ranking trajectory: every published ranking date for one player, plus career-high and weeks at No.1.

When to use:

  • "Show Alcaraz's ranking over time"; career-high rank and when it was reached; how a player climbed; plotting a rank chart.

Prefer over: standings (latest snapshot only); rankings_movers (week-over-week delta for a whole tour); player_profile (has career-high but no per-date series).

Do not use when: the current top-N table → standings with game tennis.

Tennis-only. Rows arrive oldest-first (chronological), which is the order a chart wants; the newest entries are the tail. limit keeps the most RECENT N rows (the route itself ignores ?limit=, so the bound is applied here) — hasMore and oldestReturned/newestReturned say exactly which window came back, and omittedOlder counts the rows left behind at the old end.

Parallel-safe: yes. Upstream cost: 1.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gameYesGame title: lol | cs2 | dota2 | cod | ufc | tennis. Example: "cs2".
limitNoMax history rows (default 20, max 500).
sinceNoOnly rows on or after this date (YYYY-MM-DD).
playerIdYesTennis player id, e.g. "atp_207989" or "wta_214544".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYestrue if the tool succeeded
dataNoResult payload when ok is true; null on error
metaYes
errorNo
partialNo
paginationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, the description discloses real behavioral traits: tennis-only scope, chronological oldest-first ordering, the fact that the upstream route ignores ?limit= so the bound is applied locally, the window-metadata fields (hasMore, oldestReturned/newestReturned, omittedOlder), and parallel-safety/cost. None of this is derivable 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.

Conciseness5/5

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

Front-loaded one-line purpose followed by clearly labeled When/Prefer/Do-not-use blocks and a trailing operational note. Long but every sentence carries information an agent needs; nothing is redundant padding.

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?

Despite an output schema existing, the description still explains the returned window semantics (hasMore, oldestReturned/newestReturned, omittedOlder) and ordering, plus cost and safety. For a 4-param read tool with a required enum and player id, nothing needed to invoke it correctly is missing.

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%, so a baseline of 3 applies, but the description adds genuinely non-obvious semantics for limit: it keeps the most RECENT N rows even though rows are returned oldest-first, and the upstream route ignores ?limit=. That is meaning beyond the schema's 'Max history rows'. The game/since parameters get no extra description, keeping it from a 5.

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: 'Tennis player ranking trajectory: every published ranking date for one player, plus career-high and weeks at No.1.' It also explicitly names the sibling tools it is not (standings, rankings_movers, player_profile), so an agent can disambiguate without opening any schema.

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

Usage Guidelines5/5

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

Provides explicit 'When to use' with concrete example phrasings, a 'Prefer over' clause naming three alternatives with the reason each is inferior, and a 'Do not use when' routing the current top-N case to standings. This is about as complete as usage guidance gets.

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.

Resources