playlist-mcp-server

playlist-mcp-server

3.3

If you are the rightful owner of playlist-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Playlist Generator is a Model Context Provider server that creates music playlists based on user mood or theme using local music files.

🎧 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 — for the async web server
  • mutagen — for metadata extraction

📦 Installation

pip install uv mutagen

Clone this repo and run:

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.