Skip to main content

LLM Jukebox MCP Server

A Model Context Protocol (MCP) server that enables LLMs to search, download, and play YouTube music.

Features

  • YouTube Music Search: Find music videos by artist, song title, album, or any search query
  • Audio Download: Download and convert YouTube videos to high-quality MP3 files
  • Audio Playback: Model can start and stop songs
  • Async Operations: Non-blocking downloads and searches with progress tracking
  • Logging: Debug-level logging to file and stderr

Installation

  • Get the Files: Clone the repo or download and extract the zip
  • Get FFMPEG: Make sure you have ffmpeg. In windows open a terminal and type winget install ffmpeg, in Ubuntu or Debian do sudo apt install ffmpeg
  • Load a Tool Capable Model: Ensure you have a model that is trained to handle tools properly. Qwen 3 and Gemma 3 are good choices.
  • Create JSON Entry: In LM Studio, click Developer mode, then Program, Tools and Integrations, the the arrow next to the Install button, and Edit mcp.json. Add the entry below under mcpServers:
"llm-jukebox": {
  "command": "uv",
  "args": [
	"run",
	"--with",
	"fastmcp",
	"--with",
	"yt-dlp",
	"--with",
	"tinydb",
	"--with",
	"pygame",
	"fastmcp",
	"run",
	"c:/path/to/llm-jukebox/server.py"
  ],
  "env": {
	"DOWNLOAD_PATH": "c:/path/to/downloads"
  }
}

Make sure to change the paths to fit which paths the repo is in and where you want to the downloads to go.

If you have no other entries, the full JSON should look something like this:

{
  "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"
      }
    }
  }
}

Click on the Save button or hit Ctrl+S. If it works you should be able to set the slider to turn on llm-jukebox.

Now you can ask the LLM to grab a song for you!

Legal Considerations

This tool is intended for personal use with content you have the right to download. Users are responsible for complying with:

  • YouTube's Terms of Service
  • Local copyright laws
  • Content creators' rights

Always respect intellectual property and consider supporting artists through official channels.

Credit

Playback tool adapted from https://github.com/Here-and-Tomorrow-LLC/audio-player-mcp (MIT Licensed)

Metadata

Release files for iflow-mcp_jabberjabberjabber-llm-jukebox 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_jabberjabberjabber-llm-jukebox 0.1.0
File Size Uploaded
iflow_mcp_jabberjabberjabber_llm_jukebox-0.1.0.tar.gz 7.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_jabberjabberjabber-llm-jukebox 0.1.0
File Interpreter ABI Platform
iflow_mcp_jabberjabberjabber_llm_jukebox-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.6 kB

Release files / iflow_mcp_jabberjabberjabber_llm_jukebox-0.1.0.tar.gz

Download URL iflow_mcp_jabberjabberjabber_llm_jukebox-0.1.0.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7a2648d3d0e8525b19288c80cf975b9978703e3ed8b596582a651ef42d788259
BLAKE2b-256 checksum
How to use checksums
179e2822e23ff5eaa2f51ab9541fd7ba0a85f1db402b4253c4bf807423bb9ae9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_jabberjabberjabber_llm_jukebox-0.1.0-py3-none-any.whl

Download URL iflow_mcp_jabberjabberjabber_llm_jukebox-0.1.0-py3-none-any.whl
Size 7.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
10584df105018e5c0584722b16aa6a9820ce135e0edf31f7c5899c5825ff5674
BLAKE2b-256 checksum
How to use checksums
b39b68ceab8f8d171a220942f2c875b405b6241bf42935c2f06eeb303d3a607e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page