Skip to main content
Glama
Valorant MCP Server

Valorant MCP Server

get_match_history

List recent Valorant matches in compact rows with map, agent, result, score, KDA, ACS, ADR, HS%, KAST, and first kills; filter by map, mode, agent, region, or season.

Instructions

List matches, one compact row each: map, agent, result, score, KDA, ACS, ADR, HS%, KAST, first kills/deaths, ACS rank on team, party size. Defaults to the last 10; pass a larger count (max 50) or season for a whole act. Use the match_id with get_match_details.

Input Schema

NameRequiredDescriptionDefault
mapNoOnly matches on this map, e.g. 'Ascent'
modeNoQueue to analyzecompetitive
agentNoOnly matches on this agent, e.g. 'Sova'. Fetches extra history to fill `count`.
countNoNumber of recent matches to analyze (max 50)
regionNona, eu, ap, kr, latam or br. Defaults to the server setting.
seasonNoAnalyze a whole act instead of the last `count` games: 'current' (the act of the most recent game) or an act like 'e11a6'. When set, `count` is ignored and up to 100 matches from that act are used.
usernameYesRiot ID as name#TAG, e.g. 'player#NA1'

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.2

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the burden and does disclose key behavior: default result size, the 50-item cap, and that setting `season` overrides `count` and pulls up to 100 matches from that act. It does not state that it is a read-only call or mention failure modes for unknown Riot IDs, but the mutation/auth surface for a 'list' tool is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the resource and row shape, then the sizing/season semantics, then the hand-off to get_match_details. Nothing is redundant or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so per-field return documentation is not strictly required, yet the description still names the row columns, which helps an agent decide whether this tool answers the question. Combined with the count/season interplay, this is nearly complete for a low-risk listing tool; only mode/region guidance is thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds the practical interaction between `count` and `season` (season silently wins) that an agent might otherwise miss when scanning property descriptions. It also frames `map`/`agent` as filters, though it does not surface the `mode` enum or `region` values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List matches') plus the exact shape of each result row (map, agent, result, score, KDA, ACS, ADR, HS%, KAST, first kills/deaths, ACS rank, party size). This makes it trivially distinguishable from get_match_details and the report-style siblings, which operate on a single match or aggregate stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete routing conditions: defaults to the last 10, pass a larger `count` (max 50) or `season` for a whole act, and take the match_id to get_match_details for per-match depth. It does not explicitly exclude use for aggregate/trend analysis (get_performance_report, compare_periods), which is the remaining gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.