spotify-mcp-web
Soundtrack Curator & Staging Studio — a self-hosted FastAPI web application for Spotify playlist curation, TMDB filmography browsing, and MCP tools management. Pairs with spotify-soundtrack-mcp.
Installation
pip install spotify-mcp-web
Quick Start
1. Configure credentials
Create a .env file in your working directory:
# Spotify Developer App credentials (PKCE — no secret needed!)
SPOTIPY_CLIENT_ID=your_spotify_client_id_here
SPOTIPY_REDIRECT_URI=http://127.0.0.1:8888/callback
# TMDB (optional, enables cinema/filmography features)
TMDB_API_KEY=your_tmdb_api_key_here
Important: In your Spotify Developer Dashboard, add
http://127.0.0.1:8888/callbackas a Redirect URI.
2. Start the Studio
soundtrack-studio
This starts the web app at http://127.0.0.1:8000 and opens it in your browser automatically.
Features
- 🎬 Cinema Filmography — Search actors/movies via TMDB and build soundtracks automatically
- 🎵 Playlist Curation — Create, merge, deduplicate, sort, split, and export Spotify playlists
- 🎚️ Playback Controls — Control Spotify Connect devices, queue management, volume/shuffle/repeat
- 📊 Taste Analytics — Top tracks, artists, listening patterns, playlist comparisons
- 📚 Library Management — Saved tracks & albums, library browsing
- 🔍 Catalog Browsing — Artist, album, and track lookup
Environment Variables
| Variable | Required | Description |
|---|---|---|
SPOTIPY_CLIENT_ID |
✅ | Spotify app Client ID |
SPOTIPY_REDIRECT_URI |
✅ | Must match Spotify dashboard (default: http://127.0.0.1:8888/callback) |
TMDB_API_KEY |
Optional | TMDB v3 API key |
TMDB_READ_ACCESS_TOKEN |
Optional | TMDB v4 Bearer token (alternative to API key) |
HOST |
Optional | Bind host (default 127.0.0.1) |
PORT |
Optional | Bind port (default 8000) |
OPEN_BROWSER |
Optional | Set to false to suppress auto-open |
SOUNDTRACK_TEMPLATES_DIR |
Optional | Custom path to HTML templates directory |
Running as a Remote Server
HOST=0.0.0.0 PORT=8080 OPEN_BROWSER=false soundtrack-studio
Pairing with the MCP Agent
Install both packages to get the full experience:
pip install spotify-soundtrack-mcp spotify-mcp-web
spotify-mcp— starts the agent (for Claude Desktop / Cursor)soundtrack-studio— starts the web UI
Links
Metadata
Release files for spotify-mcp-web 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| spotify_mcp_web-1.0.0.tar.gz | 113.8 kB | Without provenance | Details for spotify_mcp_web-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| spotify_mcp_web-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for spotify_mcp_web-1.0.0-py3-none-any.whl |
Total release size: 231.4 kB
Release files / spotify_mcp_web-1.0.0.tar.gz
| Download URL | spotify_mcp_web-1.0.0.tar.gz |
|---|---|
| Size | 113.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
961c3a2acf8e78960a14b55bcf4d52235d8142f535007ffe5ed6e113749d16bb
|
|
BLAKE2b-256 checksum How to use checksums |
fad35eab10923b5ef99ebf5e5786a1e659ab722b1cecef265ef63cdc0ce586e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / spotify_mcp_web-1.0.0-py3-none-any.whl
| Download URL | spotify_mcp_web-1.0.0-py3-none-any.whl |
|---|---|
| Size | 117.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6677924f35bfadd77fc4d26551da5fa8ba9e01628a1d20a89c5a46323ff97df3
|
|
BLAKE2b-256 checksum How to use checksums |
e1efde8c337ffff87467b7117ba1fd8201312afb752945d4a1bffb96234e4688
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Security for spotify-mcp-web 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.