MBXHub

Download MBXHub

MBXHub - The bridge to everything else.

Dashboard Layout Level-Up — search, immersive art viewer, explorer, browse enhancements.

latest: v0.5.2.4

Download Latest

Previous Versions

What's New:

What's Included Description
mb_MBXHub.dll REST API, WebSocket, Dashboard, Discovery, AutoQ, TrueShuffle, Charms, Mixer, Device Proxy, Audio Streaming, Radio
MBXHub.exe Shell - MetaServer (mood/feature database), peer sync, SMTC media controls bridge, distributed scanning, and firewall configuration (requires .NET 8.0 Desktop Runtime)

Installation

Upgrading? Copy the new files over the old ones and restart MusicBee. Everything else is automatic: If you've customized pages and want to reset them, delete the pages\ folder at %APPDATA%\MusicBee\MBXHub\, or use MBXHub Settings → General → Export Pages to overwrite with the latest versions.

Step 1: Download & Extract

Download and extract all files.

Step 2: Copy to Plugins

Copy the DLL and EXE files to your MusicBee Plugins folder:

  • Default: C:\Program Files (x86)\MusicBee\Plugins\
  • Portable: [MusicBee folder]\Plugins\

The SBOM files are informational and don't need to be copied.

Step 3: Start MusicBee

Launch MusicBee. MBXHub loads automatically.

Step 4: Configure Firewall

Open the Tools menu in MusicBee:

  • Go to MBXHub Settings and use the Firewall section to configure network access
  • Optionally, export a script and run it manually

Step 5: Open Dashboard

Open a browser:

http://localhost:8080

You should see the Now Playing dashboard. Use the theme toggle in the header to switch between light and dark modes:

http://localhost:8080/docs
- for the docs.
http://localhost:8080/pages
- for the HTML pages.

Dashboard (embedded)

  • Album artwork and track info
  • Artist/Genre influence buttons
  • Progress bar with seek
  • Ban, star rating, and love buttons
  • Playback controls
  • Volume control (routes to configurable default fader)
  • Charm bar — Mixer, Browse, NowPlaying, Player, Phantom, SMTC Link
  • Shuffle (Off/Shuffle/DJ) and repeat toggles
  • ARiA presets
  • Playlist selector
  • Theme toggle (light/dark/midnight)

Player Page (/pages/player.html)

  • 3-column layout (responsive for tablet/mobile)
  • Browse: Albums, Artists, Genres, Playlists, Podcasts, Radio, Moods
  • Search with instant results
  • Queue panel with Up Next
  • Now, Next, +Q buttons on tracks
  • Lyrics display
  • Fully customizable HTML/CSS/JS
  • Edit in %APPDATA%\MusicBee\MBXHub\pages\

Step 6: Set Up Mood Data (Optional)

AutoQ classifies tracks by mood using 14 audio features extracted by Truedat. Without mood data, AutoQ falls back to genre/BPM metadata estimates.

MetaServer handles everything automatically. MBXHub.exe runs a MetaServer that stores mood data in a local database. On first startup it imports any existing mbxmoods.json file it finds. MBXHub instances on the same network discover each other via SSDP and automatically share mood data — scan on one machine, every machine gets the results.

Auto-scan is enabled by default. Place truedat.exe and essentia_streaming_extractor_music.exe next to MBXHub.exe in the Plugins folder and MBXHub scans tracks automatically as you listen — current track first, then the next 5 in queue.

Distributed scanning: A more powerful machine on your network can scan files on behalf of a weaker host. Configure syncLibraryPath and syncSharePath in the host's mbxhub.json to share the music folder via UNC. The scanner connects to the host, receives scan requests with UNC paths, analyzes the files, and MetaServer peer sync delivers the results back automatically.

For bulk scanning an existing library without auto-scan, use the manual steps below:

  1. Enable iTunes XML export - In MusicBee, go to Edit → Preferences → Library and enable "iTunes Music Library.xml" export
  2. Download Truedat - Place truedat.exe and essentia_streaming_extractor_music.exe in the same folder
  3. Run Truedat - truedat.exe "iTunes Music Library.xml"
    This scans your library and produces mbxmoods.json. Truedat's scan is incremental and resumable — large libraries take hours but you can stop and restart any time.
  4. Place the output - Copy mbxmoods.json to your MusicBee Library folder (sibling to AppData) or %APPDATA%\MusicBee\MBXHub\. MetaServer imports it automatically on next startup.
  5. Configure a custom tag - In MusicBee, go to Edit → Preferences → Tags (1). Under Custom Tags, set one tag (e.g. Custom1) to "AutoQ Mood". MBXHub writes the mood channel name (e.g. "Euphoric", "Chill") into this field.

The custom tag can be configured in mbxhub.json via autoQ.moodTagField and autoQ.moodTagFieldName. This lets you see mood data in MusicBee's column browser, use it in auto-playlists, and sort by mood.

System Requirements

Component Requirement
Operating SystemWindows 10 or later
MusicBeeMusicBee 3.x or later
Framework (Plugin).NET Framework 4.8 (included with Windows 10+)
Framework (Shell).NET 8.0 Desktop Runtime (for MBXHub.exe SMTC bridge — choose the Desktop Runtime column for your architecture)

Configuration

Open MusicBee → Edit → Preferences → Plugins → Configure

Settings and logs are stored in:

%AppData%\MusicBee\MBXHub\

Files:

Default Ports

Service Port
REST API + Dashboard8080
WebSocket8080
MetaServer8081 (REST port + 1)

Troubleshooting

Issue Solution
Port already in use Open MusicBee → Edit → Preferences → Plugins → MBXHub → Configure to change port
Connection refused Use the Firewall section in MBXHub Settings to add firewall rules, or manually allow inbound TCP on port 8080
Plugin not loading Verify DLL is in correct Plugins folder
Pages not updating after upgrade Page serving: (1) disk file if exists, (2) embedded resource fallback, (3) 404. Disk takes priority for customization, embedded for updates. Delete specific files from %APPDATA%\MusicBee\MBXHub\pages\ and refresh - embedded version served automatically, no restart needed.

Build with the API

MBXHub has a full REST API. Build your own pages, automate your library, or let an AI do it for you.

# Grab the API cheat sheet
curl http://localhost:8080/llms.txt

Feed that to Claude or any AI and ask for what you want:

$ claude "Read http://localhost:8080/llms.txt and build me a vinyl-crate album browser with cover art"

Save the output to %APPDATA%\MusicBee\MBXHub\pages\ and open it at http://localhost:8080/pages/yourpage.html. The API uses relative URLs, so pages work on any MBXHub instance without changes.

Full API documentation: API Referencellms.txt

Other HALRAD MusicBee Projects