Valorant MCP Server
An MCP (Model Context Protocol) server that exposes Valorant match analysis tools. Connect it to Claude (or any MCP-compatible client) to fetch and analyze player stats, match history, agent performance, and more.
Powered by Henrik's Unofficial Valorant API.
Tools
| Tool | Use it for |
|---|---|
get_performance_report |
The broad picture across up to 50 matches: opening duels, trading, KAST/ADR, damage conversion, clutches, attack vs defense, economy (incl. your buy vs your team's), per-role/agent/map results, death positions by callout, weapons and engagement ranges, solo vs party, lobby strength, game number in session |
get_benchmarks |
Whether those numbers are good: you vs the other 9 players in the same lobbies, vs the same role, and vs others on the same agent (incl. utility casts per ability and Henrik's performance ratings) |
get_teamplay_report |
Spacing and trading from player positions: isolated deaths, trade chances you converted, where you die alone, win rate with each party member |
get_site_report |
Team site choice per map, post-plant and retake win rates |
compare_periods |
Last N matches vs the N before, with deltas and confidence ranges |
get_rr_history |
RR gained/lost per match, joined with how you played in each |
get_player_profile |
Account, current rank/RR, peak, rank protection, season history |
get_match_history |
One compact row per recent match (filter by mode, map, agent) |
get_match_details |
One match in depth. summary: per-player stats, per-round sides, buys, first blood. narrative: round-by-round timeline with named map zones and tags; filter with rounds |
Also exposed:
- Prompt
coach_review: runs the tools and writes a keep / change / experiment review. - Resource
valorant://glossary: definitions of every metric (trade chance, isolated death, buy thresholds, confidence ranges, ...).
Percentages that depend on sample size come with *_ci95 95% confidence ranges so small samples aren't over-read.
Setup
Prerequisites
- uv package manager:
curl -LsSf https://astral.sh/uv/install.sh | sh
(Windows:powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex") - A Henrik API key
Claude Code
claude mcp add valorant-analyzer -e HENRIK_API_KEY=your-key-here -- uvx valorant-mcp
Claude Desktop
Add to your Claude Desktop config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"valorant-analyzer": {
"command": "uvx",
"args": ["valorant-mcp"],
"env": {
"HENRIK_API_KEY": "your-key-here"
}
}
}
}
Local Development
git clone https://github.com/SeijiMatsumoto/valorant-mcp.git
cd valorant-mcp
uv sync
Create a .env file in the project root:
HENRIK_API_KEY=your-api-key-here
Optional settings (env vars or .env):
| Variable | Default | Notes |
|---|---|---|
VALORANT_REGION |
na |
na, eu, ap, kr, latam, br |
VALORANT_PLATFORM |
pc |
pc or console |
HENRIK_BASE_URL |
https://api.henrikdev.xyz/valorant |
Set to https://beta.api.henrikdev.xyz/valorant for 4.10 beta fields (Henrik performance grades, MVPs). Analysis doesn't depend on them. |
CACHE_DIR |
~/.cache/valorant-mcp |
Completed matches are cached here permanently |
Run the server
uv run valorant-mcp
Test with MCP Inspector
mcp dev src/valorant_mcp/server.py
Run tests
Live tests need HENRIK_API_KEY and VALORANT_SMOKE_PLAYER=name#TAG in your .env.
uv run pytest # offline unit tests (HTTP is mocked)
uv run pytest -m live # smoke tests against the real Henrik API (~13 of your 30 requests/min)
Tech Stack
- MCP Python SDK (FastMCP) — server framework
- httpx — async HTTP client
- Pydantic — data validation
- uv — package management
License
MIT
Metadata
Release files for valorant-mcp 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| valorant_mcp-0.4.2.tar.gz | 69.1 kB | Without provenance | Details for valorant_mcp-0.4.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| valorant_mcp-0.4.2-py3-none-any.whl | Python 3 | none | any | Details for valorant_mcp-0.4.2-py3-none-any.whl |
Total release size: 117.7 kB
Release files / valorant_mcp-0.4.2.tar.gz
| Download URL | valorant_mcp-0.4.2.tar.gz |
|---|---|
| Size | 69.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
372effe27c29388314300ba0c8fa2b96ec6455c61122294a9bd8fe7328d7c3fb
|
|
BLAKE2b-256 checksum How to use checksums |
e2bd279f0362e9016c2b79d663a4fb02fcdf58a82ef7ce7d9464e0f2e33fba25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / valorant_mcp-0.4.2-py3-none-any.whl
| Download URL | valorant_mcp-0.4.2-py3-none-any.whl |
|---|---|
| Size | 48.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
10b315a687a9cedbb8e34ef806d83b410199c4aec547a08d5ac2e9002c32b4d0
|
|
BLAKE2b-256 checksum How to use checksums |
c360141ca71f8429915fa472b2cc63bc2f74c4df449fab96f209f416aa9b639d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for valorant-mcp 0.4.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.