MCP Playlist Generator
by m4dd0c
README.md
# 🎧 MCP Playlist Generator
This project is a **Model Context Provider (MCP) server** designed to work with Claude or any AI assistant that supports tool usage. It generates `.m3u` playlists on the user's PC based on their current mood or theme. The playlist gets saved to a user-specified directory, ready to be queued up in your favorite media player.
> Built with Python, powered by `uv` and `mutagen`, and inspired by the legendary **Filesystem MCP Server** — major shoutout for the idea and foundational reference!
---
## 🛠 How It Works
1. **User sets up the MCP server** using Python and `uv`.
2. Server listens for requests from Claude or any LLM agent.
3. Based on the request (e.g., "make a chill evening playlist"), it:
- Scans local music files.
- Uses `mutagen` to read metadata (genre, title, artist, etc.).
- Filters songs matching the vibe.
- Creates an `.m3u` playlist.
- Saves it at the desired location on the user's machine.
---
## 🔧 Tech Stack
- **Python**
- [`uv`](https://pypi.org/project/uv/) — for the async web server
- [`mutagen`](https://mutagen.readthedocs.io/) — for metadata extraction
---
## 📦 Installation
```bash
pip install uv mutagen
```
Clone this repo and run:
```bash
uvicorn mcp_server:app --reload
```
## 🧠 Example Claude Prompt
> "Hey Claude, can you make me a happy vibe playlist."
Claude will then use the MCP server tool and boom — you get a playlist in your music app.
> [!important]
> Make sure you `re-index` the Music app after creating the playlist.
## 🙏 Special Thanks
Massive thanks to the `Filesystem MCP Server` — this project was built with your idea as the spark.
## 💬 Got Feedback?
Open an issue or hit me up. PRs are welcome, mood-based jams even more so 🎶
---
### Need:
- What's the default directory fallback if user doesn't pick a location?
- Are you supporting MP3 only, or other formats too?
- Should I include API route structure for devs?
Lemme know and I’ll update it.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues