Skip to main content
Glama
sonovault-mcp

sonovault-mcp

Official

Get release with tracklist

get_release

Fetch a release by SonoVault release ID to retrieve its full playing-order tracklist with ISRC, BPM, and musical key, plus editions for correct track numbering.

Instructions

Fetch one release by SonoVault release ID, including its full tracklist with ISRCs, BPM and musical key per track (same bpm/key_* fields as get_track, null when not analysed). Tracks come back in playing order, each with disc_number and track_number; a track whose position is unknown sorts last with both null. A SonoVault release groups every edition of an album onto one record, so the response also carries an editions array naming the real editions behind it, each with its provider, format, release date, barcode, country, track count, label and catalog number (pressings of one album often carry different labels); pass one of their ids as edition to render that edition's numbering instead of the default consensus. musicbrainz_release_ids and musicbrainz_release_group_ids are arrays for the same reason.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "get_release"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesSonoVault release ID
editionNoEdition id from the response's editions array. Renders that edition's track numbering; tracks it does not carry keep a null position and come last.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.0
    • addedInput schema / properties / edition
      Added value: +{
      +  "description": "Edition id from the response's editions array. Renders that edition's track numbering; tracks it does not carry keep a null position and come last.",
      +  "type": "integer"
      +}
  2. First observedv1.0.2

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses null semantics for unanalysed bpm/key, playing-order guarantees, the 'unknown position sorts last with both null' rule, and the fact that a release is a merged multi-edition record with defaults applied. It stops short of stating error behaviour for an invalid ID or the default-edition resolution logic, but the behavioural picture is substantially richer than a bare summary.

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?

The core purpose and payload are front-loaded in the first sentence, and the later sentences each add non-redundant facts (ordering, editions, MBID arrays). The final clauses are dense and slightly run-on, but no sentence is 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?

There is no output schema, and the description compensates thoroughly: it describes the tracklist fields, ordering, the editions array with its sub-fields, and why the MusicBrainz id fields are arrays. An agent can predict the response shape without opening any schema.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it explains that `edition` overrides a default 'consensus' numbering and reorders tracks with null positions last, and it ties `edition` back to the editions array in the response. That is interpretation the schema wording alone only partially conveys.

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?

States a specific verb and resource ('Fetch one release by SonoVault release ID') and enumerates the payload (tracklist with ISRCs, BPM, key, editions array). The ID-based single-record framing implicitly contrasts with the search_* siblings, but it never names those alternatives, so the differentiation is inferred rather than stated.

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?

It explains how to use the `edition` parameter (take an id from the editions array to render that edition's numbering instead of the default consensus), which is genuine actionable guidance. However, it gives no when-to-use routing against siblings like search_releases (to find an ID) or get_track (for a single track), nor any exclusion or prerequisite, so usage is implied rather than prescribed.

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