Nutritious Pomegranate Muffins


    1.0.2 • Public • Published


    An MPD client

    yarn add working-mpd-client


    • working-mpd-client supports the command sending
    • working-mpd-client allows subscribing on the server events (i.e. status updates)
    • working-mpd-client attempts to reconnect if the connection has been interrupted


    const mpdClient = new MpdClient({
      connectOptions: {
        host: 'localhost',
        port: 6600
      reconnectOptions: {
        isUse: true,
        reconnectDelay: 2000
    }).on('error', console.error)
      .on('changed', (name) => {
        if (name === 'playlist') printPlaylist()
      .on('ready', printPlaylist)
    function printPlaylist() {
      mpdClient.sendCommand('playlist', (err, result) => {
        if (err) {
        } else {
          console.log('\nnew playlist:\n' + result)

    Information events

    • warn - a channel to notify about maintainable problems. Example: a connection has been interrupted but an attempt to reconnect will be performed. Another example: a server responded with an error to a command that did not register a callback.
    • error - a channel to notify about critical problems. Example: a connection has been interrupted and a reconnect attempt won't be performed.

    Connection events

    • ready - a connection has been established
    • disconnected - a connection has been interrupted due to a problem or as the result of a destroy method call
    • reconnecting - an attempt to recconect is in progress
    • reconnected - an attempt to reconnect succeed
    • destroyed - a client has been destroyed

    Server events

    • changed - a server reported a change

    Known changes

    • options - an option has been changed (the repeat option or the random option for example)
    • output - an audio channel has been changed
    • mixer - the volume level has been changed
    • player - the playback has been paused, resumed, or stoped
    • playlist - the playlist has been changed
    • update - a database update has been started or completed
    • database - the track database has been updated


    • init - establish a connection; ready event follows a method call
    • destroy - closes a connection and rejects all the callbacks left in the callbacks queue; disconnected and destroyed events follow a method call
    • sendCommand - sends a command to a server and calls a callback when the server responds to the command
    • sendCommandList - sends a list of commands to a server and calls a callback when the server responds to all the commands

    Ways to send a command

        .sendCommand('status', someHandler)
            cmd: 'add',
            args: 'somePath'
            cmd: 'add',
            args: ['somePath', 'anotherSomePath']
        }, someHandler)
            cmd: 'add',
            args: 'somePath'
        }, 'play'])

    MPD documention



    npm i working-mpd-client

    DownloadsWeekly Downloads






    Unpacked Size

    16.2 kB

    Total Files


    Last publish


    • nskazki