npm sonovault-mcpstdioMITupdated 19d ago
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, label, release dates, artist credits, ISRC and ISWC codes, and cross-platform IDs (Spotify, Apple Music, Tidal, Beatport, Discogs, MusicBrainz, YouTube).
sonovault 能做什么?
sonovault-mcp
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, 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"
- "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.
Tools
| Tool | What it does |
|---|---|
search_tracks |
Fuzzy search by artist + title. Returns ISRC, genre, label, release date. |
lookup_isrc |
Exact recording lookup by ISRC. |
get_track |
Fetch a track by SonoVault ID. |
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. |
search_labels, get_label_releases |
Label search and catalog. |
search_releases, get_release |
Release search and tracklists with ISRCs. |
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." The assistant combines resolve_tracks with the genre 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, 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?
No. The public SonoVault API deliberately excludes audio features like BPM, key, and energy. No audio previews or artwork either.
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.
Related
- SonoVault API docs
- sonovault-js and sonovault-python, the client SDKs (this server is built on sonovault-js)
License
MIT
安装
把 sonovault 添加到你的客户端。选择你正在使用的那个。
claude mcp add sonovault-mcp -- npx -y sonovault-mcpcodex mcp add sonovault-mcp -- npx -y sonovault-mcpamp mcp add sonovault-mcp -- npx -y sonovault-mcp{
"mcpServers": {
"sonovault-mcp": {
"command": "npx",
"args": [
"-y",
"sonovault-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"sonovault-mcp": {
"command": "npx",
"args": [
"-y",
"sonovault-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"sonovault-mcp","command":"npx","args":["-y","sonovault-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"sonovault-mcp": {
"command": "npx",
"args": [
"-y",
"sonovault-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"sonovault-mcp": {
"command": "npx",
"args": [
"-y",
"sonovault-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"sonovault-mcp": {
"command": "npx",
"args": [
"-y",
"sonovault-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"sonovault-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"sonovault-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"sonovault-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"sonovault-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y sonovault-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
9 个工具
sonovault 向已连接的智能体提供 9 个工具。
- search_tracks
- Fuzzy search by artist + title. Returns ISRC, genre, label, release date.
- lookup_isrc
- Exact recording lookup by ISRC.
- get_track
- Fetch a track by SonoVault ID.
- 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.
- list_genres
- The canonical genre hierarchy.
- browse_tracks
- Discover by label, artist, genre, or year (paid tier).
评分
84 / 100
优秀
- 文档25/25
- 维护25/25
- 可信度16/20
- 能力6/15
- 安装体验12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 11 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 9 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
版本历史
| 版本 | 发布于 |
|---|---|
| 1.0.2最新 | 2026年7月10日 |
| 1.0.1 | 2026年7月10日 |
| 1.0.0 | 2026年7月10日 |