Skip to main content
Glama

Crawlora MCP

opendota_hero_stats

Read-only

Returns Dota 2 hero base stats plus OpenDota pick/win counts and win rates for professional games (with bans), public games, turbo and the eight rank brackets (Herald to Immortal). Filter with primary_attr (agi, all, int, str), attack_type (Melee, Ranged) and role (Carry, Disabler, Durable, Escape, Initiator, Nuker, Pusher, Support); sort with sort (id, name, pro_pick, pro_win, pro_ban, pro_win_rate, pub_pick, pub_win, pub_win_rate, turbo_pick, turbo_win_rate) and desc; cap with limit. Use it to see what is being picked and banned in pro play.

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_hero_stats"
  }
}

Input Schema

NameRequiredDescriptionDefault
descNoOptional; true sorts descending (the default for every key except id and name).
roleNoOptional role filter: Carry, Disabler, Durable, Escape, Initiator, Nuker, Pusher or Support.
sortNoOptional sort key: id (default), name, pro_pick, pro_win, pro_ban, pro_win_rate, pub_pick, pub_win, pub_win_rate, turbo_pick or turbo_win_rate.
limitNoOptional number of heroes to return, 1 to 200; defaults to all.
attack_typeNoOptional attack type filter: Melee or Ranged.
primary_attrNoOptional primary attribute filter: agi, all, int or str.

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

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely useful behavioral context beyond that: it discloses the aggregation sources (pro with bans, public, turbo, rank brackets), which tells an agent what the numbers mean and how stale/broad they are. It stops short of noting refresh cadence or data-source caveats, keeping it out of the 5 tier.

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

Conciseness3/5

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

It is front-loaded with purpose and data scope, which is good. But the parenthetical enumerations of primary_attr, attack_type, role, and all eleven sort keys simply duplicate the schema, adding length without new information and diluting the one sentence that actually aids selection.

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?

With a full input schema, an output schema, and safety annotations present, the description covers what an agent needs in order to call this correctly. The remaining gap is minor: no guidance on result volume or how the returned stat sets relate to each other, but the structured fields carry that load.

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%, so every parameter is already documented, including the desc defaulting behavior and limit range. The description merely restates the same enum values and sort keys verbatim without adding interpretation (e.g. what pro_win_rate is computed over), so baseline 3 applies.

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 concrete verb and resource (returns Dota 2 hero base stats plus pick/win counts and win rates) and enumerates the exact data scopes covered: pro games with bans, public games, turbo, and eight rank brackets. That data scope is what separates it from siblings like opendota_heroes or opendota_hero_descriptions, so an agent can pick it without opening another schema.

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

Usage Guidelines3/5

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

The closing line 'Use it to see what is being picked and banned in pro play' gives one clear usage context. However, it never states when NOT to use it or names an alternative sibling (e.g. opendota_heroes for raw hero data, opendota_hero_matchups for matchup stats), so routing between the many opendota_* tools is still left to inference.

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.

Resources