Skip to main content
Glama

opendota_hero_durations

Read-only

Returns a Dota 2 hero's games, wins and win rate grouped by game length in five-minute bins (start_minute), sorted by length, to show early versus late strength. Provide hero_id from opendota_heroes; unknown ids return not found.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "hero_id": "<hero_id>"
    },
    "name": "opendota_hero_durations"
  }
}

Input Schema

NameRequiredDescriptionDefault
hero_idYesRequired positive hero ID from opendota_heroes.

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.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds behavior beyond them: the five-minute bin size, ascending sort by length, and the error case ('unknown ids return not found'). That is useful operational context a caller would otherwise have to discover empirically.

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 dense sentences, front-loaded with what is returned and how it is grouped, followed by the input requirement and failure case. No filler, no repetition of the title or name.

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, so return-field documentation is not needed; the description still covers grouping, ordering and error behavior. Combined with the single required parameter, an agent has everything needed to call it correctly in one attempt.

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% and the parameter is self-documenting, so the baseline is 3; the description earns an extra point by specifying the provenance of hero_id (from opendota_heroes) and the failure mode for invalid ids. It does not add anything about id ranges or example values beyond that.

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 (returns) and resource (a Dota 2 hero's games, wins and win rate grouped by game length in five-minute bins), plus the sort order and analytical purpose. The 'grouped by game length in five-minute bins' phrasing distinguishes it from sibling stats tools such as opendota_hero_stats without needing to name them.

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 a clear prerequisite ('Provide hero_id from opendota_heroes'), which routes the agent to the correct upstream tool, and frames the use case ('to show early versus late strength'). It does not name an alternative for when the agent wants win rate by something other than game length, so there is no explicit exclusion.

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.