Skip to main content
Glama
sonovault-mcp

sonovault-mcp

Official

sonovault-mcp

CI npm

MCP server for the SonoVault music metadata API. Gives Claude, Cursor, and any MCP client search across 93M+ tracks, artists, labels, and releases, with full metadata per result: genre, BPM, musical key, label, release dates, artist credits, ISRC and ISWC codes, and cross-platform IDs (Spotify, Apple Music, Tidal, Beatport, Discogs, MusicBrainz, YouTube).

Ask your assistant things like:

  • "What releases did mau5trap put out this year?"

  • "Find Daft Punk's Veridis Quo and give me its genre, label, and ISRC"

  • "What key and BPM is One More Time, and which tracks on Discovery mix well with it?"

  • "Show me the tracklist of Discovery with ISRCs"

  • "What's the Spotify and Beatport ID for ISRC GBDUW0000053?"

  • "Resolve this play log to ISRCs and labels" (paste up to 100 lines)

  • "List every recording of ISWC T-071.020.439-9"

Setup

You need a SonoVault API key. The free tier is 1,000 requests/month, no credit card: get a key.

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "sonovault": {
      "command": "npx",
      "args": ["-y", "sonovault-mcp"],
      "env": { "SONOVAULT_API_KEY": "svk_live_..." }
    }
  }
}

Claude Code

claude mcp add sonovault -e SONOVAULT_API_KEY=svk_live_... -- npx -y sonovault-mcp

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in your project):

{
  "mcpServers": {
    "sonovault": {
      "command": "npx",
      "args": ["-y", "sonovault-mcp"],
      "env": { "SONOVAULT_API_KEY": "svk_live_..." }
    }
  }
}

VS Code (GitHub Copilot)

Add to .vscode/mcp.json:

{
  "servers": {
    "sonovault": {
      "command": "npx",
      "args": ["-y", "sonovault-mcp"],
      "env": { "SONOVAULT_API_KEY": "svk_live_..." }
    }
  }
}

Windsurf

Add the same mcpServers block as Claude Desktop to ~/.codeium/windsurf/mcp_config.json.

Other MCP clients

Any client that speaks MCP over stdio works. Command: npx -y sonovault-mcp with the SONOVAULT_API_KEY environment variable set.

Related MCP server: Verified Human MCP Server

Tools

Tool

What it does

search_tracks

Fuzzy search by artist + title. Returns ISRC, genre, BPM, musical key, label, release date.

lookup_isrc

Exact recording lookup by ISRC, with BPM and musical key.

get_track

Fetch a track by SonoVault ID, with BPM and musical key.

get_work_codes

Recording to composition: the ISWC(s) behind a recording.

get_recordings_of_work

Composition to recordings: every recording of an ISWC.

get_platform_links

One track's ID and deep link on all 7 platforms, from any ID or ISRC.

resolve_tracks

Bulk resolve up to 100 track names, ISRCs, or platform IDs.

search_artists, get_artist_releases

Artist search and discography, with Wikidata and MusicBrainz identifiers.

search_labels, get_label_releases

Label search and catalog, optionally for one release date or a date range.

search_releases, get_release

Release search, and tracklists with ISRCs, BPM and key in playing order with disc and track numbers, plus MusicBrainz release and release-group ids. get_release also lists the real editions behind a release, each with its own label and catalog number, and takes an edition id to render that edition's numbering.

list_genres

The canonical genre hierarchy.

browse_tracks

Discover by label, artist, genre, or year (paid tier).

All tools are read-only. Most work on the free tier; browse_tracks needs a paid plan.

Example workflows

Enrich a radio play log for royalty reporting

Paste a play log with just artist and title, and ask: "Resolve these to ISRC, album, and label, and give me a table I can map onto a SoundExchange Report of Use." The assistant calls resolve_tracks once per 100 lines and returns the identifiers collecting societies match on. Works the same for PPL, Sena, GVL, and Re:Sound reporting.

Clean up a DJ library

"Here are 50 tracks from my rekordbox export. Find the canonical version of each, flag duplicates that share an ISRC, and tag each with its genre, BPM and key." The assistant combines resolve_tracks with the genre, tempo and key fields on each result.

Bridge recordings to compositions

"I have ISRCs from my distributor. Which musical works do they belong to, and what other recordings exist of each work?" The assistant chains get_work_codes and get_recordings_of_work. Useful for publishing administration and cover/version research.

Check cross-platform availability

"Is this Beatport exclusive on Spotify yet? Beatport ID 6014288." One get_platform_links call answers it, with deep links per platform.

Research a label

"Summarize what Anjunabeats released in the last six months, grouped by subgenre." The assistant pages through get_label_releases and pulls genre from the tracklists.

FAQ

Is there a free tier?

Yes. A free SonoVault key includes 1,000 requests/month with no credit card. Every tool except browse_tracks works on it.

What metadata does each track include?

Title, artist credits (with primary/remixer flags), ISRC, duration, BPM, musical key, genre and subgenre, and per-release album title, label, and release date. ISWC work codes come from the dedicated work-code tools.

Does it return BPM or musical key?

Yes. Every track carries bpm (full tempo, up to 2 decimals, so 174 rather than 87) and its musical key in three notations:

  • key_alphanumeric: 1 to 12 plus A for minor or B for major, e.g. 10B. Neighbouring numbers and the same number with the other letter mix harmonically.

  • key_musical: standard notation, e.g. D, Am, F#m, Ebm.

  • key_open: Open Key notation, lowercase, e.g. 3d, 1m.

