Skip to main content
Glama

opendota_public_matches

Read-only

Returns about 100 recent ranked public Dota 2 matches with the heroes on each side, game mode, lobby type and average rank tier, optionally limited to a rank range. Optional min_rank and max_rank are rank tiers (medal 1 Herald to 8 Immortal times ten plus stars 1-5, for example 71 is Divine 1); page back with less_than_match_id set to the previous next_less_than_match_id. Account ids are not returned; use opendota_match for one match's detail.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "opendota_public_matches"
  }
}

Input Schema

NameRequiredDescriptionDefault
max_rankNoOptional highest average rank tier, same form as min_rank; must not be below min_rank.
min_rankNoOptional lowest average rank tier: medal 1-8 (Herald to Immortal) times ten plus stars 1-5, for example 71 is Divine 1.
less_than_match_idNoOptional; return matches older than this match id, to page back using next_less_than_match_id.

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result payload (shape varies per tool; see each tool's docs resource).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark this read-only and open-world, so the bar is lower; the description still adds real value by stating the result size (~100), the paging mechanic, and the negative trait that account ids are omitted. It doesn't discuss rate limits or ordering freshness beyond 'recent', which keeps it at 4.

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

Conciseness4/5

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

The what/scope statement is front-loaded before the pagination and exclusion notes, and there is no filler. The rank-tier explanation is partly redundant with the schema, costing a bit of tightness.

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

Completeness5/5

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

An output schema exists and annotations cover the safety profile, so the description only needs to cover scope, paging, and notable omissions — and it does all three, including the fact that account ids are not returned. Nothing needed to call it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the schema already spells out the rank encoding and the less_than_match_id semantics, so the description largely restates structured data. The one addition is linking less_than_match_id to the previous response's next_less_than_match_id, which is marginal beyond the schema text.

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?

Names a specific verb and resource (returns recent ranked public Dota 2 matches) and quantifies the result set (~100). It also scopes what's excluded (no account ids) and contrasts with opendota_match, so an agent can pick it out from the other opendota match tools.

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?

It explicitly routes single-match lookups to opendota_match and explains the pagination flow using next_less_than_match_id. It doesn't say when to prefer this over opendota_pro_matches or opendota_find_matches, so the sibling differentiation is partial rather than complete.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.