sonovault-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SONOVAULT_API_KEY | Yes | Your SonoVault API key. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_tracksA | Search the SonoVault catalog (93M+ tracks) by artist and title. Both are required; there is no free-text search. Returns ISRC, genre, duration, artist credits, and release info (album, label, release date) per track. |
| get_trackA | Fetch one track by its SonoVault track ID, with full metadata. |
| lookup_isrcB | Exact lookup of a recording by its ISRC (International Standard Recording Code, e.g. GBDUW0000053). Returns the track's full metadata. |
| get_work_codesA | Find the ISWC work code(s) behind a recording, by ISRC or SonoVault track ID. Useful for royalty and publishing workflows. One recording can carry several ISWCs (medleys, samples). |
| get_recordings_of_workA | List every recording of a musical work by its ISWC (e.g. T0710204399 or T-071.020.439-9). Returns recordings sorted by popularity, each with a representative ISRC. |
| get_platform_linksA | Resolve a track to its ID and deep link on every supported platform: Spotify, Apple Music, Tidal, Beatport, Discogs, MusicBrainz, YouTube. Identify the track by exactly one of: SonoVault id, ISRC, or any platform's ID. |
| resolve_tracksA | Resolve up to 100 inputs in one call to canonical tracks plus cross-platform links. input_type picks the key: 'track_name' (items are {artist, title} objects), 'isrc', 'sonovault_id', or a platform id type ('spotify_id', 'applemusic_id', 'tidal_id', 'beatport_id', 'discogs_id', 'musicbrainz_id'). A discogs_id item is a Discogs track key (release ID plus track position, e.g. '2844-A'), not a bare release ID. Costs one API credit per line. |
| search_artistsA | Search artists by name. Returns id, name, country, formation year, release count, and the wikidata_id and musicbrainz_id identifiers for joining against external datasets. |
| get_artist_releasesA | An artist's releases, newest first. Use the cursor from a previous call for the next page. Optional from/until (YYYY-MM-DD, inclusive) limit it to a release-date range. |
| search_labelsA | Search record labels by name. Returns id, name, and release count. |
| get_label_releasesA | A label's releases, newest first, with artist per release. Cursor-paginated. Optional from/until (YYYY-MM-DD, inclusive) limit it to a release-date range; pass the same day for both to see what the label released that day. |
| search_releasesC | Search releases by title, optionally narrowed by artist name. |
| get_releaseA | Fetch one release by SonoVault release ID, including its full tracklist with ISRCs. 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 |
| list_genresA | The canonical SonoVault genre hierarchy: 25 main genres plus subgenres, with IDs. |
| browse_tracksA | Discover tracks by filter: label ID, artist ID, genre name or genre ID (from list_genres), or release year. At least one filter is required. Needs a paid SonoVault tier; free-tier keys get a 403. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct resource and action: searching vs. retrieving by ID, resolving identifiers, browsing by filter, and listing. Even overlapping tools like search_releases and browse_tracks are clearly differentiated (releases by title vs. tracks by label/artist/genre/year). No two tools could be easily confused.
All tool names follow a consistent verb_noun pattern in snake_case (search_*, get_*, lookup_*, list_*, browse_*, resolve_*). The verb choice is semantically appropriate for each operation, and there is no mixing of conventions or vague verbs.
15 tools is well within the ideal 3-15 range for a domain-specific server. Each tool covers a distinct capability (search, resolution, retrieval, browsing, genre listing), and none feel redundant or superfluous.
The tool surface covers the full read-only lifecycle: search across releases, artists, labels, and tracks; retrieval by various IDs (SonoVault, ISRC, ISWC, platform IDs); cross-platform resolution; and genre organization. It even handles advanced workflows like work/recording relationships. There are no obvious missing operations for a catalog querying server.