Spotify MCP Server
by vinay1359
README.md
# Spotify MCP Server
[](https://opensource.org/license/mit/)
[](https://www.apache.org/licenses/LICENSE-2.0)
[](https://www.python.org/)
[](#)
[](https://spotipy.readthedocs.io/en/2.22.1/)
[](CONTRIBUTING.md)
**Spotify MCP Server** is a dual-mode tool server for controlling Spotify through your terminal or via AI assistants like Claude or ChatGPT.
Built in Python using `spotipy`, `aiohttp`, and `rich`, it supports both real-time manual use and seamless AI integration.
## Supported Features
Depending on whether the Spotify account is free or premium, the available features differ
| Feature | Description | Free Account | Premium Required |
|----------------------------|------------------------------------------|--------------|------------------|
| Spotify Authentication | OAuth login using client credentials | ✅ | ✅ |
| Search (songs, albums, etc)| Search Spotify catalog | ✅ | ✅ |
| Get Playback Info | Current track, device, status info | ✅ | ✅ |
| View Playlists | Fetch user playlists | ✅ | ✅ |
| Create Playlist | Create a new playlist | ✅ | ✅ |
| Add to Playlist | Add tracks to an existing playlist | ✅ | ✅ |
| Play Song | Start playing a specific song | ❌ | ✅ |
| Pause / Resume Playback | Pause or resume music | ❌ | ✅ |
| Skip / Previous Track | Skip to next or previous song | ❌ | ✅ |
| Set Volume | Adjust playback volume | ❌ | ✅ |
---
## Modes of Operation
### 1. Manual Mode (CLI)
```bash
python server.py --mode=manual
```
Launches an animated terminal UI to control your Spotify account without using the app.
### 2. AI Mode (Claude / ChatGPT / LangChain)
```bash
python server.py --mode=ai
```
Enables MCP tool server mode, allowing an AI agent to send structured tool calls and control your playback.
---
## Installation & Setup
### Requirements
- Python 3.9+
- Spotify Developer credentials (Client ID, Secret)
### Install Dependencies
```bash
pip install -r requirements.txt
```
### Configure Environment
Create a `.env` file in your root directory:
```dotenv
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret
SPOTIFY_REDIRECT_URI=http://localhost:8888/callback
```
[Spotify Developer Dashboard](https://developer.spotify.com/dashboard)
---
## Project Structure
```
spotipy-mcp-server/
├── server.py # Main CLI + AI server
├── main.py # Interactive terminal interface
├── requirements.txt # Dependencies
├── .gitignore
├── README.md
└── .env # (ignored)
```
---
## Commands
| Command | Description |
|---------|-------------|
| `python server.py --mode=manual` | Launch terminal UI |
| `python server.py --mode=ai` | Start MCP server for AI |
---
## License
This project is open source and dual-licensed:
- **MIT License** — [opensource.org/license/mit](https://opensource.org/license/mit/)
- **Apache 2.0 License** — [apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
Use it freely with attribution. Choose the license that fits your use case best.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues