Skip to main content
Glama

count_players

Read-only

Count players for this account. With no filters, returns the total number of known players. With a version_id (from list_versions) and/or a time window (occurred_after / occurred_before, ISO 8601 date or date-time), returns the number of distinct players who were active in that scope (played a match, triggered an event, or hit a progression milestone). Use this for "how many unique players" questions.

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": "count_players"
  }
}

Input Schema

NameRequiredDescriptionDefault
version_idNoOnly count players active in this game version.
occurred_afterNoOnly count players active at or after this time.
occurred_beforeNoOnly count players active at or before this time.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful semantics beyond that: the precise definition of an "active" player (played a match, triggered an event, or hit a progression milestone) and the distinction between known and active populations. It says nothing about result freshness, caching, or how large accounts are handled.

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?

Front-loaded with the core action, then the default behavior, then the filtered behavior, then the usage cue — a logical progression with no filler. The parenthetical defining activity is dense but carries real disambiguating value.

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?

No output schema exists, and the description does state that a count is returned, so the return contract is adequately covered for a simple scalar tool. Complete enough to call correctly, with only minor gaps (result staleness, behavior when filters match nothing) left unstated.

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; the description earns above that by specifying the ISO 8601 date or date-time format for occurred_after/occurred_before, which the schema does not state, and by explaining that version_id comes from list_versions. The and/or combination semantics of the filters are also clarified.

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 ("Count players for this account") and then disambiguates its two modes: unfiltered total known players vs. distinct active players in a version/time scope. This clearly separates it from siblings like count_events, count_matches and count_progression_instances, which count other entities.

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?

Ends with an explicit routing cue: "Use this for 'how many unique players' questions," and points to list_versions as the source of version_id. It implicitly rules out count_events/count_matches for unique-player questions by defining activity across all three signal types, though it never names those alternatives explicitly.

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