Skip to main content
Glama

song_performance_history

Trace live performance frequency and dates for any song, with annual and per-tour breakdowns to reveal its history across decades and line-ups.

Instructions

Trace how often and when a song was played live, from the local setlist cache. Run refresh_setlist_cache first. Aggregates by year and by tour so a song's life across decades and line-ups is visible at a glance.

Args: song: Song title to trace (e.g. "Starless", "21st Century Schizoid Man"). artist_mbid: MusicBrainz artist MBID. Defaults to King Crimson. match: "exact" (case-insensitive full title) or "contains" (substring).

Returns: A dict with cache_info, performance_count, first/last performance, by_year and by_tour breakdowns, and the list of performances.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
songYes
matchNoexact
artist_mbidNob38225b8-8e5f-42aa-bcdc-7bae5b5bdab3
Behavior4/5

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

With no annotations provided, the description discloses that the tool reads from a local cache and depends on freshness (refresh prerequisite). It also describes the return structure in detail. It implies a read-only operation but never explicitly states 'does not modify data', and it does not mention edge cases like cache emptiness. Still, it is reasonably transparent for a cache-backed lookup.

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 structured into a brief summary, an Args block, and a Returns block. It front-loads the purpose, includes necessary parameter details, and avoids redundancy. Each sentence adds value, and the format is easy to parse.

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?

Given the tool's moderate complexity (3 params, no output schema, no annotations), the description is complete. It covers the tool's purpose, data source, prerequisite, all parameters, and the return dictionary contents (cache_info, performance_count, first/last, by_year, by_tour, list). This is everything an agent needs to invoke it correctly and interpret results.

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?

The schema has no parameter descriptions (0% coverage), but the description fully compensates: it explains 'song' with examples, notes the default for 'artist_mbid' (King Crimson), and defines the two allowed values for 'match' (exact vs contains). This gives the agent complete information to construct valid calls.

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 specific verb+resource: 'Trace how often and when a song was played live.' It further clarifies the data source (local setlist cache) and the aggregation by year and tour. This clearly distinguishes it from sibling tools like get_live_history which likely lack this song-specific aggregated view.

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 description states a clear prerequisite: 'Run refresh_setlist_cache first.' It also specifies the context (local setlist cache) and gives an idea of when results will be useful. However, it does not explicitly compare to alternatives (e.g., get_live_history or song_live_releases), so it falls short of a 5.

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/ytkoka/king-crimson-mcp'

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