Spotify MCP Server
Provides tools for controlling Spotify playback, searching tracks, and retrieving user profile information through the Spotify API with automatic token refresh.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Spotify MCP Server
A Model Context Protocol (MCP) server that provides Spotify integration with OAuth authorization flow based on the Model Context Protocol specification.
Files
index.ts- MCP server setup and tool registration with StreamableHTTPServerTransportspotify.ts- Spotify API service with token managementauth.ts- BetterAuth configuration with Drizzle adapterdb/- Database schema and connection using Drizzle ORMotocol (MCP) server that provides Spotify integration with OAuth authorization flow based on the Model Context Protocol specification.
Features
OAuth Authorization Flow: Implements MCP's authorization specification with Spotify OAuth
Streaming HTTP Transport: Uses MCP's StreamableHTTPServerTransport for efficient communication
Automatic Token Refresh: Handles Spotify access token expiration and refresh automatically
Simple Architecture: Clean separation between authentication, Spotify API calls, and MCP tools
Comprehensive Spotify Tools: Multiple tools for controlling Spotify playback
Related MCP server: spotify-mcp-server
Available Tools
Playback Control
getCurrentlyPlaying- Get information about the currently playing trackpausePlayback- Pause Spotify playbackresumePlayback- Resume Spotify playbackskipToNext- Skip to the next trackskipToPrevious- Skip to the previous tracksetVolume- Set playback volume (currently defaults to 50%)
Track Discovery
searchTracks- Search for tracks on SpotifyplayTrack- Play specific tracks (enhanced functionality coming)
User Info
getUserProfile- Get user's Spotify profile information
Architecture
Files
index.ts- MCP server setup and tool registrationspotify.ts- Spotify API service with token managementauth.ts- Better Auth configurationdb/- Database schema and connection
Token Management
The SpotifyService class automatically handles:
Token expiry checking (with 5-minute buffer)
Automatic token refresh using refresh tokens
Database updates for new tokens
Error handling for failed refreshes
Key Features
Token Refresh: Automatically refreshes tokens before they expire
Database Integration: Uses Drizzle ORM with PostgreSQL for token storage
Error Handling: Graceful handling of API errors and token issues
Session Management: Secure session handling with Better Auth
Setup
Set environment variables:
SPOTIFY_CLIENT_ID=your_spotify_client_id SPOTIFY_CLIENT_SECRET=your_spotify_client_secretConfigure database connection in
db/index.tsRun database migrations:
bun run drizzle-kit pushStart the server:
bun run index.ts
Usage
Navigate to
http://localhost:3000/sign-into authenticate with SpotifyUse the MCP tools through your MCP client
The server automatically handles token refresh in the background
Technical Notes
Uses BetterAuth with Drizzle adapter for OAuth flow with Spotify
Implements the MCP Authorization specification for secure authentication
Utilizes StreamableHTTPServerTransport for efficient communication
Stores tokens securely in PostgreSQL database via Drizzle ORM
Clean separation of concerns between authentication, API calls, and MCP tools
Installation
To install dependencies:
bun installTo run:
bun run index.tsThis project was created using bun init in bun v1.2.13. Bun is a fast all-in-one JavaScript runtime.
License
MIT License
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Spotify MCP — Web API via client_credentials OAuth
Spotify MCP server for ChatGPT, Claude and any AI agent: search songs and artists, list playlists, read playlist songs, create playlist, add songs to playlist, remove songs from playlist, set playlist public or private and save to Liked Songs in your own Spotify account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Spotify yourself; Cotlet does not store your password and you need no Spotify API key. About the official Spotify API: Spotify has a full Web API and, since 23 Apr 2026, an official connector for Claude (checked 5 Nov 2026). The API needs an app you register, and in development mode the app owner must have Premium and the app allows 5 users; unlimited users need a registered business with at least 250,000 monthly users. Setup and FAQ: https://cotlet.dev/integrations/spotify-api-mcp-server
Full Spotify Web API coverage - albums, artists, playlists, player controls, and more.
One OAuth connector for your team's remote MCP servers, with Tool Packs, guardrails and logs.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Spotify through MCP, providing tools for searching tracks, artists, albums, playlists, and accessing user data like top tracks and recently played.-
- FlicenseAqualityDmaintenanceExposes Spotify controls as MCP tools for playback, playlist management, and AI playlist generation; includes a web app and supports multi-user profiles.14-
- FlicenseNot gradedqualityCmaintenanceEnables connecting a Spotify account to remote MCP clients to search music, manage libraries and playlists, and control playback with per-user OAuth authorization.-
- AlicenseNot gradedqualityBmaintenanceEnables MCP-compatible AI assistants to control Spotify Premium accounts by searching music, managing playback and devices, handling queues, creating and editing playlists, and browsing or modifying the library.MIT