A node.js client for MPD
#2 Compare This branch is 18 commits ahead, 27 commits behind sdubois:master.
Latest commit 8b37677 Mar 28, 2011 @ewenig (minor)
Failed to load latest commit information.
.npmignore adding .npmignore Mar 19, 2011
COPYING adding MIT License Mar 26, 2011
README.md adding MIT License Mar 27, 2011
mpdsocket.js (minor) Mar 28, 2011
package.json Adding NPM data and README Mar 19, 2011



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