Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Spotify MCP

NPM · @NOVALUX12/SPOTIFY-MCP · SCANNED SEP 21

The most complete Spotify MCP: playback, library, playlists, search, podcasts and audiobooks.

0 this week 53 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 34 of 108 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to NovaLux12/spotify-mcp-server). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 12 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability0
  • Schema quality not yet verified: the captured schema was too large for us to store in full, so we will not judge it on a partial copy.Unverified
Stability & Change Management0
  • Stability not yet verified: the captured schema was too large for us to store in full, and comparing a partial copy would report our own trimming as a change.Unverified
Tool Coverage0
  • Tool coverage not yet verified: the captured tool definitions were too large for us to store in full, so we will not judge them on a partial copy.Unverified
Tool Safety0
  • Tool safety not yet verified: the captured tool definitions were too large for us to store in full, and the trim removes the very descriptions this category reads.Unverified
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 4 categories

Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you. How we score packages →

Install

How do I install the Spotify MCP server?

Spotify MCP runs locally as an npm package, launched with npx -y @novalux12/spotify-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @novalux12/spotify-mcp

# add to Claude Code
claude mcp add novalux12-spotify-mcp-server -- npx -y @novalux12/spotify-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "novalux12-spotify-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@novalux12/spotify-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "novalux12-spotify-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@novalux12/spotify-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add novalux12-spotify-mcp-server -- npx -y @novalux12/spotify-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "novalux12-spotify-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@novalux12/spotify-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add novalux12-spotify-mcp-server --command npx --arg -y --arg @novalux12/spotify-mcp
# ~/.hermes/config.yaml
mcp_servers:
  novalux12-spotify-mcp-server:
    command: "npx"
    args: ["-y", "@novalux12/spotify-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "novalux12-spotify-mcp-server": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@novalux12/spotify-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add novalux12-spotify-mcp-server -t stdio -c npx -a -y @novalux12/spotify-mcp
// mcp.json
{
  "mcpServers": {
    "novalux12-spotify-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@novalux12/spotify-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 15 Sept 26 0
    • Package version: 1.22.0 → 1.30.0 functional
  • 14 Sept 26 0
    • Package version: 1.22.0 → 1.30.0 functional
  • 12 Sept 26 0
    • Package version: 1.22.0 → 1.30.0 functional
  • 10 Sept 26 0
    • Package version: 1.22.0 → 1.30.0 functional
  • 9 Sept 26 0
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Tool safety: Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. security
    • Capabilities: pass → unverified functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
    • Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
    • Package version: 1.29.0 → 1.30.0 functional
  • 8 Sept 26 0
    • Package version: 1.22.0 → 1.29.0 functional
  • 6 Sept 26 +15
    • Malware scan: unverified → pass security
  • 5 Sept 26 −15
    • Malware scan: pass → unverified security
    • Package version: 1.22.0 → 1.29.0 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Analysed npm/@novalux12/spotify-mcp@1.30.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo NovaLux12/spotify-mcp-server
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/NovaLux12/spotify-mcp-server/.github/workflows/publish.yml@refs/tags/v1.30.0
Rekor log index 2763213934
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:db15d1663e98ac21cd7a8b559ef0b5f7f96ed2d21be5a6edeb74a863365ad417622fb13e5678b9e2b73adffcbbbcc94e67d6eafe8c18fdc451987eb01

Background: How many MCP packages publish verified provenance →

Dependencies 108 packages
Packages resolved 108
Stale 34
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 608 exposed · ~86,553 tokens partial

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
peek_next ~116

No description provided.

NameTypeReqDescription
countinteger
max_resultsinteger
response_formatstring

No output schema declared.

No examples provided.

pin_playlist ~90

No description provided.

NameTypeReqDescription
playlist_idstringyes
publicboolean
response_formatstring

No output schema declared.

No examples provided.

plan_podcast_session ~207

No description provided.

NameTypeReqDescription
kindstring
max_resultsinteger
minutesintegeryes
response_formatstring
saved_onlyboolean

No output schema declared.

No examples provided.

plan_volume_level_across_devices ~119

No description provided.

NameTypeReqDescription
device_idsarray
response_formatstring
volumeintegeryes

No output schema declared.

No examples provided.

play ~213

No description provided.

NameTypeReqDescription
context_uristring
device_idstring
dry_runboolean
offsetinteger
offset_uristring
position_msinteger
response_formatstring
urisarray

No output schema declared.

No examples provided.

play_at ~219

No description provided.

NameTypeReqDescription
atstring
context_uristring
device_idstring
dry_runboolean
offsetinteger
offset_uristring
position_msinteger
response_formatstring
urisarray

No output schema declared.

No examples provided.

play_from_search ~182

No description provided.

NameTypeReqDescription
device_idstring
dry_runboolean
marketstring
querystringyes
response_formatstring
search_typestring

No output schema declared.

No examples provided.

play_on ~253

No description provided.

NameTypeReqDescription
context_uristring
devicestringyes
dry_runboolean
position_msinteger
querystring
response_formatstring
search_typestring
shuffleboolean
urisarray
volumeinteger

No output schema declared.

No examples provided.

playback_compare_states ~97

No description provided.

NameTypeReqDescription
response_formatstring
state_astringyes
state_bstringyes

No output schema declared.

No examples provided.

playback_health_check ~73

No description provided.

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

playback_timeline ~102

No description provided.

NameTypeReqDescription
include_queueboolean
response_formatstring

No output schema declared.

No examples provided.

playlist_add_by_search ~230

No description provided.

NameTypeReqDescription
dry_runboolean
max_resultsinteger
pickinteger
playlist_idstringyes
querystringyes
response_formatstring
typestring

No output schema declared.

No examples provided.

playlist_artist_heat ~169

No description provided.

NameTypeReqDescription
dry_runboolean
max_resultsinteger
playlist_idstringyes
response_formatstring
top_ninteger

No output schema declared.

No examples provided.

playlist_balance ~262

No description provided.

NameTypeReqDescription
dry_runboolean
max_resultsinteger
name_prefixstring
partsintegeryes
playlist_idstringyes
publicboolean
response_formatstring
strategystring

No output schema declared.

No examples provided.

playlist_changelog ~163

No description provided.

NameTypeReqDescription
backup_file_astringyes
backup_file_bstringyes
max_resultsinteger
playlist_namestringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_chunk_preview ~212

No description provided.

NameTypeReqDescription
chunks_to_showinteger
max_resultsinteger
offsetinteger
page_sizeinteger
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_clone_live ~222

No description provided.

NameTypeReqDescription
descriptionstring
dry_runboolean
max_resultsinteger
namestring
playlist_idstringyes
publicboolean
response_formatstring

No output schema declared.

No examples provided.

playlist_clone_snapshot ~241

No description provided.

NameTypeReqDescription
backup_filestringyes
dry_runboolean
max_resultsinteger
new_namestring
playlist_namestringyes
publicboolean
response_formatstring

No output schema declared.

No examples provided.

playlist_collab_toggle ~78

No description provided.

NameTypeReqDescription
collaborativeboolean
dry_runboolean
playlist_idstringyes
publicboolean

No output schema declared.

No examples provided.

playlist_collaboration_report ~71

No description provided.

NameTypeReqDescription
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_cover_from_track ~203

No description provided.

NameTypeReqDescription
dry_runboolean
playlist_idstringyes
positioninteger
response_formatstring
track_uristring

No output schema declared.

No examples provided.

playlist_dedupe_advanced ~236

No description provided.

NameTypeReqDescription
dry_runboolean
keepstring
match_bystring
max_resultsinteger
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_diff ~181

No description provided.

NameTypeReqDescription
max_resultsinteger
playlist_a_idstringyes
playlist_b_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_difference_plan ~247

No description provided.

NameTypeReqDescription
base_playlist_idstringyes
dry_runboolean
max_resultsinteger
response_formatstring
subtract_playlist_idsarrayyes
target_playlist_idstring

No output schema declared.

No examples provided.

playlist_edit_journal ~142

No description provided.

NameTypeReqDescription
max_resultsinteger
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_era_profile ~199

No description provided.

NameTypeReqDescription
dry_runboolean
marketstring
max_resultsinteger
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_exclude_artists ~189

No description provided.

NameTypeReqDescription
artist_idsarrayyes
dedupe_scopestring
dry_runboolean
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_expression_algebra ~313

No description provided.

NameTypeReqDescription
dry_runboolean
expressionstringyes
publicboolean
response_formatstring
target_namestringyes

No output schema declared.

No examples provided.

playlist_fill_from_search ~205

No description provided.

NameTypeReqDescription
dry_runboolean
marketstring
playlist_idstringyes
queriesarrayyes
response_formatstring
target_countinteger

No output schema declared.

No examples provided.

playlist_filter_runtime ~203

No description provided.

NameTypeReqDescription
dry_runboolean
max_resultsinteger
max_secinteger
min_secinteger
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_flip_order ~157

No description provided.

NameTypeReqDescription
dry_runboolean
max_resultsinteger
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_from_tags ~180

No description provided.

NameTypeReqDescription
dry_runboolean
modestring
playlist_idstring
playlist_namestring
response_formatstring
tagsarrayyes

No output schema declared.

No examples provided.

playlist_health_check ~69

No description provided.

NameTypeReqDescription
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_history ~110

No description provided.

NameTypeReqDescription
max_resultsinteger
response_formatstring

No output schema declared.

No examples provided.

playlist_intersect ~267

No description provided.

NameTypeReqDescription
dedupestring
dry_runboolean
max_resultsinteger
response_formatstring
source_playlist_idsarrayyes
target_playlist_idstring

No output schema declared.

No examples provided.

playlist_intersection ~135

No description provided.

NameTypeReqDescription
max_resultsinteger
playlist_idsarrayyes
response_formatstring

No output schema declared.

No examples provided.

playlist_keep_artist ~211

No description provided.

NameTypeReqDescription
artiststringyes
dry_runboolean
keep_episodesboolean
max_resultsinteger
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_keep_only ~245

No description provided.

NameTypeReqDescription
artiststring
dry_runboolean
keep_bystringyes
max_resultsinteger
playlist_idstringyes
querystring
response_formatstring
typestring
valuesarray

No output schema declared.

No examples provided.

playlist_move_block ~255

No description provided.

NameTypeReqDescription
countinteger
dry_runboolean
max_resultsinteger
playlist_idstringyes
response_formatstring
startintegeryes
to_positionintegeryes

No output schema declared.

No examples provided.

playlist_move_to_top ~208

No description provided.

NameTypeReqDescription
artiststring
dry_runboolean
match_urisarray
playlist_idstringyes
querystring
response_formatstring
stable_orderboolean

No output schema declared.

No examples provided.

playlist_names_bulk_normalize ~200

No description provided.

NameTypeReqDescription
apply_tostring
dry_runboolean
matchstring
opstring
prefixstring
response_formatstring
suffixstring

No output schema declared.

No examples provided.

playlist_overlap_matrix ~163

No description provided.

NameTypeReqDescription
dry_runboolean
max_resultsinteger
min_overlapnumber
playlist_idsarrayyes
response_formatstring

No output schema declared.

No examples provided.

playlist_pair_check ~156

No description provided.

NameTypeReqDescription
max_resultsinteger
playlist_a_idstringyes
playlist_b_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_remove_artist ~194

No description provided.

NameTypeReqDescription
artiststringyes
dry_runboolean
max_resultsinteger
playlist_idstringyes
response_formatstring

No output schema declared.

No examples provided.

playlist_resequence ~228

No description provided.

NameTypeReqDescription
directionstring
dry_runboolean
max_resultsinteger
playlist_idstringyes
response_formatstring
sort_bystringyes

No output schema declared.

No examples provided.

playlist_reverse ~73

No description provided.

NameTypeReqDescription
dry_runboolean
playlist_idstringyes

No output schema declared.

No examples provided.

playlist_rotate ~199

No description provided.

NameTypeReqDescription
dry_runboolean
max_resultsinteger
playlist_idstringyes
positionsintegeryes
response_formatstring

No output schema declared.

No examples provided.

playlist_seed_shuffle ~209

No description provided.

NameTypeReqDescription
dry_runboolean
max_resultsinteger
playlist_idstringyes
response_formatstring
seedinteger

No output schema declared.

No examples provided.

playlist_shuffle ~69

No description provided.

NameTypeReqDescription
dry_runboolean
playlist_idstringyes
seedstring

No output schema declared.

No examples provided.

playlist_slice ~290

No description provided.

NameTypeReqDescription
countinteger
date_fromstring
date_tostring
dry_runboolean
endinteger
max_resultsinteger
modestringyes
namestringyes
playlist_idstringyes
publicboolean
response_formatstring
startinteger

No output schema declared.

No examples provided.

Common questions

What is the Spotify MCP server?

Spotify MCP is listed in the public MCP registry as io.github.NovaLux12/spotify-mcp-server. The most complete Spotify MCP: playback, library, playlists, search, podcasts and audiobooks. This page covers its npm package (@novalux12/spotify-mcp).

Is the Spotify MCP server safe to use?

Spotify MCP scores 53 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

Is the Spotify MCP server still maintained?

Spotify MCP is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Spotify MCP server under?

Spotify MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.