- Home
- MCP servers
- LLM Jukebox
LLM Jukebox
- other
6
GitHub Stars
other
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"jabberjabberjabber-llm-jukebox": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"--with",
"yt-dlp",
"--with",
"tinydb",
"--with",
"pygame",
"fastmcp",
"run",
"c:/users/user/llm-jukebox/server.py"
],
"env": {
"DOWNLOAD_PATH": "c:/users/user/downloads"
}
}
}
}You can run the LLM Jukebox MCP Server to empower your language models to search YouTube Music, download audio, and control playback asynchronously. This MCP server integrates with your preferred MCP client so your model can request music, fetch MP3s, and start or stop playback as part of its reasoning and interaction flow.
How to use
Use your MCP client to connect to the LLM Jukebox MCP Server. Once connected, you can ask the model to search for a track by artist or song title, request an audio download, and initiate or stop playback. The server handles asynchronous downloads and searches, provides progress updates, and logs debug information to a file and to stderr. Ensure your client uses the stdio MCP endpoint described in the configuration to start interacting with the server.
How to install
Prerequisites you need before starting:
- Python installed on your system (for the server component)
- A runtime capable of launching MCP servers (the uv runtime is used in the example)
- FFmpeg installed for audio processing
Install FFmpeg if you do not have it yet:
# On Windows
winget install ffmpeg
# On Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg
Configuration and run instructions
The server runs as a local, stdio-based MCP endpoint. Use the following run command configuration in your MCP client setup to start the server. This configuration relies on a Python-based server script and the runtime wrapper that coordinates multiple tools.
{
"mcpServers": {
"llm_jukebox": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"--with",
"yt-dlp",
"--with",
"tinydb",
"--with",
"pygame",
"fastmcp",
"run",
"c:/users/user/llm-jukebox/server.py"
],
"env": {
"DOWNLOAD_PATH": "c:/users/user/downloads"
}
}
}
}
This example shows a complete, ready-to-run MCP config for a standalone local server. Adapt the paths to match where you cloned or extracted the project and where you want downloads to be stored.
## Starting and stopping the server
Start the MCP server via your MCP client using the stdio configuration above. When the server is running, you should be able to set the toggle in your client to enable llm\_jukebox and begin issuing music-related requests.
To stop the server, halt the MCP process from your client or terminate the running runtime, ensuring a clean shutdown so that any in-progress downloads are safely completed or canceled.
## Notes and tips
Progress tracking is non-blocking, so you can continue asking for new songs while current downloads are in progress. Debug-level logs provide detailed insight for troubleshooting and are written to both a log file and stderr. Make sure the download path has sufficient disk space and write permissions for the server to save MP3 files.
## Available tools
### search\_youtube
Find music videos by artist, song title, album, or any search query from YouTube Music.
### download\_audio
Download YouTube videos and convert them to high-quality MP3 files using yt-dlp or equivalent tooling.
### playback\_control
Start and stop playback for the currently loaded track, enabling seamless audio experience.
### progress\_tracking
Provide non-blocking progress updates for ongoing downloads and searches.
### logging
Emit debug-level logs to a file and to stderr for troubleshooting and monitoring.