Skip to main content
Glama

List the rankings

list_rankings
Read-onlyIdempotent

Who has won the most, or been paid out the most, as the site's rankings page shows it. Accounts ranked by competitions won (first place in a resolved competition's final standings), then prize money paid, then podium finishes (second or third); accounts level on all three share a rank. Counted as each account's public profile counts its record (GET /api/profiles/:handle): public entries in published competitions, places only once a competition is resolved, prize money only once paid; house entries, demo competitions and demo accounts count for nothing. Every account with a win, a podium finish or prize money paid is ranked. That is order wins, the default; order paid ranks the same accounts by prize money paid instead, then competitions won, then podium finishes. Best first, a page at a time: pass next_cursor back as cursor with the same order (a cursor pages only the order it came from; another order's is the route's 400); order names the page's order and total counts every ranked account. Each account with its rank in that order (accounts level on all three share one and are listed by handle), handle, display_name, picture (image, and avatar for an uploaded one), profile_url (its page, /u/; get_profile with the handle reads its record and its solutions) and record: the numbers its profile shows (competitions_entered, competitions_won, competitions_placed, podium_finishes, other_placements, best_placement, and prize_usd, the prize money paid in USD as a decimal string). The same answer for every caller; no build cost, tokens or models.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_rankings"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoPage size, 1 to 200 (default 50)
orderNowins (default): most competitions won first, then prize money paid, then podium finishes; paid: most prize money paid first, then competitions won, then podium finishes
cursorNoThe previous page's next_cursor, for the next page (keep the other arguments the same)

Output Schema

NameRequiredDescriptionDefault
itemsYes
orderYes
totalYes
next_cursorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/non-destructive, and the description still adds substantial behavior: which entries count (public, published, resolved, paid-only), that house entries, demo competitions and demo accounts are excluded, that ties share a rank and are ordered by handle, and that the answer is identical for every caller. The cursor-is-order-bound rule and the 400 on a mismatched order are exactly the kind of operational detail an agent needs.

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?

It is one dense run-on paragraph with clear front-loading but real redundancy: the tiebreak chain ('then prize money paid, then podium finishes') is stated twice, and the entire return shape is enumerated at length even though an output schema exists. Nothing is off-topic, but several sentences restate structured data rather than adding to it.

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?

Between the annotations, the fully described schema, the output schema and the description, an agent has everything needed: counting rules, tie handling, ordering, pagination contract, and even a pointer to get_profile for detail. No gap remains for a read-only ranked listing.

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 the schema already documents limit, order and cursor; baseline would be 3. The description earns an extra point by adding semantics the schema does not carry: a cursor pages only the order it came from, and reusing it with another order returns the route's 400.

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 opening sentence gives a specific verb and resource ('who has won the most, or been paid out the most... rankings page') and the rest pins down exactly which accounts are ranked and on what keys. It never names the closest sibling, get_leaderboard, so an agent must infer that this is the site-wide ranking while get_leaderboard is competition-scoped; that keeps it off 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 Guidelines4/5

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

It states the default order, what the alternative order means, and how to page ('pass next_cursor back as cursor with the same order'), including the failure mode of mixing orders. It also points to get_profile for drilling into one account's record. It stops short of explicit when-not guidance or a direct comparison against get_leaderboard.

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.