Install
$ agentstack add mcp-tony-artz-mcp-spotify ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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
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_secret ``
- Configure database connection in
db/index.ts
- Run database migrations:
``bash bun run drizzle-kit push ``
- Start the server:
``bash bun run index.ts ``
Usage
- Navigate to
http://localhost:3000/sign-into authenticate with Spotify - Use 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 install
To run:
bun run index.ts
This project was created using bun init in bun v1.2.13. Bun is a fast all-in-one JavaScript runtime.
License
MIT License
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Tony-ArtZ
- Source: Tony-ArtZ/mcp-spotify
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.