Skip to main content
Glama

OffStereo

Discover music

discover
Read-onlyIdempotent

Discover genre-aware new releases, strong public-archive matches, or popular OffStereo shows. Call exactly once per listener request: put every positive genre into the same genres array, use [] when none were requested, and avoid one call or card per genre. query carries the listener's full wording, exclusions, counts, and no-padding constraint. Results remain relevant rather than padding a requested genre or archive search with unrelated rows. Dated music-history requests use music_today and are not a discover mode. playableOnly limits results to music that plays in ChatGPT. allowBuild and allowSave preserve a read-only request. The result card already includes song playback; a separate one-song card is for an explicit request for a dedicated song card.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYesDiscovery mode. search aliases archive; dated music-history requests use music_today.
limitNoMaximum total results (1-20).
queryNoArchive query, or the listener's release-discovery wording when it contains genres, balance, count, or no-padding constraints.
genresYesEvery positively requested genre; [] when the request is not genre-filtered. Results do not pad with unrelated genres.
allowSaveNoFalse preserves an explicit request not to create or save anything.
allowBuildNoFalse preserves an explicit request not to create or build a story.
playableOnlyNoTrue limits results to music with audio that plays inside ChatGPT.
perGenreLimitNoMaximum results from each named genre for a balanced new-release request.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
dateNoISO date for music-today results.
noteNo
exactNoStrong archive matches (show_search).
queryNo
showsNoRelated playable OffStereo shows.
titleNo
eventsNoDated music-history events (music-today).
objectYesdiscovery or show_search.
recentNo
statusYes
webUrlNo
actionsNo
relatedNo
releasesNoNew releases (new_releases mode).
sectionsNo
allowSaveNo
allowBuildNo
archiveUrlNo
playableOnlyNo
matchedGenresNo
requestedGenresNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/5.0
Behavior5/5

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

With annotations already declaring readOnlyHint, idempotentHint, and destructiveHint=false, the description still adds valuable behavioral nuance: it states results 'remain relevant rather than padding a requested genre or archive search with unrelated rows', explains that playableOnly limits to ChatGPT-playable audio, and notes the result card already includes playback. These disclosures go beyond the annotation flags and help the agent set expectations. No contradiction with annotations.

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?

The description is dense but every sentence earns its place—it front-loads the core purpose, then packs usage constraints, alternatives, and parameter semantics without redundancy. The structure flows from high-level action to specific rules to edge cases, and the wording is tight with no filler.

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?

For a tool with 8 parameters, 4 modes, and an output schema, the description is exceptionally complete. It covers invocation patterns, mode selection, parameter semantics, exclusions (dated history), and behavioral guarantees. Since an output schema exists, not detailing the return structure is acceptable; nothing an agent needs to call correctly is left ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite the schema covering 100% of parameters, the description enriches several: it clarifies that 'query carries the listener's full wording, exclusions, counts, and no-padding constraint', explains genres as 'every positively requested genre; [] when not genre-filtered', and links allowBuild/allowSave to preserving read-only semantics. This transforms raw schema fields into actionable instructions, raising the value above the baseline 3.

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?

The description opens with a precise verb–object pairing ('Discover genre-aware new releases, strong public-archive matches, or popular OffStereo shows'), naming the three concrete output categories and making the tool's scope immediately obvious. It also contrasts with sibling tools by explicitly routing dated music-history requests to music_today, so an agent can distinguish it without inspecting sibling schemas.

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

Usage Guidelines5/5

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

The description gives explicit invocation rules: 'Call exactly once per listener request', instructs to consolidate all positive genres into one array, and forbids per-genre calls. It also names the alternative (music_today) for dated history and clarifies when to use a separate one-song card. These are concrete when/when-not guidelines, not just vague context.

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