keys lists every key held for the track, one entry per source. Key comes from OpenKeyScan and BPM from the Lexicon DJ beat detector (trusted by 100k+ DJs), both run by SonoVault on the audio. Daft Punk's One More Time comes back as 123 BPM, 10B / D / 3d. All of these are null (and keys empty) for a track that has not been analysed yet. Other audio features such as energy or danceability are not exposed.

Where does the data come from?

Aggregated and deduplicated from MusicBrainz, Discogs, Spotify, Apple Music, Tidal, and Beatport, with ISWC links from The MLC. Details: sonovault.now/data-sources.

How is this different from a Spotify API integration?

Single-platform APIs return their own IDs only. SonoVault resolves one recording to its IDs on all seven supported platforms, keyed by ISRC, and adds identifiers (ISRC, ISWC) that platform APIs don't expose. Comparison: sonovault.now/compare/spotify-api.

Is my API key sent anywhere besides SonoVault?

No. The server runs locally over stdio and sends your key only to api.sonovault.now as a request header. The code is small and auditable: src/server.ts.

Agent Skill

Not using MCP? skill/SKILL.md is an Agent Skill that teaches any agent to call the SonoVault API directly over HTTP: search rules, ISRC/ISWC recipes, bulk resolution, and error handling.

License

MIT

Available Tools

15 tools
browse_tracksBrowse the catalogA

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.

Inputs: year, genre, genre_id, label_id, +2 more.

get_artist_releasesArtist 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.

Inputs: artist_id (required), from, limit, until, +1 more.

get_label_releasesLabel 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.

Inputs: label_id (required), from, limit, until, +1 more.

get_recordings_of_workComposition to recordings (ISWC)A

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.

Inputs: iswc (required), limit.

get_releaseGet release with tracklistA

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.

Inputs: id (required), edition.

get_trackGet track by IDA

Fetch one track by its SonoVault track ID, with full metadata (ISRC, genre, duration, BPM, musical key, artist credits, releases). Tempo and key: bpm (full tempo, e.g. 123) and musical key in three notations: key_alphanumeric (e.g. '10B'), key_musical (e.g. 'D', 'F#m') and key_open (Open Key, e.g. '3d'), plus keys[] with one entry per source. All null (keys empty) when the track has not been analysed.

Inputs: id (required).

get_work_codesRecording to composition (ISWC)A

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).

Inputs: isrc, track_id.

list_genresList genresA

The canonical SonoVault genre hierarchy: 25 main genres plus subgenres, with IDs.

Inputs: no named parameters.

lookup_isrcLook up a track by ISRCA

Exact lookup of a recording by its ISRC (International Standard Recording Code, e.g. GBDUW0000053). Returns the track's full metadata, including BPM and musical key. Tempo and key: bpm (full tempo, e.g. 123) and musical key in three notations: key_alphanumeric (e.g. '10B'), key_musical (e.g. 'D', 'F#m') and key_open (Open Key, e.g. '3d'), plus keys[] with one entry per source. All null (keys empty) when the track has not been analysed.

Inputs: isrc (required).

resolve_tracksBulk resolveA

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. Each matched track carries the same fields as get_track, including BPM and musical key. Costs one API credit per line.

Inputs: items (required), input_type (required).

search_artistsSearch 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.

Inputs: name (required), limit.

search_labelsSearch record labelsA

Search record labels by name. Returns id, name, and release count.

Inputs: name (required), limit.

search_releasesSearch releases (albums)C

Search releases by title, optionally narrowed by artist name.

Inputs: title (required), limit, artist.

search_tracksSearch tracksA

Search the SonoVault catalog (93M+ tracks) by artist and title. Both are required; there is no free-text search. Returns ISRC, genre, duration, BPM, musical key, artist credits, and release info (album, label, release date) per track. Tempo and key: bpm (full tempo, e.g. 123) and musical key in three notations: key_alphanumeric (e.g. '10B'), key_musical (e.g. 'D', 'F#m') and key_open (Open Key, e.g. '3d'), plus keys[] with one entry per source. All null (keys empty) when the track has not been analysed.

Inputs: title (required), artist (required), limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 15 tools

    Disambiguation4/5

    Most tools have clearly distinct resource/action targets, but there is some overlap between resolve_tracks, get_platform_links, and the single-track lookup tools. The descriptions distinguish batch resolution from single-track platform-link retrieval, but an agent may still need to pause to choose between resolve_tracks with platform IDs and get_platform_links.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern: get_, search_, lookup_, resolve_, list_, and browse_. The convention is predictable throughout and no naming style is mixed.

    Tool Count5/5

    Fifteen tools is well-scoped for a music catalog metadata server covering tracks, releases, artists, labels, genres, works, and platform links. Each tool appears to earn its place without excessive redundancy.

    Completeness4/5

    The surface covers the core read-only music catalog lifecycle well: search and lookup for tracks, releases, artists, labels, works, genres, and platform links. Minor gaps exist, such as no direct get_artist or get_label by ID, but agents can work around these via search or release tools.

    Maintenance

    ActivityMaintained
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Cross-platform music link resolution for AI agents. Resolve any song or album across Spotify, Apple Music, Amazon, YouTube, and more. Returns affiliate-ready links with click tracking
      5
      81 npm
      3
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables querying the Verified Human Cert registry to verify human-made music certifications by ISRC, artist, track, or cert number.
      1
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI music generation and management through the Suno API, supporting text prompts, custom lyrics, track status monitoring, and credit management.
      16
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables music search, metadata retrieval, local audio analysis (tempo, key, energy), recommendations, song recognition, and classical work resolution via Spotify, Last.fm, AudD, MusicBrainz, and Songkick APIs.
      -