Skip to main content
Glama
williamcodes

speedrun-mcp

by williamcodes

list_variables

Read-only

Get a game's leaderboard variables, including IDs and value labels, to filter by subcategory like difficulty or star count. Use these to request specific leaderboards or world records.

Instructions

List a game's variables — the subcategories and filters a leaderboard accepts.

Each variable has an id and a values map of {value_id: label}. Pass these to get_leaderboard/get_world_record as variables={variable_id: value_id} to target a specific subcategory (e.g. '16 Star', difficulty 'Hard').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gameYesGame id or abbreviation.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.2

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already mark the tool as readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds valuable context beyond the annotations by explaining the values map structure and how the returned ids are consumed by other tools, which helps the agent understand the behavioral role of the output even without inspecting the output 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?

Two sentences, no filler. The first sentence front-loads the core purpose, and the second adds the essential data shape and cross-tool usage in compact, well-formatted code spans. Every sentence earns its place.

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?

For a simple one-parameter read-only list tool with an output schema and annotations, the description is complete. It explains what variables are, what each entry contains, and how to use the result with sibling leaderboard tools, leaving no critical gaps for correct invocation.

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

Parameters3/5

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

The input schema already provides 100% coverage for the single 'game' parameter with 'Game id or abbreviation.' The description does not add parameter-specific semantics beyond implying the game context, so the baseline score of 3 is appropriate.

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: 'List a game's variables', and defines them as 'the subcategories and filters a leaderboard accepts.' This clearly distinguishes the tool from siblings like list_categories and get_leaderboard by explaining what variables are and how they relate to leaderboards.

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 concrete downstream usage: 'Pass these to get_leaderboard/get_world_record as variables={variable_id: value_id} to target a specific subcategory.' This is clear contextual guidance, though it does not explicitly contrast with list_categories or state when not to use this tool.

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