VS

veridyia/spotify-mcp

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

8 stars 9 forks 품질 76 트렌드 20MIT

Spotify MCP server for Claude - updated for Feb 2026 API changes

개요

A Model Context Protocol (MCP) server that connects Claude with Spotify. Control your Spotify playback, search music, manage playlists, and more -- all through natural conversation with Claude. : This project is forked from varunneal/spotify-mcp and updated for the . Built and maintained with Claude Code. - -- uses httpx async directly (native async, no asyncio.to_thread wrapping) - -- server.py, spotify_api.py, utils.py consolidated into one file - -- clean @mcp.tool() decorators instead of manual ToolModel + match/case routing - -- only mcp + httpx (was mcp + spotipy + python-dotenv) - -- spotify-mcp --auth for initial setup, auto-refresh on subsequent use - Start, pause, and skip playback - Search for tracks, albums, artists, and playlists - Get detailed info about any Spotify item - Manage the playback queue - Full playlist CRUD (create, read, update, delete tracks) - Retrieve liked/saved songs with optional genre enrichment - Adapted for Spotify Feb 2026 API changes 1.

README

원문 README의 일부입니다. 원문 보기.

spotify-mcp

A Model Context Protocol (MCP) server that connects Claude with Spotify. Control your Spotify playback, search music, manage playlists, and more – all through natural conversation with Claude.

Fork Notice: This project is forked from varunneal/spotify-mcp and updated for the Spotify Web API February 2026 changes. Built and maintained with Claude Code.

What’s Changed (v0.4.0)

Architecture Rewrite

  • Dropped spotipy – uses httpx async directly (native async, no asyncio.to_thread wrapping)
  • Single module – server.py, spotify_api.py, utils.py consolidated into one file
  • FastMCP – clean @mcp.tool() decorators instead of manual ToolModel + match/case routing
  • 2 dependencies – only mcp + httpx (was mcp + spotipy + python-dotenv)
  • Explicit OAuth – spotify-mcp --auth for initial setup, auto-refresh on subsequent use

Features (preserved from v0.3.0)

  • Start, pause, and skip playback
  • Search for tracks, albums, artists, and playlists
  • Get detailed info about any Spotify item
  • Manage the playback queue
  • Full playlist CRUD (create, read, update, delete tracks)
  • Retrieve liked/saved songs with optional genre enrichment
  • Adapted for Spotify Feb 2026 API changes

How It Works

Claude  spotify-mcp  Spotify Web API
  1. Claude sends tool calls via the MCP protocol
  2. The server translates them into Spotify Web API requests using httpx
  3. OAuth tokens auto-refresh; initial auth via spotify-mcp --auth
  4. Results are parsed into concise JSON and returned to Claude

Available Tools

Tool Actions Description
spotify_playback get, start, pause, skip, previous, volume Control music playback and volume
spotify_search – Search tracks, albums, artists, playlists
spotify_queue get, add View and manage play queue
spotify_get_info – Get detailed item info by Spotify URI
spotify_playlist get, get_tracks, add_tracks, remove_tracks, change_details, create, delete Full playlist management
spotify_liked_songs get, get_with_genres, like, unlike, check Manage saved songs and check library
spotify_recently_played – Get recently played tracks with timestamps
spotify_devices list, transfer List devices and transfer playback

Architecture

src/spotify_mcp/
  __init__.py   # Entry point (stdio / --auth)
  server.py     # FastMCP server, API client, parsers — all in one

Prerequisites

  • Python 3.12+
  • Spotify Premium account (required for Dev Mode API access since Feb 2026)
  • Spotify Developer App credentials

Configuration

1. Create Spotify Developer App

GitHub에서 전체 README 보기

설치

uvx --python 3.12 --from git+https://github.com/verIdyia/spotify-mcp spotify-mcp
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "spotify": { "command": "uv", "args": [ "--directory", "/path/to/spotify-mcp", "run", "spotify-mcp" ], "env": { "SPOTIFY_CLIENT_ID": "your_client_id", "SPOTIFY_CLIENT_SECRET": "your_client_secret", "SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8080/callback" } } } }