MCP Server for Team Fight Tactics (TFT) game data via Riot API
Two tools with basic schemas and minimal descriptions. Tool naming follows verb_noun convention (get_*, positive). Input schemas present but lack parameter descriptions entirely. Output schemas undocumented. No error guidance, no pagination support despite list-like tool. Parameters have types but descriptions are sparse or missing per-parameter. This is a typical community STDIO server scoring in the D range.
Get detailed information about a specific TFT match
Get TFT match history for the current player
Parameter descriptions missing entirely. Both tools have input parameters ('count', 'start', 'matchId') with no descriptions explaining what they control, valid ranges, or formats.
No output schema documented. Tools return JSON blobs via text content. LLM cannot infer structure of matchIds array or match details object. Clients must parse unstructured text.
No pagination metadata returned. tft_match_history accepts 'count' and 'start' but does not document how to iterate all matches. No total_count, has_next, or next_cursor field documented.
Tool descriptions lack context on when to use each. 'Get TFT match history' does not explain prerequisites, what 'current player' means (is PUUID pre-configured?), or when to call match_details next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 32 | - | v1 |
No error recovery guidance. Error responses in match.ts return JSON with 'error' field but do not tell LLM what to do next (retry, ask user, etc.). Generic fetch errors are not actionable.
Parameter constraints undocumented. 'count' and 'start' lack min/max bounds or examples. Is count capped at 100? Is start 0-indexed? LLM must guess.
Credentials injected via server-side setup (good), but tool descriptions do not clarify that 'current player' is the PUUID resolved at startup from apiKey + gameName + tagLine. LLM may be confused about scope.