valorant-mcp
Provides VALORANT account and match data via HenrikDev's API, with tools for retrieving profile information, recent competitive matches, and detailed match facts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@valorant-mcpshow my last 5 competitive matches"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
valorant-mcp
A self-hosted MCP server that gives your AI assistant factual VALORANT account and match data through HenrikDev's API.
Use
Deploy your own copy on Vercel, add a Neon Postgres database from the Vercel Marketplace (sets
DATABASE_URL; tables are created on first use), and set the env vars in.env.example.Open
/setup, unlock it withOWNER_PASSWORD, and enter your Riot ID. You get a connector URL, shown once.Add that URL as a custom connector (MCP server) in Claude, ChatGPT, or any MCP client.
Optionally invite friends from
/setup. Each friend accepts on a single-use/claimlink and gets their own connector URL.
Related MCP server: Valorant MCP Server
Tools
All read-only. Tools marked "friend" accept target_name/target_tag to act on a friend who has
accepted an invite.
Tool | Returns | Friend |
| Account profile and current/peak rank | yes |
| Recent competitive matches (max 10) | yes |
| One match; | yes |
| Pooled stats over recent matches: ACS/ADR/KDA/headshot distributions, agents, rank climb | yes |
| Per-match RR/tier trajectory, windowed by | yes |
| Head-to-head stats against a named opponent in a shared match | — |
| Current rank against a named opponent found in a shared match | — |
| Search your own previously fetched matches (cache only) | — |
How it works
Consent. Only profiles in
consented_profilesare ever looked up: the owner's own account, and friends who accepted an invite. A name/tag that hasn't consented is rejected the same way as one that doesn't exist. Other players appear only as participants in your own matches.Auth. Each connector URL carries a random key (
/mcp?key=…orAuthorization: Bearer). Only its SHA-256 is stored (connections); revoke it on/setup.Cache.
cached_matchesis keyed by(operator_puuid, match_id)and bounded to 100 rows per profile. It fails open: a database error never fails a tool call.Errors. Every tool returns
{ ok, data?, error? }witherror.kindofrate(includesretryAfterMs),upstream,schemaorinput. Messages never include HenrikDev response bodies or player data.
Code lives in lib/ (lib/tools/ has one module per tool), routes in app/, and the schema
in lib/db.ts.
Develop
pnpm install --frozen-lockfile
pnpm verify # format, typecheck, testRequires Node.js 24 and pnpm 12. Copy .env.example to .env.local for local runs.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
VALORANT reference data MCP (valorant-api.com).
Round-by-round Valorant and CS2 scores read from public broadcast VODs on YouTube and Twitch.
Provides easy access to MLB, Baseball Savant, Statcast, and Fangraphs baseball data. Query detaile…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with League of Legends game data through the Riot Games API. Allows users to query player statistics, match history, and game information using natural language.-
- AlicenseAqualityDmaintenanceProvides Valorant game data through the Model Context Protocol, including player details, match history, MMR, leaderboards, and game content using the HenrikDev API.12MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for Valorant match analysis. Enables fetching player stats, match history, agent performance, and more via Henrik's Valorant API.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query Riot Games data such as accounts, summoners, match history, and champion mastery via natural language.42 npmMIT