MPD is designed around a client/server architecture, where the clients and server (MPD is the server) interact over a network. Thus, running MPD is only half of the equation. To use MPD, you need to install a MPD client (aka MPD interface). Also, see Hacks for interesting hacks. See Client Matrix for a feature matrix of some of those clients.
Ready for General Use[]
Console Clients[]
- mpc - a solid, lightweight, simple mpd client, written in C.
- ncmpc - An excellent curses based MPD client
- ncmpcpp - A concept fork of ncmpc written in C++
- ncmpy - A [Python + Curses]-based MPD client
- nncmpp - A hybrid Curses/X11 client
- dmpc - A Dmenu-based MPC client with a playlist manager and state-saving on playlist changes
- pms - A feature-rich and highly configurable ncurses based client with commands similar to vim
- pimpd2 - A command-line client with interactive shell, randomizing of songs/albums, queue support, search with regular expressions, love songs/albums and much more
Graphical Clients[]
Embedded[]
- McBetty - A client running on the cheap Betty remote control with graphical lcd
- atvmpdcontrol - A graphical client for the AppleTV
- impdclient - A Native iPhone / iPod touch application
- mobilempd.net - A graphical Windows Mobile/PocketPC client written in .NET CF.
- mpd4ppc - A graphical PocketPC client
- wmpc - A simple Client for Windows Mobile
- MPoD - An iPhone / iPod Touch client allowing for streaming over http
- MPaD - An iPad client
- MpdPilot.app - Friendly MPD client for iOS.
- reMPD - An iPhone / iPod Touch client
- palm-mpc - A simple MPD client for Palm OS 3.5 or later
- bitmpc - An open-source android MPD client with podcast management
- Droid MPD Client - Graphical MPD client for Android
- ThreeMPD - Open source Android client allowing for streaming over http
- MPDroid - Android, control an MPD server and playback a stream from it (MPD >= 0.15 required), project fork from PMix
- M.A.L.P. - Android remote control for the music player daemon (www.musicpd.org).
- MAFA - MPD client for Android with a comprehensive feature set, and intuitive UI.
- qmobilempd - A qt4 client without external dependencies for mobile devices (symbian,meego,maemo)
- remuco-mpd - A mpd client for j2me-enabled mobile phones. It uses bluetooth or wifi to connect.
- Supersonic - MPD client for Android platform with a clean and convenient UI.
- Shinobu - Open-source iPhone & iPad client, also available on the App Store.
GTK+[]
- Ario - A light and complete GTK2 client that runs on Linux and Windows
- indimpc - A minimalistic client with support for indicator-applet, notify-osd and multimedia keys via dbus.
- gbemol - A GTK+ client with a nice library browser
- Ymuse - An easy, functional, and snappy GTK front-end (client) written in Go.
- guimup - MPD client written in C++ and GTKMM
- Gimmix - A graphical MPD client written in C using GTK+2
- musicus-mpc - client for GNOME (as panel applet or standalone app) written in C/GTK+
- Njiiri - An unobtrusive GTK+ client written in Ruby
- sonata - A lightweight GTK+ client written in Python
- Glurp - A small GTK+ client written in C
Java[]
- Bill's Jammin' Jukebox - A Java client
- jMPD - Simple client writen in Java with lyrics showing support
- Lyra - Player/organiser style of client with a database cache and Last.fm integration.
- MPCool - A simple, usable, yet quite well featured Java client
- PlayGUI - A Java client
- jiggyMPD - This is primarily a PHP/Ajax client, but includes a Java tray icon. The tray can be used on its own or alongside a client that lacks one if not using the web app.
Qt[]
- LnkMusic - A Powerful QT Client written in gambas
- montypc - A mpd client written in Python using Qt4 and consisting of plugins
- Quetzalcoatl - A KDE4 client written in Python
- Quimup - A QT client for KDE, Gnome and XFCE
- QMPDClient - QMPDClient is an easy to use MPD client written in Qt 4.
- QMPDClient-qt5 - Fork of QMPDClient updated to Qt 5.
QMPDClient-ne - A feature enhanced version of QMPDClient("Now QMPDClient-ne became the official QMPDClient branch.")- QtMPC - A MPD client using Qt >= 4.3 with Amarok-like tree-based music library interface
- pkstereo - A PyQt4 ripper/player written for touchscreens
- qmobilempd - A qt4 client without external dependencies for mobile devices
Other[]
- conky - A system monitor for X
- m68kmpc - A Classic Mac (Sytetestem 6 - System 9) MPD client
- MPDCon - GNUstep Client
- peppy - A wxPython client for *nix, Win & OS X
- Theremin - Mac OS X Client with Growl and album artwork support
- Vimmpc - A client written for the Vim text editor utilizing mpdclient2.
- WMmp - A NeXTSTEP dockapplet derived from WMxmms
- WiiMPC - A native Nintendo Wii client
- MPD in Plasma - KDE 4.x Plasma desktop widget with playlist support
- Qmpdplasmoid - KDE 4.x Plasma client with album,artist,playlist,file support
Windows[]
Also see various ports to Windows
- winmcc - A MPD client for WinCE (Siemens Simpad/Webpad) and Windows 98/ME/NT/2000/XP.
- ongaku - A MPD client for mobile devices with WindowsMobile 5/6 -> ongaku.on.funpic.de
Input Device Clients[]
- Bemused-lnx-mpdhack - Bemused MPD hack version. Control MPD with your mobile phone. Use JamSe as client (support for a lot of mobile phones), all features included.
- empcd - Event Music Player Client daemon, control MPD with Linux Input devices (eg USB Keyboard)
- mpdlcd - simple mpd client implemented as a lcdproc client in perl
- LCD-Stuff - client for mpd which is written in C, it is able to display many more than mpd data
- pbmpcd - control MPD with your bluetooth mobile phone, bemused version
- mpdlirc - control MPD with LIRC (infrared remote control)
- g15mpd - G15Daemon-Client used to show you the playing song on the Display of the Logitech G15 Keyboard and to controll mpd with the Media-Keys
- mousempc - a bare-bones client to control volume, play/pause, next/prev with a wheel mouse
- Remuco - Duplex remote MPD control for your Bluetooth or WiFi equipped mobile phone
- mpc-car2pc - Simple client to control MPD from your car stereo head unit, through a Car2PC adapter
- mpdClientS60-qt - control mpd over Symbian Nokia S60 3rd phone via wifi - alpha
Logging Clients[]
- mpdscribble - C client to log played tracks to audioscrobbler
- Music-Audioscrobbler-MPD - Perl-based scrobbler for submitting played tracks to last.fm
- scmpc - C daemon to log played tracks to audioscrobbler
- SGWhatsPlaying - WordPress plugin to show currently playing track in blog sidebar
- mpdas - C++ client to submit tracks to audioscrobbler, supports new protocol
- scrobby - C++ daemon for submitting tracks to last.fm, supports new protocol
- scrobd - python daemon for submitting tracks to audioscrobbler and libre.fm
- lastfmsubmitd - A Python client to log played tracks to Last.fm
Plugin Clients[]
- Music Player Minion - An MPD client built as a Firefox extension, no web server required.
- impc - A script for irssi to interface MPD
- EMMS - A clean, small, and full-featured application to play multimedia files from Emacs using external players. An MPD backend is included with it.
- libmpdee - An Emacs Lisp package to interface MPD
- Mingus - An extensive Emacs Lisp package dedicated to interface MPD. Uses libmpdee
- mpcxmms - Another protocol bridge for XMMS.
- mediacontrol-mpd - A backend for MPD for the KDE kicker applet MediaControl.
- statusd_mpd - script for displaying MPD status in statusbar for Ion-3 window manager
- eloquence - A module (widget) showing the songname in enlightenment.
- xfce4-mpc-plugin - A simple plugin for the Xfce Panel.
- AmarokMPC - A small and simple plugin for KDE's music player Amarok 1.4
- gozerbot mpd.py - mpd.py is a client for the gozerbot IRC robot.
- Freevo - Freevo now has MPD support in its plugin collection.
- PidgiMPD - A Pidgin plugin for monitoring/controlling MPD.
- IMMSMPD - Plugin for random playback that takes your musical preferences into consideration. Built using IMMS.
- ChuMPD A client for the Chumby Internet device, which can control mpd via a translating software
- MPD-plasma-client - A simple plasma widget for KDE 4 written on python
- mpd_control - A dockmanager helper for AWN and Docky. (development branch at http://github.com/fmoralesc/dockmanager-mpdcontrol)
- xbmc-mpdc - An MPD client for XBMC media center (development at http://github.com/lzoubek/xbmc-plugin-mpdc )
Utility Clients[]
- mpdpss (MPD Playlist Saver n' Switcher) - It remembers the last played song for all your playlists. Has the following available interfaces: graphical, interactive text, command-line, dmenu and wimenu.
- state-utils - A suite of simple tools to save your own MPD states and more...
- Mpdtoys - A collection of small toys and tools for doing various things to MPD from the command line. Some of them are very useful, while others are only amusing.
- playlistbuilder - A little ruby script that looks up similar music and adds it to the playlist.
- MPD-Mela - MPD Enhanced with LAst.fm datas: generates playlists from your MPD database and your last.fm library.
- mpDris - A MPRIS gateway implemented as a MPD client.
- MPD_sima - A python script who's automagically adding title to your playlist following last.fm suggestions.
- mpd-add-similar - A cli app that can add similar tracks to your MPD playlist.
- MPDCron - A cron like utility for MPD.
- Autoplay - Keeps your playlist filled and learns what music you like
- Moped - An advanced playlist manipulator, especially letting you flexibly add music to the current playlist (without having to go through the library).
- mpdmonitor - Tiny libnotify client that sits idle and waits until mpd changes song, then displays a libnotify message with the new song details
- py-lyrics - Fetch lyrics from LyricWiki for the currently playing song, to console or in a browser, or open the edit page for those lyrics
- mpdgems - A collection of more or less useful MPD tools
Web Clients[]
tiny and simple php based clients / good for mobile devices[]
- MPDTunes- A platform independant client built with HTML5, jQuery Mobile and CodeIgniter (PHP Framework). Currently built to use MySQL on the backend, but theoretically could use any database supported by CodeIgniter's database class. Under Development.
- ::phpMpReloaded:: - going to be more than a collection of WebClients (currently phpMp, phpMp+, phpMp2, phpMp3, IPodMp and MPD-Web-Remote are included). Just PHP and JavaScript. Compatible to desktop Firefox, Konqueror, Windows Mobile (Internet Explorer, Opera Mobile) and to older devices.
- phpMp (v0.11.0)- the original PHP web interface
- phpMp+ (v0.2.3) - an enhanced PHP web interface written to fit in your web browser's sidebar
- phpMp2 (v0.11.0) - rework of phpMp, comes with themes
- phpMp3 (v0.2) - Totally in JavaScript, driven by XMLHTTPRequest (AJAX) with a small php-backend.
- iPodMp - a webbased php/ajax client, optimized for Apple's iPhone & iPod touch
- MPD-Web-Remote - an mobile client for windows mobile and iPhone/iPad also in iPhone style
- mpd remote - very basic PHP client designed for your mobile phone's browser
- MPD Webinterface - minimal MPD Webinterface
- RMPDC - Yet another PHP client targeted at handheld systems. Very low browser requirements.
- PocketMP - a lightweight PHP Client
- Ada - PHP/ajax. Minimalistic, scalable, compatible. Installs in minutes. Works across many browsers in many resolutions.
- Web1.0MPC - PHP web interface with low requirements targeted at mobile phone browsers, supports old devices, dedicated 360 and 240px versions, no AJAX, nearly no JavaScript (works without)
- Albumplayer - Lightweight PHP web client that makes it simple to select and play music directly from your music database.
- MPDamp - Small and simple PHP web interface using plain HTML only. Thus optimized for a widespread of mobile devices.
- django-mpd-client - A django / ajax based client for controlling mpd from a mobile browser. Provides the ability to browse by artist and/or album, and to save and load playists.
rich clients[]
- Ampache - Very feature rich web based music management system which supports MPD (PHP/MySQL)
- netjukebox - the flexible media share
- RompR - Feature rich Javascript client inspired by Amarok 2
others[]
- Aqua Music Database - a jukebox that streams
- Client175 - A full featured web client with tag editing. Looks and acts like a desktop client.
- DaveMP - a super-lightweight no-web-server required client that looks good, needs PERL and some extra packages (HTTP::Server::Simple, JSON::XS)
- Jinzora - Very feature rich web based media manager that supports MPD and all other major players.
- mpdmote - basic PHP/AJAX client designed for your mobile phone's browser
- MPDplayer - a utilitarian PHP client which uses AJAX for all its updating
- NeoMPC - A basic client designed to be used with small screen devices (i.e. phones & pdas)
- Netjuke - Discontinued streaming Jukebox that is now merged into Jinzora.
- orangePlayer - Yet another AJAX/php client.
- Pitchfork - Ajax/php based web interface
- RelaXXPlayer - A simple but easy to use web based client using AJAX and MOOTOOLS
- WyMyPy - a standalone webserver music player frontend in python, with AJAX support
- MPD WebAMP - A web based, asynchronous interface in the style of a desktop application, such as Totem or Windows Media player. Now available in the Python Cheese Shop.
- Djpirate - Another web client, based on web.py/ajax. Completely self contained, easy to install, not too ugly.
- fookebox - a web-based jukebox-style mpd frontend written in python/Pylons
- theory - self-contained Python/Pylons-based web client with some nice Ajaxy features, drag/drop playlist reordering, Amazon album art fetching, lyrics fetching, and a pretty face.
- jiggyMPD - another PHP/Ajax client and tray icon.
- MMPD - Multi-MPD client. Graphical management of multiple MPD instances with multiple outputs creating a multi-zone audio system.
- ExtMPD - An ExtJS and PHP based well featured webclient.
Miscellaneous[]
- MPNotifier - Display MPD activity via little popups using libnotify
- MpdKNotifier - Display popup every time a song changes using knotify.
Clients Under Development[]
Console clients[]
- Evad - Ncurses client written in Python, similar to ncmpc
- mpcue - Command-line client to seek inside files with external cue sheets.
- vimpc - ncurses client with vi like key bindings, written in C++
Graphical Clients[]
Embedded[]
- pythm - Media player frontend written in Python, designed to control gstreamer, mplayer or mpd with one GUI on the Openmoko Neo FreeRunner
- hibiki - A library written in Lua integrating mpd with the awesome window manager. Presently, it provides a menu-driven GUI to playback control and playlist manipulation useing netcat as a backend.
GTK+[]
- Pympd - a Rhythmbox-like PyGTK client
- mpdBrowser - A GTK+ client and play client.
- Ragnarok - A client for MPD in C and GTK+, aimed to be very lightweight and configurable.
- MpcSharp - Initially a pympc port to C#, a client under heavy development.
- mpod - a wxPython client for Windows/Linux with extensible theming capabilities.
- SharpMusic - A .NET Client that tries to have the look & feel of Muine.
- MoonMPD - A small GTK+ client written in C (still in development)
Java[]
- PMix - A MPD client for the Android platform.
- mpdgui - Substance as LAF and thumbnail view for artists/albums browser
Qt[]
- pymusicpd - A Qt4 client written in python.
- kanola - Python/KDE client for MPD.
- KuteMPC - A Qt >= 4.1 client inspired by glurp and gmpc.
- Pythagora - A client written in python using Qt4 and KDE (optional).
Other[]
- PocketPCMpdClient - A client for the pocketpc that feautures album art and kinetic scrolling.
- emphasis - A MPD client using ETK.
- mpc2x - A MPD client for the gp2x Linux handheld using the SDL multimedia library.
- pympdtouchgui - A MPD client for touchscreen use, without X, written in python.
- kea2 - An iTunes look-alike client for MacOS 10.5
- mpdplasma - a KDE4 Plasma desktop widget using the Python MPD library
Windows[]
- winmcc - A MPD client for the Siemens Simpad (Webpad).
- gmpc - Gnome Music Player Client
- MpdMsn - A windows client for displaying MPD status in MSN.
Miscellaneous[]
- lcd4linux - A mpd client based on lcd4linux (with driver serdisplib)
- MpdOnScreenInfo - Similar to mpd-osd, written in C
- mpd-osd - A simple OSD read-only client.
- MPDPSPClient - A Sony PSP client.
- mpd-show - A simple read-only, text-mode client with background as progress bar.
- pekmpd - A pekwm active menu to control MPD.
- powerTunes - A small program written in C to control MPD using powermate.
- SideCandyMPC - A gdesklet display client for MPD.
- mpdDS - A Nintendo DS / Nintendo DS Lite client.
- QuakeMPD - MPD control code for Quake-series.
- MetaMP A metadata client that stores ratings and tags in an sqlite database.
- mmpc - A Nokia N800/N810 linux tablet client (Maemo Music Player Client).
- wxsmps - mpd client implemented as a lcdproc client in C++
- MPDModule - Client for basic control in Crestron automation systems.
Plugin Clients[]
- empd - A GNU/Emacs client, currently in the deep alpha stage
- GkrellMPC - A GKrellm2 plugin to control MPD
- mpd-applet - A Gnome panel applet displaying the state of an mpd server in the panel. Including simple control and (selectable) client launch.
- mpc.el - Another Emacs client, inspired by Rhythmbox
- pidgimpris - A Pidgin plugin for monitoring an MPRIS capable media player, such as mpDris
Utility Clients[]
- MpdLIRC - A client that is designed to take input from a remote via LIRC, interpret it, and send the appropriate command to MPD.
- mpd-state - A tool similar to (in fact based on) state-utils.
- lastMPD - Fills your MPD-Playlist with help of last.fm. For example add top tracks by an artist or loved tracks from a user.
Web Clients[]
- RelaXXPlayer - PHP, AJAX player with drag and drop, custom user rights, playlist and radiostream support.
- ::phpMpReloaded::- going to be more than a collection of WebClients (currently phpMp, phpMp+, phpMp2, phpMp3, IPodMp and MPD-Web-Client are included)
- FlashMPC - a lightweight flash client.
- ajaxMP - a web interface for mpd written in PHP and AJAX with drag and drop support.
- Ampache - web-based tool for managing, updating and playing audio files, through MPD via transcoded, downsampled or standard streaming. It supports the use of MPD's database or URL method.
- Auris - the first (as far as I know) attempt to make a web-based MPD client using Ruby on Rails. Currently in a very early stage, but it does work!
- Communicast - A community driven MPD PHP frontend.
- Monocle Radio - php client that supports Icecast integration and multiple users via MySQL
- mpdCueSeek - cueSheet support and the possibillity to jump to a given position in a track.
- NeoMPC - a web based client for MPD intended to run on a small screen device such as a PDA.
- phpMp3 - web-based AJAX-driven (like gmail.com) MPD frontend.
- squitcher - php client with MySQL database backend for metadata that MPD doesn't store.
- Client:MPD WebAMP - A web based, asynchronous interface in the style of a desktop application, such as Totem or Windows Media player.
- webmpd - another try at an AJAX-driven MPD frontend.
- WyMyPy - a standalone webserver music player frontend in python, with AJAX support
- theory - self-contained Python/Pylons-based web client with some nice Ajaxy features, drag/drop playlist reordering, Amazon album art fetching, lyrics fetching, and a pretty face.
- MPCParty - A NodeJS based full featured client similar to Client175.
Orphaned Clients[]
Orphaned Clients are no longer maintained and no longer work, or the authors have stated that they no longer intend on maintaining the client.
- MythMPD - MythMPD is a simple MPD client for MythTV.
- mgc - A small GTK2 buttonbar client written in C.
- gmpc - Gnome Music Player Client - A fully featured, low on resources player.