get_upcoming_matchesLABSCO SUMMARY
Match, team and player views of the same VLR.gg data, with the time filters already wired in.
The per-agent player breakdown and the regional leaderboard both take a time window, so a question like "who has been best in EU lately" resolves without pulling raw pages. get_match_details saves the most work of any single tool here — veto, per-map scores and every scoreboard arrive in one call.
What it is
A server that reads VLR.gg and hands VALORANT esports data back as tools: matches, teams, events, player statistics and news. Unofficial, and not affiliated with VLR.gg or Riot.
What you get
- Matches in every state — upcoming with timing, live with the current map score, and finished with results (get_upcoming_matches, get_live_matches, get_match_results)
- One match in full: map veto, per-map scores, and the per-player scoreboard with agent, ACS, kills, deaths, assists and ADR (get_match_details)
- Team pages — tag, active roster, staff — plus a team's recent and upcoming fixtures (search_team, get_team_matches)
- Head-to-head record and past meetings between two teams (get_head_to_head)
- Regional team rankings (get_team_rankings)
- Tournaments, ongoing and finished, with prize pool, dates, location and participating teams (get_events, get_event_details)
- A player's agent-by-agent profile with rating, ACS, kill-death ratio, ADR, KAST and first-kill numbers, filtered by time window (get_player_stats)
- A leaderboard by rating, ACS or kill-death ratio for a region and window, with paging (get_stats_leaderboard)
- Agent pick rates for an event, with attack and defence win rates per map (get_agent_stats)
- Recent esports articles with title, blurb, date and author (get_news)
Requirements
Python with uv, and network access to VLR.gg. No key and no account. Being a scraper, the project asks you to respect the site's terms and rate limits.
Setup effort
Build from source — git clone https://github.com/OkeahDavid/vlr-stats-mcp
USE CASES
Checking what is live right now
Get the matches in progress with the current map score.
Previewing a matchup
Pull the head-to-head record between the two teams, then each side's recent form.
Settling an argument about a player
Read their agent-by-agent statistics over the window you care about.
Breaking a match down map by map
Get the veto, the per-map scores and every player's scoreboard in one call.
Seeing what the meta looks like at an event
Read agent pick rates and per-map attack and defence win rates for that tournament.
14 tools
Listed in project docs. Your client may show a different list.
get_live_matchesget_match_resultsget_match_detailsget_team_rankingssearch_teamget_team_matchesget_head_to_headget_eventsget_event_detailsget_player_statsget_stats_leaderboardget_agent_statsget_newsBEFORE YOU INSTALL
What to know first
Tools you get
14 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/OkeahDavid/vlr-stats-mcp
cd vlr-stats-mcp
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .MCP Clients
Claude Desktop
{
"mcpServers": {
"vlr-stats": {
"command": "<YOUR_PATH_TO_VLR_STATS_MCP>/.venv/bin/python",
"args": [
"<YOUR_PATH_TO_VLR_STATS_MCP>/src/vlr_mcp.py"
]
}
}
}<YOUR_PATH_TO_VLR_STATS_MCP> is the absolute path of your clone, in both places. command points at the python in the .venv you created with uv venv, because Claude Desktop does not start inside your activated environment; on Windows use .venv\Scripts\python.exe and a Windows path to src\vlr_mcp.py.