myMPD – standalone and lightweight web-based MPD client

In Operation

Click for full size image

Here’s an image of myMPD in action.

Let’s take a quick look at the interface. At the top left is a green play icon. Clicking this lets you add internet streams (for internet radio), update, configure settings, and browse directories.

The other buttons on the left hand side offer playback, access to the play back queue, browse the filesystem, and search functionality.

The interface lets you control MPD and set options such as repeat, random, consume, repeat, and jukebox settings. You’ll notice the bottom right hand corner has a volume_up text label. This should be a volume icon. We haven’t investigated why only a text label is showing.

The consume instructs MPD to remove played songs from the play queue. It’s a built-in MPD feature. There’s support for crossfade and replaygain.

What other features does myMPD offer?

  • Browse mpd database by tags (gridview).
  • Queue management.
  • Playlist management.
  • Advanced search – by tag, filename, album, album artist, artist, genre, or title. Search terms can contain a specific phrase, exact matches, approximate matches, does not equal, and more. Being able to search by tag is extremely useful.
  • Jukebox mode – by song or album.
  • Smart playlists and saved searches
  • Play statistics and song voting.
  • Local album art support: embedded and image per folder. myMPD supports local cover art for albums and streams. The software can extract embedded art, and also cache these extracted covers. It supports the following image formats: PNG, JPG, JPEG, TIFF, BMP, SVG, and WEBP.
  • Local lyrics (textfile per song or embedded).
  • Local booklet support (per album folder).
  • HTTP stream support – listen to internet radio streams.
  • Local playback of mpd http stream.
  • Timers and Triggers.
  • System commands.
  • Bookmarks.
  • Lua scripting offering JSON parsing Lua package, API wrappers for common API calls, API method to send channel messages, optional parameters to script call, and more.
  • Scrobbler integration with the option to send a love message.
  • Embedded Web server (mongoose).
  • Localized user interface.
  • Supports themes through CSS – choose from standard, dark and light themes. Configure both the background and highlight colors.
  • Publishing of mpd and myMPD directories via http and webdav.
  • Progressive Web App enabled.
  • Support of Media Session API. myMPD uses a json-rpc 2 api for the communication between the frontend and backend.
  • Full screen mode.
  • Option to clear app cache and reload, clear the covercache, delete playlists, and force a smart playlist update.

Next page: Page 3 – Summary

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Summary

Share this article


  1. I use MyMPD on a very old Rpi modelB 512MB RAM, it streams to www 24/7

    I had 0 problems with installation or the initial configuration
    As stated MyMPD is lightweighht and runs 24/7 on olde Rpi only question i have is how to secure it so when port is open to www how to stop www from accessing/changing the MyMPD settings?
    regards & thanks jcorporation for the code.

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.