startgg-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STARTGG_CACHE | No | Set 'off' to disable the in-memory cache. | on |
| STARTGG_TOKEN | Yes | start.gg API token. Required for API access. Without it, the server starts but all tool calls return an AUTH_ERROR. | |
| STARTGG_RATE_LIMIT | No | Requests per 60s window (hard-capped at 80). | 75 |
| STARTGG_TIMEOUT_MS | No | Per-request HTTP timeout in milliseconds. | 30000 |
| STARTGG_ENABLE_WRITES | No | Reserved. No write tools exist yet; the flag only logs a notice. | false |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_videogamesA | Search start.gg's videogame catalog by name and get videogame ids. Use this first to find the id for a game (e.g. "Super Smash Bros. Ultimate" -> 1386), then pass that id to tournament discovery tools. |
| search_tournamentsA | Search start.gg tournaments with flexible filters: name, videogame ids, country/state, date range (afterDate/beforeDate on start time), upcoming/past, open registration. |
| get_upcoming_tournamentsA | List tournaments that have not ended yet (including ones in progress), soonest first. Filter by videogame id (get it from search_videogames), country/state, and a time window in days. |
| get_tournaments_by_videogameA | List tournaments for a specific videogame id. timeframe selects upcoming (default), past, or all; combine with afterDate/beforeDate and location filters as needed. |
| get_tournamentA | Get one tournament's details: schedule, venue/location, registration, its events (with videogame and entrant counts), and its configured streams. Identify the tournament by numeric id, slug, or start.gg URL. |
| get_tournament_eventsA | List the events (brackets) of a tournament, optionally filtered to one videogame id. Use the returned event id or slug with get_event_entrants / get_event_sets / get_event_standings. |
| get_tournament_entrantsA | List a tournament's registered participants (attendees) with gamer tags. Note: these are tournament-level registrations; for per-event entrants with seeding, use get_event_entrants instead. |
| get_eventA | Get one event (bracket) of a tournament: name, start time, state, entrant count, videogame, parent tournament, and its phases (e.g. Pools, Top 8) with phase ids you can pass to get_event_sets phaseIds. |
| get_event_entrantsB | List an event's entrants with their seed (initialSeedNum), players (gamer tags), and disqualification flag. Supports pagination or fetchAll. |
| get_event_standingsA | Get an event's standings (final or current placements), best first. Includes each entrant's seed so upsets are visible. Use perPage 8 for Top 8. |
| get_event_setsA | List an event's sets (matches) in a normalized form: round, state (COMPLETED/ACTIVE/...), both entrants with seeds and players, per-entrant score (-1 = DQ), winner, phase, and VOD URL when available. Filter by state, phaseIds (from get_event's phases, e.g. Top 8), round, or entrants. |
| get_playerA | Get a start.gg player by numeric player id: gamer tag, team prefix, and linked user. Player ids appear in set/entrant results (players[].playerId). |
| get_player_setsA | Get a player's recent sets across tournaments (most recent first), in the same normalized set form as get_event_sets, plus the event and tournament each set belongs to. Filter by set state (e.g. COMPLETED). |
| get_stream_queueA | Get a tournament's stream queue: each stream (source, channel name, derived URL for Twitch) with the sets currently assigned to it. Returns empty queues when nothing is queued. For the list of configured streams regardless of queue, use get_tournament. |
| resolve_startgg_urlA | Turn a start.gg tournament or event URL (or slug) into internal ids and slugs. Example: "https://www.start.gg/tournament/genesis-9/event/ultimate-singles" -> { type: event, tournamentId, eventId, ... }. Use this first when the user pastes a start.gg link, then call the other tools with the returned ids. |
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 15 tools
Each tool targets a distinct resource and action, with clear differentiators even among similar tools (e.g., search_tournaments vs. get_upcoming_tournaments). Descriptions explicitly note when to use each, such as tournament-level vs. event-level entrants, preventing confusion.
All tool names follow a consistent verb_noun pattern in snake_case (search_, get_, resolve_). The verbs are simple and uniform, making the set highly predictable and easy to navigate.
With 15 tools, the server is well-scoped for the start.gg domain, covering search, tournament details, events, players, streams, and URL resolution. Each tool has a clear purpose, and the count is within the ideal range for coherence without bloat.
The tool set provides comprehensive read-only coverage of the start.gg platform, including videogame search, tournament discovery, detailed tournament and event queries, entrant/standings/set retrieval, player history, stream queues, and URL resolution. No obvious gaps for the apparent use case.