Download MBXHub
MBXHub - The bridge to everything else.
Dashboard Layout Level-Up — search, immersive art viewer, explorer, browse enhancements.
latest: v0.5.2.4
What's New:
XL charms & row breaks
Bigger charm buttons that flow onto multiple rows.
Charm settings
Per-charm size, display, and row-break toggles.
| 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) |
Library Browser
Mixer Charm
XL Charms
SMTC Link Charm
Shell Integration
MusicBee RDPAPP
Charm Bar
Custom Theme
Mood Scanner Controls
Installation
- Pages — stale pages on disk are detected and updated automatically on startup
- Legacy cleanup —
mb_MBXQ.dll,mb_smtc.dll, andfirebug.exeare removed from your Plugins folder if present (matched against previous HALRAD distributions, now merged into MBXHub)
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:
Tools Menu
Firewall Settings
- 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
Dashboard Search
Compact
Player (Desktop)
Player (Mobile)
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:
- Enable iTunes XML export - In MusicBee, go to Edit → Preferences → Library and enable "iTunes Music Library.xml" export
- Download Truedat - Place
truedat.exeandessentia_streaming_extractor_music.exein the same folder - Run Truedat -
truedat.exe "iTunes Music Library.xml"
This scans your library and producesmbxmoods.json. Truedat's scan is incremental and resumable — large libraries take hours but you can stop and restart any time. - Place the output - Copy
mbxmoods.jsonto your MusicBee Library folder (sibling to AppData) or%APPDATA%\MusicBee\MBXHub\. MetaServer imports it automatically on next startup. - 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.
Custom Tags Setup
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.
Tuning Console
System Requirements
| Component | Requirement |
|---|---|
| Operating System | Windows 10 or later |
| MusicBee | MusicBee 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
Tools Menu
Configuration Tab
Dashboard Tab
Features Tab
API Access Tab
Settings and logs are stored in:
%AppData%\MusicBee\MBXHub\
Files:
mbxhub.json- Configuration (ports, enabled modules)mbxhub.log- Debug log (when debug mode enabled)
Default Ports
| Service | Port |
|---|---|
| REST API + Dashboard | 8080 |
| WebSocket | 8080 |
| MetaServer | 8081 (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 Reference • llms.txt
Other HALRAD MusicBee Projects
- Clouseau - MusicBee inspector/debugger