Skip to main content
Glama
lappi

rttf-mcp

by lappi

list_players

Browse rttf.ru player ratings window by window (100 rows each). Filter by city and use max_rating from the previous response to load the next page of ranked players.

Instructions

Листает рейтинг игроков rttf.ru окнами по сто строк. Один запрос.

Это единственный разрешённый способ выйти на игрока без поиска по имени (поиск сайт закрыл в robots.txt). Строки идут по убыванию рейтинга.

city — код региона ("r77" — Москва и МО, "r78" — Санкт-Петербург и ЛО) или числовой код города ("1" — Москва, "2" — Санкт-Петербург); коды видны в ссылках городов на сайте и в поле city.city_id ответа. Пусто — вся страна.

max_rating — верхняя граница окна (от 1 до 4000). Первый вызов — без неё; следующий — с max_rating из next_max_rating ответа. Соседние окна ПЕРЕКРЫВАЮТСЯ: сайт сравнивает границу с внутренним дробным рейтингом, а показывает округлённый, и без перекрытия часть игроков выпадала бы. Повторы между окнами отбрасывайте по player_id.

Ответ повторяет city и max_rating запроса. next_max_rating равно null в трёх случаях: список кончился (строк меньше ста); stalled_on_tie равно true — следующее окно не уже текущего, потому что сто строк уместились в один-два соседних показанных рейтинга, и дальше окнами не пройти, остальные игроки с этими рейтингами через разрешённые адреса недоступны; или окно дошло до рейтинга ниже 1 — такое окно сайт молча игнорирует, и эти игроки тоже недоступны.

players — строки окна: rank, player_id, name, is_team, city ({city_id, name} или null), rating, updated. rank — место в ОБЩЕМ рейтинге, даже при фильтре по городу. is_team — корпоративная команда, а не человек: сайт ставит их в общий рейтинг наравне с игроками. city равно null, если город не указан. updated — дата последнего изменения рейтинга.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNo
max_ratingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries full behavioral burden and does so thoroughly. It discloses one-request window semantics, descending order, window overlap with fractional ties, the need to deduplicate by player_id, and the three distinct cases where next_max_rating becomes null. It also explains field meanings such as rank being overall even with city filters and is_team denoting corporate teams.

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?

The description is long but every sentence earns its place: purpose and uniqueness first, then parameter semantics, then pagination edge cases, then response field details. It is densely informative without filler or redundant restatements.

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?

Given no annotations, no output schema, and a non-trivial pagination flow, the description is remarkably complete. It covers all needed parameter formats, windowing behavior, termination conditions, deduplication, and response field semantics, leaving little for an agent to guess.

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

Parameters5/5

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

Schema coverage is 0%, so the description must fully explain both parameters, and it does. It defines city as either a region code or numeric city code with examples and tells where to find codes. It explains max_rating as the upper window bound, the initial-call omission, and the next_max_rating handoff, adding crucial semantics absent from the schema.

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?

The description opens with a specific verb and resource: it pages through the rttf.ru player rating in 100-row windows. It also distinguishes itself by stating it is the only permitted way to reach a player without name search, which separates it clearly from sibling tools like search_tournaments and get_player.

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?

The description gives clear operational context: use this tool when you need players without using name search, and it explains the pagination flow. It does not explicitly name sibling alternatives or say when not to use them, but the 'only permitted way' statement makes the intended usage unambiguous.

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