Skip to main content
Glama

statsfm_top_genres

Get a user's most-streamed genres from stats.fm, with optional time range and result limits.

Instructions

A stats.fm user's most-streamed genres

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo1–100. Default: 10
rangeNoRanking window. Default: lifetime
offsetNoStart position (0-based). Default: 0
user_idYesstats.fm user id or customId (e.g. "martijn")
max_resultsNoMax items to return (default: SPOTIFY_MCP_MAX_ITEMS env or 50)
response_formatNo'concise' = human prose, 'detailed' = more fields in prose, 'json' = raw API objectconcise

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.29.0

TDQS

C2.5/5.0
Behavior2/5

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

There are no annotations, so the description bears full responsibility for behavioral disclosure. It does not state this is a read-only query, how results are aggregated or ordered, whether the response is a simple list or includes counts, or any caveats about missing user data. The description implies read-only intent but otherwise leaves the agent blind to behavior. A description for a rank-query tool should mention the output shape or ranking semantics, especially with no output schema.

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?

The description is short and contains no filler, but it is also under-specified. It is a noun phrase rather than a full instruction, so its brevity does not earn it credit for being efficient — it is simply minimal. A clear sentence like 'Retrieve a stats.fm user's most-streamed genres, ranked by stream count' would be as short and far more useful.

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

Completeness2/5

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

With 6 parameters, 2 enums, no output schema, and a large library of sibling stats.fm tools, the context is sparse. The description fails to say how the result will be presented (list of genre names? rankings and counts?), what data window is used by default, or how this tool relates to similar ones like statsfm_genre_artists. The schema covers parameter mechanics, but not the conceptual context an agent needs to understand what calling this tool will return.

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 coverage is 100%, so every parameter has a description and the baseline is 3. The tool description adds minimal semantic value beyond that, only implying that the result is about 'most-streamed' genres, which hints at ranking by stream count. It doesn't enrich understanding of how range or limit impact the result, but the schema already covers those details, so this is adequate.

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

Purpose3/5

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

The description reads as a noun phrase: 'A stats.fm user's most-streamed genres.' It identifies the resource (genres) and scope (a stats.fm user) but never uses a verb like 'get', 'list', or 'fetch'. This is clearer than a pure tautology, and the word 'genres' distinguishes it from siblings like statsfm_top_artists or statsfm_top_tracks, but the lack of an explicit action leaves purpose somewhat ambiguous.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool vs. alternatives like statsfm_top_artists, statsfm_genre_artists, or statsfm_top_tracks. No context is provided about what query should route an agent here, and no exclusions or alternative tool names are mentioned. An agent must infer usage entirely from the tool name and sibling set.

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

Deploy Server

Other Tools