Skip to main content
Glama

whats_new

Find new albums, singles, and podcast episodes from your followed artists and saved shows. Set a date range or use last-check to see what's new since your last visit.

Instructions

Personal new-releases radar: derive what's new from followed artists (new albums/singles) and saved shows (new podcast episodes), replacing the removed browse/new-releases surface. WARNING: N followed artists = N+1 API requests (1 follow page + N album lookups); a large library can exhaust small dev-account quotas in one call. Use max_artists to budget and dry_run to preview the cost before running.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindsNoWhich sources to scan. Default: ['albums','podcasts']
sinceNoOnly include releases on/after this date (YYYY-MM-DD), or 'last-check' to resume from the stored watermark file (default path ~/.spotify-mcp/freshness.json)
dry_runNoPreview only: validate inputs and describe exactly what would change without performing it
days_backNoLook this many days back when `since` is omitted. Default: 30
max_artistsNoPer-call budget for artist album lookups (and show episode lookups). Default: 25 (or SPOTIFY_MCP_FRESHNESS_BUDGET). Walk caps at this budget and reports truncation. Independent of SPOTIFY_MCP_FETCH_ALL_CAP. WARNING: each lookup is an API request.
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
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure burden, and it delivers on the most critical trait: the N+1 API-request cost model with an explicit quota-exhaustion warning and mitigation pointers (max_artists, dry_run). It does not disclose that the tool writes a state watermark (freshness.json) when 'last-check' is used — a side effect only hinted at in the schema — which keeps it from a 5.

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 the core purpose and immediately followed by the keep-alive cost warning. Every clause earns its place — the WARNING is long but it is the single most important thing an agent needs to know before invoking this tool. No fluff, no repetition of the schema.

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?

For a complex tool with 7 parameters, no annotations, and no output schema, the description covers purpose, source scope, and the dominant risk (quota exhaustion) well. The remaining gap is output behavior: there is no description of what the radar returns (a list? prose summaries?) — the response_format parameter hints at it but the description never states the shape of the result. That is a real but minor omission against a well-covered schema.

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 schema already documents all seven parameters thoroughly — the baseline is 3. The main description adds a small connective hint linking max_artists and dry_run to the quota scenario, but that guidance partly duplicates the schema's own max_artists warning ('each lookup is an API request'). The description does not materially compensate beyond the schema.

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?

The description states a specific verb+resource: it derives new releases from followed artists (albums/singles) and saved shows (podcast episodes), framed as a 'personal new-releases radar.' This clearly scopes what it does. It distinguishes from the removed browse/new-releases surface, but does not explicitly differentiate itself from close siblings like new_music_from_saved_artists or save_release_radar, so it stops short of a 5.

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?

The phrase 'replacing the removed browse/new-releases surface' provides clear context for when to reach for this tool, and the closing guidance ('Use max_artists to budget and dry_run to preview the cost before running') tells the agent how to invoke it safely in the high-cost scenario. No explicit exclusions or named sibling alternatives (e.g., check_artists_releases for single-artist checks), so it's clear context without exclusions — a 4.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NovaLux12/spotify-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server