Skip to main content
Glama
WSDC Points MCP Server

WSDC Points MCP Server

by akarakotov

Get WSDC division statistics

get_division_stats
Read-onlyIdempotent

Count dancers by division and role worldwide or for a specific country, and optionally filter to dancers active within a chosen number of months.

Instructions

Count dancers by current division and role (Leader/Follower), worldwide or for one country, optionally only recently active dancers.

Input Schema

NameRequiredDescriptionDefault
countryNoOnly dancers from this country
active_within_monthsNoOnly count dancers who earned points within this many months

Output Schema

NameRequiredDescriptionDefault
countryNo
dancersYesDistinct dancers counted
divisionsYesDancers by current division and role, lowest division first
active_sinceNoOnly dancers with points on/after this date were counted

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, non-open-world behavior, so the description only needs to add what they cannot: that this is an aggregation returning counts split by division and role rather than a list of dancers. That grouping semantic is genuinely useful and would not be inferable from the annotations; it does not add anything about result shape or performance, which keeps it below 5.

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?

A single compact sentence with the verb and grouping front-loaded and the two optional scoping knobs trailing. No filler, though the parenthetical role list makes it slightly dense.

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 and both parameters are fully documented in the schema, so the description does not need to explain return values. For a simple two-optional-parameter aggregate tool, what remains is adequate, with only the sibling-selection guidance 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%, so the baseline is 3. The description restates the two filters in plain language (country scope, recent activity) but adds no format, valid value, or edge-case detail beyond what the schema properties already say.

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

Purpose4/5

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

Uses a specific verb ('Count dancers') plus the exact grouping dimensions ('current division and role (Leader/Follower)'), which distinguishes it from list-oriented siblings such as search_dancers and get_dancer_profile. It stops short of naming a sibling explicitly, so it is clear but not maximally differentiated.

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 scoping clause ('worldwide or for one country, optionally only recently active dancers') implies when the two filters are appropriate, but there is no explicit when-to-use-this-vs-search_dancers guidance and no stated exclusions or prerequisites.

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