{
  "markdown": "# @striderlabs/mcp-spotify\n\nMCP server for Spotify — let AI agents search music, control playback, and manage playlists via the Spotify Web API.\n\nBuilt by [Strider Labs](https://striderlabs.ai).\n\n## Features\n\n- **Search** — Find tracks, artists, albums, and playlists\n- **Playlists** — View, create, and edit your playlists\n- **Playback Control** — Play, pause, skip, go back, set volume\n- **Multi-device** — List and switch between Spotify Connect devices\n- **OAuth 2.0** — Secure authorization with PKCE (no client secret needed)\n- **Token persistence** — Tokens stored locally, auto-refreshed\n\n## Setup\n\n### 1. Create a Spotify App\n\n1. Go to the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard)\n2. Click **Create App**\n3. Set **Redirect URI** to: `http://localhost:8888/callback`\n4. Copy your **Client ID**\n\n### 2. Install\n\n```bash\nnpx @striderlabs/mcp-spotify\n```\n\nOr install globally:\n\n```bash\nnpm install -g @striderlabs/mcp-spotify\n```\n\n### 3. Configure Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"spotify\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@striderlabs/mcp-spotify\"],\n      \"env\": {\n        \"SPOTIFY_CLIENT_ID\": \"your_client_id_here\"\n      }\n    }\n  }\n}\n```\n\n### 4. Authenticate\n\nIn Claude, call the auth tool once:\n\n```\nspotify_auth\n```\n\nA browser window will open for you to authorize access. After approving, tokens are saved locally at `~/.striderlabs/spotify/tokens.json` and auto-refreshed.\n\n## Environment Variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `SPOTIFY_CLIENT_ID` | Yes | Your Spotify app's Client ID |\n\n## Tools\n\n### Authentication\n\n| Tool | Description |\n|---|---|\n| `spotify_status` | Check connection status and logged-in account |\n| `spotify_auth` | Authorize via browser (OAuth 2.0 PKCE) |\n| `spotify_logout` | Clear stored tokens |\n\n### Search\n\n| Tool | Parameters | Description |\n|---|---|---|\n| `search_tracks` | `query`, `limit?` | Search for songs |\n| `search_artists` | `query`, `limit?` | Search for artists |\n| `search_albums` | `query`, `limit?` | Search for albums |\n| `search_playlists` | `query`, `limit?` | Search for playlists |\n\n### Playlists\n\n| Tool | Parameters | Description |\n|---|---|---|\n| `get_playlists` | `limit?` | Get your playlists |\n| `create_playlist` | `name`, `description?`, `public?` | Create a new playlist |\n| `add_to_playlist` | `playlistId`, `uris[]`, `position?` | Add tracks |\n| `remove_from_playlist` | `playlistId`, `uris[]` | Remove tracks |\n\n### Playback\n\n| Tool | Parameters | Description |\n|---|---|---|\n| `get_currently_playing` | — | Current track, progress, device |\n| `play` | `deviceId?`, `contextUri?`, `uris?[]`, `offsetPosition?`, `positionMs?` | Start/resume playback |\n| `pause` | `deviceId?` | Pause playback |\n| `next_track` | `deviceId?` | Skip to next track |\n| `previous_track` | `deviceId?` | Go to previous track |\n| `set_volume` | `volumePercent`, `deviceId?` | Set volume (0–100) |\n| `get_devices` | — | List Spotify Connect devices |\n| `transfer_playback` | `deviceId`, `play?` | Switch playback device |\n\n## Example Workflow\n\n```\n1. spotify_status            → check if authenticated\n2. spotify_auth              → open browser to authorize (first time)\n3. search_tracks query=\"Bohemian Rhapsody\"\n4. get_devices               → list available devices\n5. play uris=[\"spotify:track:...\"] deviceId=\"...\"\n6. get_currently_playing     → see what's playing\n7. set_volume volumePercent=70\n8. next_track                → skip to next\n9. get_playlists             → see your playlists\n10. create_playlist name=\"AI Picks\"\n11. add_to_playlist playlistId=\"...\" uris=[\"spotify:track:...\"]\n```\n\n## Requirements\n\n- Node.js 18+\n- Spotify account (Free or Premium)\n- Spotify Premium required for: volume control, playback control\n\n## Technical Details\n\n- **Protocol**: Model Context Protocol (MCP) over stdio\n- **Auth**: OAuth 2.0 Authorization Code with PKCE\n- **API**: Spotify Web API v1\n- **Token storage**: `~/.striderlabs/spotify/tokens.json`\n- **Browser automation**: Playwright (for OAuth browser launch)\n\n## License\n\nMIT — Strider Labs\n",
  "bytes": 4126,
  "sha": "aed8202e35ef3d7106d1956f2b2665bdb0ff4160ae28650c2f21863e22800c8b",
  "repo_slug": "markswendsen-code/mcp-spotify",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_markswendsen_code_spotify_a3e2bcd3/readme"
}