speedrun-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_gamesA | Fuzzy-search games by name. Returns ids, abbreviations and release years. Use the returned |
| get_gameA | Get a game's details plus its categories (and optionally its levels). The embedded categories give you the |
| list_categoriesA | List a game's categories (e.g. 'Any%', '120 Star'), with their ids and rules. |
| list_variablesA | List a game's variables — the subcategories and filters a leaderboard accepts. Each variable has an id and a |
| get_leaderboardA | Get a ranked leaderboard for a game/category (full-game or individual level). Players, subcategory labels and the category name are resolved for you. For
subcategory filters, discover ids with |
| get_world_recordA | Get the current world record (place 1) for a game/category. A convenience wrapper over |
| search_usersA | Search for speedrun.com users by name. Returns ids, countries and signup dates. |
| get_user_personal_bestsA | Get a player's personal best runs across all games, with game/category names.
|
| get_runA | Get a run's players, times, game/category, status, system and variable values. |
| list_platformsA | List speedrun.com platforms (consoles/systems) with their ids and names. Use a returned |
| list_regionsA | List speedrun.com regions (e.g. USA/NTSC, EUR/PAL) with their ids and names. Use a returned |
| search_seriesA | Fuzzy-search game series (e.g. 'Mario', 'Zelda') by name. A series groups related games; pass a returned id to |
| get_seriesA | Get a series' details and (by default) the games it contains. The returned game ids/abbreviations feed the other tools ( |
| list_runsA | List runs with filters — e.g. a player's recent submissions, or a game's verified/rejected runs. Newest first; combine filters to narrow down. For just one game's moderation queue, |
| get_game_recordsA | Get a game's records across all its categories in one call. With |
| list_unverified_runsA | List a game's runs awaiting verification — the moderation queue. A public read (no API key needed). Pair with |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools target a distinct resource/action such as games, categories, variables, leaderboards, users, runs, platforms, regions, and series. The main overlap is that get_game already returns categories and get_world_record is a wrapper over get_leaderboard, but the descriptions clarify when each should be used.
All tool names consistently follow a snake_case verb_noun pattern using only search, get, and list as verbs. Multiword nouns like get_user_personal_bests and get_game_records remain predictable and no mixed conventions appear.
Sixteen tools is slightly above the typical ideal range, but each tool covers a distinct read-only aspect of the speedrun.com API. The count feels reasonable for the domain, with only a few convenience helpers adding mild extra weight.
Core discovery and leaderboard workflows are well covered: searching games and users, retrieving game details, categories, variables, leaderboards, world records, runs, platforms, regions, and series. However, list_unverified_runs references verify_run/reject_run that are not included in the tool set, leaving a moderation dead end, and there is no direct user profile lookup beyond personal bests.