A node.js client for MPD
Pull request Compare This branch is 4 commits ahead of ewenig:master.
Latest commit d8892e6 Jul 14, 2013 @jasperla Merge pull request #1 from sickelap/master
Error response fix



mpdsocket is a node.js client for MPD. It is loosely based on (but aims to be more usable than) robinduckett/node-mpd.



var mpdSocket = require('mpdsocket');
var mpd = new mpdSocket('localhost','6600');

mpd.on('connect',function() {
    mpd.send('status',function(r) {


  • mpdSocket.on(event,fn) adds event handlers to the net.Socket object directly.
  • mpdSocket.send(req,callback) sends a request to MPD with a callback function.

Return objects

mpdsocket parses the output from the MPD protocol into a JavaScript object. This object has three meta-attributes that mpdsocket adds:

  • _OK denotes that the request was completed successfully.
  • _error is the error returned if _OK is false.
  • _ordered_list denotes that the object is an ordered list (see section below).

Ordered lists

Some MPD commands, like listplaylists, will return an ordered list of objects. The structure of these objects looks like this:

{ '1':
    { playlist: 'playlist-1',
      'Last-Modified': '2011-03-19T06:39:44Z' },
    { playlist: 'playlist-2',
      'Last-Modified': '2011-03-19T06:41:08Z' },
  _ordered_list: true,
  _OK: true


node-mpdsocket is made available under the MIT License. A copy of the license is distributed with this software.

Copyright (c) 2011 Eli Wenig