A client library for MPD, the Music Player Daemon
Pull request Compare This branch is even with vimus:master.
Latest commit ea417b1 Aug 18, 2016 @joachifm tests/Arbitrary: fix overlapping Arbitrary (Map k v) instance
QuickCheck >= 2.8.2 defines an Arbitrary (Map k v) instance.  To work
around this while retaining backwards compat (without CPP), define a
newtype wrapper for metadata maps.

Fixes vimus#93


libmpd-haskell: a client library for MPD

Hackage Build Status


libmpd-haskell is a pure Haskell client library for MPD, the music playing daemon.



With cabal-install, do

cd libmpd-haskell && cabal install


With GHCi:

> :set -XOverloadedStrings
> import Network.MPD
> withMPD $ lsInfo ""
Right [LsDirectory "Tool", LsDirectory "Tom Waits",...]
> withMPD $ add "Tom Waits/Big Time"
Right ["Tom Waits/Big Time/01 - 16 Shells from a Thirty-Ought-Six.mp3",...]

MPD API compliance

Any deviation from the latest version of the MPD protocol reference is a bug.

Submitting bug reports

See our bug tracker. Test cases are highly appreciated.

Submitting patches

To submit a patch, use git format-patch and email the resulting file(s) to one of the developers or upload it to the bug tracker.

Alternatively you can create your own fork of the GitHub repository and send a pull request.

Well-formatted patches are appreciated. New features should have a test case.

See also

  • vimus, an MPD client with vim-like keybindings



libmpd-haskell is distributed under the MIT license.


See CONTRIBUTORS in the source distribution. Feel free to add yourself to this list if you deem it appropriate to do so.