A side-by-side look at the Opendota and Start.gg MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Opendota for gaming work as a local process; choose Start.gg MCP Server for gaming as a local process. You can also run both side by side in one mcpServers block.
hero_stats, pro_matches, search_players.STARTGG_TOKEN.search_videogames, search_tournaments, get_upcoming_tournaments.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Gaming | Gaming |
| Quality signal | 45/100 · Fair | 52/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | STARTGG_TOKEN |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 4 | 16 |
| Full listing | View Opendota | View Start.gg MCP Server |
hero_statsDota 2 hero meta: per-hero pick/win/ban counts in pro play, primary attribute, attack type, and roles. Optionally filter by role (e.g. "Carry", "Support"). OpenDota keyless data.pro_matchesRecent professional Dota 2 matches: teams, league, winner, score and duration. OpenDota keyless data.search_playersSearch Dota 2 players by persona (display) name. Returns matching account IDs and similarity scores. OpenDota keyless data; may be empty if rate-limited.get_playerDota 2 player profile by account ID: name, country, rank tier, leaderboard rank, and win/loss totals. OpenDota keyless data.search_videogamesFind videogame ids by name (e.g. "Super Smash Bros. Ultimate" → 1386)search_tournamentsGeneral tournament search: name, videogame, country/state, date range, upcoming/past, open registrationget_upcoming_tournamentsTournaments that haven't ended yet (includes in-progress), soonest first, with a days windowget_tournaments_by_videogameTournaments for one videogame id (upcoming / past / all)get_tournamentDetails, schedule, venue, events list, configured streamsget_tournament_eventsEvents (brackets) of a tournament, optionally filtered by videogameget_tournament_entrantsTournament-level participants (attendees); per-event seeding lives in `get_event_entrantsget_stream_queueStream queue: streams (with derived Twitch URLs) and the sets assigned to eachget_eventEvent details including phases (Pools, Top 8, ...) with phase idsget_event_entrantsEntrants with seed, players, DQ flag; pagination or `fetchAllget_event_standingsPlacements (use `perPage: 8` for Top 8)get_event_setsNormalized sets with `stream`; filter by state, phase, round, entrants, players, VOD; `includeGames` for per-game detailsPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"opendota": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-opendota"
]
}
}
}
{
"mcpServers": {
"start-gg-mcp-server": {
"command": "npx",
"args": [
"-y",
"startgg-mcp-server"
],
"env": {
"STARTGG_TOKEN": "YOUR_STARTGG_TOKEN_HERE"
}
}
}
}