Speedrun.com

live GamesSports

Speedrun.com — search games, browse run categories, and fetch world-record leaderboards from the speedrunning community database.

4 tools
0ms auth
free tier 50 calls/day

Tools

search_games

Search the Speedrun.com database for games by name. Returns matching games with their ID (needed for get_categories and get_leaderboard), abbreviation, release year, and weblink. Example: search_games

No parameters required.

Try it
get_categories

List the run categories for a game (e.g. "Any%", "100%", "Glitchless"). Use the game ID from search_games. Each category has an ID needed to fetch a leaderboard via get_leaderboard. Example: get_categ

No parameters required.

Try it
get_leaderboard

Fetch the world-record / top-N leaderboard for a specific game category. Returns ranked runs with finish times (ISO-8601 duration plus seconds), run date, players, and weblink. Get game_id from search

No parameters required.

Try it
find_user

Look up a speedrunner by username. Returns matching users with their ID, display name, and profile weblink. Example: find_user({ name: "cheese05" })

No parameters required.

Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/speedrun/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/speedrun/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_games","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_games", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("speedrun");